@nebula.js/sn-waterfall 1.0.1 → 1.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../chart-modules/common/picasso/plugins/event-area.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component.jsx","../../../../chart-modules/common/nebula/snapshot.js","../../src/object-properties.js","../../src/waterfallchart-data-definition.js","../../../../node_modules/.pnpm/qlik-object-conversion@0.16.4/node_modules/qlik-object-conversion/dist/conversion.js","../../src/waterfallchart-import-export.js","../../src/waterfallchart-qae.js","../../../../node_modules/.pnpm/qlik-chart-modules@0.79.0_@emotion+react@11.14.0_@emotion+styled@11.14.0_@mui+material@5.16.1_ubyfycvorcj6ying3t2xxpexfa/node_modules/qlik-chart-modules/dist/qlik-chart-modules.esm.js","../../../../chart-modules/common/extra/chart-style-component.js","../../src/waterfallchart-utils.js","../../src/styling-panel-property-definiton.js","../../src/waterfallchart-properties.js","../../src/ext.js","../../../../node_modules/.pnpm/qlik-chart-modules@0.67.0_@emotion+react@11.14.0_@emotion+styled@11.14.0_@mui+material@5.16.1_mmyun2v2nxq7sig64asn6av2de/node_modules/qlik-chart-modules/dist/qlik-chart-modules.esm.js","../../../../chart-modules/common/extra/class.js","../../../../chart-modules/common/extra/generate-id.js","../../../../chart-modules/common/picasso/scroll/scroll-actions.js","../../../../chart-modules/common/picasso/chart-builder/components/util/axis-dock-util.js","../../../../chart-modules/common/extra/rtl-util.js","../../../../chart-modules/common/picasso/chart-builder/components/util/ref-line-util.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/constants.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/layout-settings.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/dimension-measure-chart.js","../../../../chart-modules/common/picasso/chart-builder/scale.js","../../../../chart-modules/common/picasso/chart-builder/components/util/get-text-renderer.js","../../../../chart-modules/common/picasso/chart-builder/components/axis.js","../../../../chart-modules/common/picasso/chart-builder/components/text.js","../../../../chart-modules/common/picasso/chart-builder/components/util/range-util.js","../../../../chart-modules/common/picasso/chart-builder/layout-modes.js","../../../../chart-modules/common/picasso/chart-builder/components/labels.js","../../../../chart-modules/common/picasso/chart-builder/components/categorical-legend.js","../../../../chart-modules/common/picasso/chart-builder/chart-builder.js","../../../../chart-modules/common/picasso/chart-builder/components/box-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/point-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/scrollbar.js","../../../../chart-modules/common/picasso/chart-builder/components/lasso.js","../../../../chart-modules/common/picasso/chart-builder/components/range.js","../../../../chart-modules/common/picasso/chart-builder/components/range-area.js","../../../../chart-modules/common/picasso/chart-builder/components/sequential-legend.js","../../../../chart-modules/common/picasso/chart-builder/components/grid-line.js","../../../../chart-modules/common/picasso/chart-builder/components/interaction.js","../../../../chart-modules/common/picasso/chart-builder/components/ref-line.js","../../../../chart-modules/common/picasso/chart-builder/components/event-area.js","../../../../chart-modules/common/picasso/chart-builder/chart-presets.js","../../../../chart-modules/common/picasso/disclaimer/disclaimers-config.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-attributes-util.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component-helper.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer.js","../../../../chart-modules/common/picasso/chart-view.js","../../../../chart-modules/common/extra/css-colors.js","../../../../chart-modules/common/extra/color.js","../../../../chart-modules/common/picasso/scroll/scroll-handler.js","../../../../chart-modules/common/picasso/selections/gestures/on-component-checker.js","../../../../chart-modules/common/picasso/selections/gestures/lasso-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/measure-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/area-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/dimension-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/drag-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/navigational-button-gesture.js","../../../../chart-modules/common/picasso/selections/dependent-interactions.js","../../../../chart-modules/common/picasso/tooltip/tooltip-actions.js","../../../../chart-modules/common/picasso/formatting.js","../../../../chart-modules/common/picasso/tooltip/tooltip-content.js","../../../../chart-modules/common/picasso/tooltip/tooltips-component.js","../../../../chart-modules/common/picasso/tooltip/tooltip-renderer.jsx","../../../../chart-modules/common/picasso/tooltip/tooltips-handler.js","../../../../chart-modules/common/extra/string-util.js","../../src/waterfallchart-cube-generator-by-measures.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ascending.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/descending.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisect.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ticks.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js","../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/define.js","../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/exponent.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatRounded.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTypes.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatGroup.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTrim.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionRound.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js","../../src/waterfallchart-tick-generator.js","../../src/waterfallchart-view.js","../../src/index.js","../../../../chart-modules/common/locale/index.js","../../../../chart-modules/common/nebula/use-environment.js","../../../../chart-modules/common/picasso/picasso-setup.js","../../../../chart-modules/common/nebula/resize.js"],"sourcesContent":["export default function init(Picasso) {\n // Transparent component, placed on top of the data area and used to register event on\n Picasso.component('event-area', {\n mounted(element) {\n element.classList.add('event-area');\n element.style.pointerEvents = 'auto';\n element.style.zIndex = 1;\n },\n render() {\n const nodes = [];\n return nodes;\n },\n });\n}\n","/** @jsx h */\n\nfunction getStyle(dock, rect) {\n const style = {\n pointerEvents: 'auto',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: '#7b7a78',\n fontStyle: 'italic',\n fontSize: '13px',\n };\n\n switch (dock) {\n case 'left':\n style.width = `${rect.height}px`;\n style.transform = `rotate(-90deg) translate(-${rect.height}px, 0)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'right':\n style.width = `${rect.height}px`;\n style.transform = `rotate(90deg) translate(0, -${rect.width}px)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'center':\n style.width = `${rect.width}px`;\n style.height = `${rect.height}px`;\n style.color = '#595959';\n style.fontStyle = 'normal';\n style.fontSize = '1.2em';\n style.textAlign = 'center';\n break;\n\n default:\n case 'top':\n case 'bottom':\n style.justifyContent = 'flex-start';\n style.alignItems = 'flex-start';\n break;\n }\n return style;\n}\n\nexport default {\n renderer: 'dom',\n disableTriggers: true,\n preferredSize: function preferredSize() {\n return 22;\n },\n render(h) {\n const {\n settings: { label, rtl },\n layout: { dock },\n } = this.settings;\n const dir = (dock === 'top' || dock === 'bottom') && rtl ? 'rtl' : 'ltr';\n const style = getStyle(dock, this.rect);\n\n const modifiedLabel = dock === 'center' ? label : `* ${label}`;\n\n const spanStyle = dock !== 'center' ? { overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' } : {};\n\n return (\n <div style={style} dir={dir}>\n <span ref={this.alignToRef} style={spanStyle} title={modifiedLabel}>\n {modifiedLabel}\n </span>\n </div>\n );\n },\n};\n","import { onTakeSnapshot, useImperativeHandle } from '@nebula.js/stardust';\n\nconst setupSnapshot = (chartInstance) => {\n onTakeSnapshot((layout) => {\n if (!chartInstance) {\n return undefined;\n }\n\n return chartInstance.setSnapshotData(layout);\n });\n\n useImperativeHandle(\n () => ({\n getViewState() {\n if (!chartInstance) {\n return undefined;\n }\n return chartInstance.getViewState();\n },\n }),\n [chartInstance]\n );\n};\n\nexport default setupSnapshot;\n","/**\n * Settings for subtotal\n * @name subtotalProperties\n * @type object\n * @property {boolean} enable=false Option to add a subtotal after a measure.\n * @property {string} label='Subtotal' Label of the subtotal added after a measure.\n */\n\n/**\n * Extends `NxInlineMeasureDef`, see Engine API: `NxInlineMeasureDef`.\n * @name InlineMeasureDef\n * @type object\n * @extends NxInlineMeasureDef\n * @property {subtotalProperties} subtotal subtotal settings.\n * @property {'NORMAL'|'INVERSE'|'SUBTOTAL'} valueType='NORMAL' Measure operation.\n */\n\n/**\n * Extends `NxMeasure`, see Engine API: `NxMeasure`.\n * @name MeasureProperties\n * @type object\n * @extends NxMeasure\n * @property {InlineMeasureDef} qDef\n */\n\n/**\n * Field attributes structure.\n * @name FieldAttributes\n * @type object\n * @property {string} dec - Defines the decimal separator.\n * @property {string} Fmt - Defines the format pattern that applies to qText.\n * @property {number} nDec - Number of decimals.\n * @property {string} Thou - Defines the thousand separator (if any).\n * @property {string} Type - Type of the field.\n * @property {number} UseThou - Defines whether or not a thousands separator must be used.\n */\n\n/**\n * Color information structure. Holds the actual color and index in palette.\n * @name paletteColor\n * @type object\n * @property {string} color - Color as hex string (mandatory if index: -1)\n * @property {number} index - Index in palette\n */\n\n/**\n * Styling settings for reference line\n * @name refLineStyle\n * @type object\n * @property {number} [lineThickness=2] Set the thickness for this reference line.\n * @property {string} [lineType=''] Set the dash type for this reference line.\n */\n\n/**\n * @name refLine\n * @type object\n * @property {boolean|ValueExpression} show=true Set to true to display this reference line.\n * @property {string} label Reference line label.\n * @property {boolean} [showLabel=true] Set to true to show the label of this reference line.\n * @property {boolean} [showValue=true] Set to true to show the value of this reference line.\n * @property {paletteColor} paletteColor\n * @property {refLineStyle} [style] - Styling settings for reference line\n * @property {boolean} [coloredBackground=false] Set to true to fill the label and/or value of this reference line with this color\n */\n\n/**\n * @namespace properties\n * @entry\n */\n\nconst properties = {\n /**\n * Current version of this generic object definition.\n * @type {string}\n * @default\n */\n version: process.env.PACKAGE_VERSION,\n\n /**\n * Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.\n * @extends {HyperCubeDef}\n */\n qHyperCubeDef: {\n qDimensions: [],\n /** @type {MeasureProperties[]} */\n qMeasures: [],\n qMode: 'S',\n qInitialDataFetch: [{ qWidth: 200, qHeight: 10 }],\n qSuppressMissing: true,\n },\n /**\n * Color settings.\n * Most color options for visualizations are set in the color object in the options. You activate custom coloring by setting `\"auto\": false` which turns off auto-coloring.\n * If `\"auto\": true`, no other properties need to be defined in the color object.\n * Note: Some of the color properties are depending on which theme is currently being used.\n * @type {object}\n */\n color: {\n /**\n * Set to use automatic coloring.\n * When `\"auto\": true`, color settings are based on the visualization used and the number of dimensions\n * and measures, that is, the settings are not fixed, but are dependent on the data input.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Positive value color.\n * @type {object}\n */\n positiveValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: 6, color: null }\n */\n paletteColor: {\n index: 6,\n color: null,\n },\n },\n /**\n * Negative value color.\n * @type {object}\n */\n negativeValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#cc6677' }\n */\n paletteColor: {\n index: -1,\n color: '#cc6677',\n },\n },\n /**\n * Subtotal value color.\n * @type {object}\n */\n subtotal: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#c3c3c3' }\n */\n paletteColor: {\n index: -1,\n color: '#c3c3c3',\n },\n },\n },\n /**\n * Data point.\n * @type {object}\n */\n dataPoint: {\n /**\n * Show labels.\n * @type {boolean}\n * @default\n */\n showLabels: true,\n },\n /**\n * Dimension axis settings.\n * @type {object}\n */\n dimensionAxis: {\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Label orientation\n * @type {'auto'|'horizontal'|'tilted'}\n */\n label: 'auto',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default\n */\n show: 'labels',\n },\n /**\n * Grid lines settings.\n * @type {object}\n */\n gridlines: {\n /**\n * Automatic grid line spacing.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Grid line spacing. Used only when auto is set to false.\n * @type {0|2|3}\n * @default\n */\n spacing: 2,\n },\n /**\n * Legend settings.\n * @type {object}\n */\n legend: {\n /**\n * Sets the legend position.\n * @type {'auto'|'right'|'left'|'bottom'|'top'}\n * @default 'auto'\n */\n dock: 'auto',\n /**\n * Set to show the legend.\n * @type {boolean}\n * @default\n */\n show: true,\n },\n /**\n * Measure axis settings.\n * @type {object}\n */\n measureAxis: {\n /**\n * Automatic max/min\n * @type {boolean}\n * @default\n */\n autoMinMax: true,\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Axis max value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"max\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n max: 10,\n /**\n * Axis min value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"min\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n min: 0,\n /**\n * Set custom max/min\n * @type {'min'|'max'|'minMax'}\n * @default \"min\"\n */\n minMax: 'min',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default \"labels\"\n */\n show: 'labels',\n /**\n * Axis scale\n * @type {number}\n * @default\n */\n spacing: 1,\n },\n qDef: {\n /**\n * see Engine API: `FieldAttributes`.\n * @type {FieldAttributes=}\n */\n qNumFormat: {},\n /**\n * When enabled, the number format to use can be selected from multiple predefined formats based on the desired type (number, date).\n * @type {boolean}\n * @default\n */\n numFormatFromTemplate: true,\n /**\n * If true, the client formatting will be toggled off.\n * @type {boolean}\n * @default\n */\n isCustomFormatted: false,\n },\n /**\n * Reference lines settings\n * @type {object}\n */\n refLine: {\n /**\n * Array of measure based reference line definitions\n * @type {refLine[]}\n */\n refLines: [],\n },\n /**\n * Show title for the visualization.\n * @type {boolean=}\n * @default\n */\n showTitles: true,\n /**\n * Visualization subtitle.\n * @type {(string|StringExpression)=}\n * @default\n */\n subtitle: '',\n /**\n * Visualization title.\n * @type {(string|StringExpression)=}\n * @default\n */\n title: '',\n /**\n * Visualization footnote.\n * @type {(string|StringExpression)=}\n * @default\n */\n footnote: '',\n};\n\nexport default properties;\n","export default function data(env) {\n const { translator } = env;\n\n const dimensions = {\n min: 0,\n max: 0,\n };\n const measures = {\n min: 1,\n max: 50,\n description() {\n return translator.get('Visualizations.Descriptions.Bars');\n },\n };\n return {\n path: '/qHyperCubeDef',\n dimensions,\n measures,\n };\n}\n","!function(e,r){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=r();else if(\"function\"==typeof define&&define.amd)define([],r);else{var n=r();for(var t in n)(\"object\"==typeof exports?exports:e)[t]=n[t]}}(self,(()=>(()=>{var e={229:e=>{\"use strict\";var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString,t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===n.call(e)},a=function(e){if(!e||\"[object Object]\"!==n.call(e))return!1;var t,i=r.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!i&&!o)return!1;for(t in e);return void 0===t||r.call(e,t)},s=function(e,r){t&&\"__proto__\"===r.name?t(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},u=function(e,n){if(\"__proto__\"===n){if(!r.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var r,n,t,i,l,c,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)t=u(p,n),p!==(i=u(r,n))&&(d&&i&&(a(i)||(l=o(i)))?(l?(l=!1,c=t&&o(t)?t:[]):c=t&&a(t)?t:{},s(p,{name:n,newValue:e(d,c,i)})):void 0!==i&&s(p,{name:n,newValue:i}));return p}},645:(e,r)=>{(()=>{\"use strict\";var e={229:e=>{var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString,t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===n.call(e)},a=function(e){if(!e||\"[object Object]\"!==n.call(e))return!1;var t,i=r.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!i&&!o)return!1;for(t in e);return void 0===t||r.call(e,t)},s=function(e,r){t&&\"__proto__\"===r.name?t(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},u=function(e,n){if(\"__proto__\"===n){if(!r.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var r,n,t,i,l,c,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)t=u(p,n),p!==(i=u(r,n))&&(d&&i&&(a(i)||(l=o(i)))?(l?(l=!1,c=t&&o(t)?t:[]):c=t&&a(t)?t:{},s(p,{name:n,newValue:e(d,c,i)})):void 0!==i&&s(p,{name:n,newValue:i}));return p}}},n={};function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var i={};(()=>{t.r(i),t.d(i,{default:()=>Fe});var e=t(229),r=t.n(e);const n=function(e,r,n){if(!r)return!1;var t,i=r.split(\".\"),o=i[i.length-1],a=e;for(t=0;t<i.length-1;++t)void 0===a[i[t]]&&(a[i[t]]=Number.isNaN(+i[t+1])?{}:[]),a=a[i[t]];if(void 0!==n){var s=a[o];return a[o]=n,{updated:n,previous:s}}return delete a[o],!1},o=function(e,r,n){var t,i=r.split(\".\"),o=e;if(void 0===o)return n;for(t=0;t<i.length;++t){if(void 0===o[i[t]])return n;o=o[i[t]]}return o},a={EXPRESSIONS:{observed:\"\",trend:\"STL_Trend\",seasonal:\"STL_Seasonal\",residual:\"STL_Residual\"},OPTIONS:[{value:\"observed\",translation:\"cao.trendDecomposition.parameters.decomposition.observed\"},{value:\"trend\",translation:\"cao.trendDecomposition.parameters.decomposition.trend\"},{value:\"seasonal\",translation:\"cao.trendDecomposition.parameters.decomposition.seasonal\"},{value:\"residual\",translation:\"cao.trendDecomposition.parameters.decomposition.residual\"}]};var s=\"\".concat(\" \",\"(\").concat(\" \"),u=\"\".concat(\" \",\")\").concat(\" \");function l(e){return s+e+u}function c(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.qLibraryId){var n=function(e,r){if(!r)return null;var n,t;for(n=0;n<r.length;n++)if((t=r[n]).qInfo.qId===e)return t;return null}(e.qLibraryId,r.dimensionList);return n&&n.qData.info[0].qTags.indexOf(\"$numeric\")>-1}var t=function(e,r){if(!r)return null;var n,t,i=function(e){var r=e.trim();\"=\"===r.charAt(0)&&(r=(r=r.substring(1)).trim());var n=r.length-1;return\"[\"===r.charAt(0)&&\"]\"===r.charAt(n)&&(r=(r=r.substring(1,n)).trim()),r}(e);for(n=0;n<r.length;n++){if((t=r[n]).qName===i)return t;if(t.qDerivedFieldData)for(var o=0;o<t.qDerivedFieldData.qDerivedFieldLists.length;++o)for(var a=t.qDerivedFieldData.qDerivedFieldLists[o],s=0;s<a.qFieldDefs.length;++s){var u=a.qFieldDefs[s];if(u.qName===i)return u}}return null}(e.qDef.qFieldDefs[0],r.fieldList);return t&&t.qTags.indexOf(\"$numeric\")>-1}function p(e){return!(!e.fullAccumulation&&!e.fullRange)}function f(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"RowNo(Total)\":\"RowNo()\"}function m(e){var r=function(e){return e?(e=function(e){return e.replace(/\\/\\*[^]*?\\*\\//g,\"\")}(e=function(e){return e.replace(/\\/\\/(.*)$/gm,\"\")}(e))).trim():\"\"}(e),n=r.trim();return\"=\"===n.substring(0,1)?n.substring(1).trim():n}function d(){return\"[$(=Replace(GetObjectField(\".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,\"),']',']]'))]\")}function y(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"Above(Total \":\"Above(\"}function q(e){return void 0===e?\")\":\", 0, \".concat(e,\")\")}function b(e){return\"Replace(Replace(\".concat(e,\",'''',''''''),'$','$''&''')\")}function v(e,r){return e?\"\".concat(r,'={\">=$(=Min(').concat(r,\"))<=$(=Max(\").concat(r,'))\"}'):\"\".concat(r,'={\"=Only({1}').concat(r,\")>='$(=\").concat(b(\"MinString(\".concat(r,\")\")),\")' and Only({1}\").concat(r,\")<='$(=\").concat(b(\"MaxString(\".concat(r,\")\")),\")'\\\"}\")}function D(e){var r=e.modifier,n=void 0===r?{}:r,t=e.dimensions,i=e.dimensionAndFieldList,o=e.funcComp,a=void 0===o?\"Sum\":o,s=e.valueComp,u=void 0===s?\"0\":s;if(!n.showExcludedValues)return\"\";if(t&&1===t.length){var l=v(c(t[0],i),d(0));return\"\".concat(a,\"({1<\").concat(l,\">}\").concat(u,\")\")}if(t&&2===t.length){var p=c(t[0],i),f=c(t[1],i),m=d(0),y=d(1),q=v(p,m),b=v(f,y);return\"\".concat(a,\"({1<\").concat(q,\",\").concat(b,\">}\").concat(u,\")\")}return\"\".concat(a,\"({1}\").concat(u,\")\")}function g(e){return\"\".concat(e,\"(\")}function h(e){var r=e.properties,n=e.layout;return o(r,\"qHyperCubeDef.qDimensions\",o(n,\"qHyperCube.qDimensionInfo\",[])).length}const x={isFullRange:p,getNumDimensions:h,getExpressionWithExcludedComp:function(e){var r=e.expression,n=e.modifier,t=e.dimensions,i=e.dimensionAndFieldList,o=e.treatMissingAsNull,a=l(m(r));if(!n.showExcludedValues)return a;var s=D({modifier:n,dimensions:t,dimensionAndFieldList:i}),u=o?\"\":\", 0\";if(t&&1===t.length){var c=d(0);return\"If(Count(\".concat(c,\") > 0, \").concat(a,\" + \").concat(s).concat(u,\")\")}if(t&&2===t.length){var p=d(0),f=d(1);return\"If(Count(\".concat(p,\") * Count(\").concat(f,\") > 0, \").concat(a,\" + \").concat(s).concat(u,\")\")}return a},getRowNoComp:f,getNumStepComp:function(e,r){if(!p(e)){var n=e.steps;return\"number\"!=typeof n||Number.isNaN(n)?6:n}return f(e,r)},getAboveCompPrefix:y,getAboveCompSuffix:q,getAboveComp:function(e,r,n,t){return y(e,r)+n+q(t)},getFunctionPrefix:g,getFunctionSuffix:function(){return\")\"},getRangeComp:function(e,r){return g(e)+r+\")\"},getAggrComp:function(e,r,n){return\"Aggr(\".concat(e,\", \").concat(r,\", \").concat(n,\")\")},getExcludedComp:D,needDimension:function(e){var r=e.modifier,n=e.properties,t=e.layout,i=function(e){return void 0===e.primaryDimension?e.accumulationDimension:e.primaryDimension}(r);return 0===i&&2===h({properties:n,layout:t})},getDimComp:function(e,r){var n=function(e){return e[arguments.length>1&&void 0!==arguments[1]?arguments[1]:0].qDef.qSortCriterias[0]}(e,r),t=d(r);if(!n.qSortByExpression&&!n.qSortByNumeric&&!n.qSortByAscii)return t;var i=[\"Descending\",\"Ascending\"],o=n.qSortByNumeric?\"(Numeric, \".concat(i[(n.qSortByNumeric+1)/2],\")\"):\"\",a=n.qSortByAscii?\"(Text, \".concat(i[(n.qSortByAscii+1)/2],\")\"):\"\";return n.qSortByNumeric&&n.qSortByAscii?\"(\".concat(t,\", \").concat(o,\", \").concat(a,\")\"):n.qSortByNumeric?\"(\".concat(t,\", \").concat(o,\")\"):n.qSortByAscii?\"(\".concat(t,\", \").concat(a,\")\"):t},simplifyExpression:m,extractInputExpression:function(e){var r=e.outputExpression;if(e.modifier){var n=r.indexOf(s);if(-1!==n){var t=r.indexOf(u);if(-1!==t)return r.substring(n+s.length,t)}}},initModifier:function(e,r){Object.keys(r).forEach((function(n){void 0===e[n]&&(e[n]=r[n])}))},isNumeric:c,isApplicable:function(e){var r=e.properties,n=e.layout,t=e.minDimensions,i=void 0===t?1:t,o=e.maxDimensions,a=void 0===o?2:o;if(!r&&!n)return!0;var s=h({properties:r,layout:n});return s>=i&&s<=a},getExpressionWithMarkers:l,canExtract:function(e){var r=e.indexOf(s),n=e.indexOf(u);return r>-1&&n>-1&&r<n},getDimDefWithWrapper:d,getFieldWithWrapper:function(e){var r=e?e.replace(/]/g,\"]]\"):e;return\"[\".concat(r,\"]\")},generateTSDExpression:function(e,r,n){var t=r||e.outputExpression;if(e.base&&e.base.qDef&&(t=r!==e.base.qDef?r:e.base.qDef),\"observed\"!==e.decomposition){var i=n.qHyperCubeDef.qMeasures.find((function(r){return r.qDef.base&&r.qDef.base.qLibraryId&&e.base&&e.base.qLibraryId?r.qDef.base.qLibraryId===e.base.qLibraryId:null}));i&&r!==i.qDef.qLabel&&(t=i.qLibraryId||i.qDef.base.qLibraryId?\"[\".concat(i.qDef.qLabel,\"]\"):i.qDef.base.qDef);var o=function(e){var r=a.OPTIONS.find((function(r){return r.value===e.decomposition}));return r?a.EXPRESSIONS[r.value]:\"\"}(e);t=t.startsWith(\"=\")?t.substr(1):t,t=\"\".concat(o,\"(\").concat(t,\", \").concat(e.steps,\")\")}return t},getDecomposition:function(e){var r=\"observed\";return Object.values(a.EXPRESSIONS).find((function(n){var t=e.qDef.base.qDef.toLowerCase()||e.qDef.qDef.toLowerCase();return a.EXPRESSIONS[n]&&t.includes(a.EXPRESSIONS[n].toLowerCase())&&(r=n),n})),r}};function A(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function E(e){return E=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},E(e)}var C=r().bind(null,!0),I={},S=Array.isArray;function M(e){return null!=e&&!Array.isArray(e)&&\"object\"===E(e)}function L(e){return void 0===e}function O(e,r){return\"function\"==typeof e[r]||\"$$\"===r.substring(0,2)||\"_\"===r.substring(0,1)}function F(e,r){var n,t=r.substring(1).split(\"/\").slice(0,-1);return t.forEach((function(r,i){if(i!==t.length){n=+r;var o=Number.isNaN(n)?{}:[];e[n||r]=L(e[n||r])?o:e[r],e=e[n||r]}})),e}function P(e,r){var n=!0;if(M(e)&&M(r))return Object.keys(e).length===Object.keys(r).length&&(Object.keys(e).forEach((function(t){P(e[t],r[t])||(n=!1)})),n);if(S(e)&&S(r)){if(e.length!==r.length)return!1;for(var t=0,i=e.length;t<i;t+=1)if(!P(e[t],r[t]))return!1;return!0}return e===r}I.generate=function(e,r,n){n=n||\"\";var t=[];return Object.keys(r).forEach((function(i){var o=function(e){return e?C({},{val:e}).val:e}(r[i]),a=e[i],s=\"\".concat(n,\"/\").concat(i);P(o,a)||O(r,i)||(L(a)?t.push({op:\"add\",path:s,value:o}):M(o)&&M(a)?t=t.concat(I.generate(a,o,s)):S(o)&&S(a)?t=t.concat(function(e,r,n){var t=[],i=e.slice(),o=-1;function a(e,r,n){if(e[n]&&L(e[n].qInfo))return null;if(e[n]&&e[n].qInfo.qId===r)return n;for(var t=0,i=e.length;t<i;t+=1)if(e[t]&&e[t].qInfo.qId===r)return t;return-1}if(P(r,i))return t;if(!L(r[0])&&L(r[0].qInfo))return t.push({op:\"replace\",path:n,value:r}),t;for(var s=i.length-1;s>=0;s-=1)-1===(o=a(r,i[s].qInfo&&i[s].qInfo.qId,s))?(t.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(s)}),i.splice(s,1)):t=t.concat(I.generate(i[s],r[o],\"\".concat(n,\"/\").concat(s)));for(var u=0,l=r.length;u<l;u+=1)-1===(o=a(i,r[u].qInfo&&r[u].qInfo.qId))?(t.push({op:\"add\",path:\"\".concat(n,\"/\").concat(u),value:r[u]}),i.splice(u,0,r[u])):o!==u&&(t.push({op:\"move\",path:\"\".concat(n,\"/\").concat(u),from:\"\".concat(n,\"/\").concat(o)}),i.splice(u,0,i.splice(o,1)[0]));return t}(a,o,s)):t.push({op:\"replace\",path:\"\".concat(n,\"/\").concat(i),value:o}))})),Object.keys(e).forEach((function(i){L(r[i])&&!O(e,i)&&t.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(i)})})),t},I.apply=function(e,r){r.forEach((function(r){var n,t,i=F(e,r.path),o=r.path.split(\"/\").splice(-1)[0],a=o&&Number.isNaN(+o)?i[o]:i[+o]||i,s=r.from?r.from.split(\"/\").splice(-1)[0]:null;if(\"/\"===r.path&&(i=null,a=e),\"add\"===r.op||\"replace\"===r.op)if(S(i))\"-\"===o&&(o=i.length),i.splice(+o,\"add\"===r.op?0:1,r.value);else if(S(a)&&S(r.value)){var u,l=r.value.slice();a.length=0,(u=a).push.apply(u,function(e){if(Array.isArray(e))return A(e)}(t=l)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(t)||function(e,r){if(e){if(\"string\"==typeof e)return A(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,r):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}())}else if(M(a)&&M(r.value))n=a,Object.keys(n).forEach((function(e){Object.getOwnPropertyDescriptor(n,e).configurable&&!O(n,e)&&delete n[e]})),C(a,r.value);else{if(!i)throw new Error(\"Patchee is not an object we can patch\");i[o]=r.value}else if(\"move\"===r.op){var c=F(e,r.from);S(i)?i.splice(+o,0,c.splice(+s,1)[0]):(i[o]=c[s],delete c[s])}else\"remove\"===r.op&&(S(i)?i.splice(+o,1):delete i[o])}))},I.clone=function(e){return C({},e)},I.createPatch=function(e,r,n){var t={op:e.toLowerCase(),path:n};return\"move\"===t.op?t.from=r:void 0!==r&&(t.value=r),t},I.updateObject=function(e,r){Object.keys(e).length?I.apply(e,I.generate(e,r)):C(e,r)};const V=I,N=function(e,n,t){if(!e)return Promise.resolve();var i=V.generate(n,t);return r()(!0,n,t),i&&i.length?(i=i.map((function(e){return{qOp:e.op,qValue:JSON.stringify(e.value),qPath:e.path}})),e.applyPatches(i,!0)):Promise.resolve()};var w=\"accumulation\";function H(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===w)return n[t]}function T(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===w)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var j={type:\"accumulation\",disabled:!1,accumulationDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullAccumulation:!1,steps:6,outputExpression:\"\"};const R={translationKey:\"properties.modifier.accumulation\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,i=e.layout,a=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=a;void 0===u&&(u=x.getNumDimensions({properties:t,layout:i}));var l=o(t,\"qHyperCubeDef.qDimensions\",[]),c=x.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=x.getNumStepComp(n,u),f=x.getAboveComp(n,u,c,p),m=x.getRangeComp(\"RangeSum\",f);if(x.needDimension({modifier:n,properties:t,layout:i})){var d=x.getDimComp(l,1),y=x.getDimComp(l,0),q=x.getAggrComp(m,d,y);m=n.showExcludedValues?x.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:s,valueComp:q}):q}return m},extractInputExpression:x.extractInputExpression,initModifier:function(e){x.initModifier(e,j)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.accumulation.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(T(r,e),\".accumulationDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.accumulation.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(T(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.accumulation.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(T(r,e),\".fullAccumulation\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(T(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=H(r,e);if(n){var t=n.steps;n.steps=\"number\"!=typeof t||Number.isNaN(t)?6:Math.abs(t)}},show:function(r){var n=H(r,e);return n&&!n.fullAccumulation}},showExcludedValues:{refFn:function(r){return\"\".concat(T(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(w))return!1;var o=H(r,e);return o&&!o.disabled}};return n}};var _=\"movingAverage\";function B(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===_)return n[t]}function k(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===_)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var W={type:\"movingAverage\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullRange:!1,steps:6,outputExpression:\"\",nullSuppression:!1};const $={translationKey:\"properties.modifier.movingAverage\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r,n=e.expression,t=e.modifier,i=e.properties,a=e.layout,s=e.numDimensions,u=e.dimensionAndFieldList;if(!t)return n;var l=s;void 0===l&&(l=x.getNumDimensions({properties:i,layout:a}));var c=o(i,\"qHyperCubeDef.qDimensions\",[]),p=t.showExcludedValues&&t.nullSuppression,f=x.getExpressionWithExcludedComp({expression:n,modifier:t,dimensions:c,dimensionAndFieldList:u,treatMissingAsNull:p}),m=x.getNumStepComp(t,l),d=x.getAboveComp(t,l,f,m);if(t.nullSuppression)r=x.getRangeComp(\"RangeAvg\",d);else{var y=x.getRangeComp(\"RangeSum\",d),q=function(e,r){var n=x.getRowNoComp(e,r);if(!x.isFullRange(e)){var t=e.steps,i=\"number\"!=typeof t||Number.isNaN(t)?6:t;return\"RangeMin(\".concat(i,\", \").concat(n,\")\")}return n}(t,l);r=\"\".concat(y,\" / \").concat(q)}var b=r;if(x.needDimension({modifier:t,properties:i,layout:a})){var v=x.getDimComp(c,1),D=x.getDimComp(c,0),g=x.getAggrComp(b,v,D);b=t.showExcludedValues?x.getExcludedComp({modifier:t,dimensions:c,dimensionAndFieldList:u,funcComp:\"Only\",valueComp:g}):g}return b},extractInputExpression:x.extractInputExpression,initModifier:function(e){x.initModifier(e,W)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.movingAverage.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(k(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.movingAverage.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(k(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.movingAverage.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(k(r,e),\".fullRange\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(k(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=B(r,e);if(n){var t=n.steps;n.steps=\"number\"!=typeof t||Number.isNaN(t)?6:Math.abs(t)}},show:function(r){var n=B(r,e);return n&&!n.fullRange}},showExcludedValues:{refFn:function(r){return\"\".concat(k(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0},nullSuppression:{refFn:function(r){return\"\".concat(k(r,e),\".nullSuppression\")},type:\"boolean\",translation:r.showNull||\"properties.dimensions.showNull\",schemaIgnore:!0,defaultValue:!1,inverted:!0}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(_))return!1;var o=B(r,e);return o&&!o.disabled}};return n}};var U=\"timeSeriesDecomposition\";function G(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===U)return n[t]}function z(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===U)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var Y={type:\"timeSeriesDecomposition\",disabled:!1,decomposition:\"\",steps:2,outputExpression:\"\"};const J={translationKey:\"properties.modifier.timeSeriesDecomposition\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties;return n?x.generateTSDExpression(n,r,t):r},extractInputExpression:x.extractInputExpression,initModifier:function(e,r){x.initModifier(e,Y),\"\"===e.decomposition&&r&&(e.decomposition=x.getDecomposition(r))},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.timeSeriesDecomposition||\"properties.modifier.timeSeriesDecomposition\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{decomposition:{refFn:function(r){return\"\".concat(z(r,e),\".decomposition\")},type:\"string\",translation:r.modifierTrendDecompositionDecomposition||\"properties.modifier.trendDecomposition.decomposition\",component:\"dropdown\",schemaIgnore:!0,defaultValue:r.trendDecompositionParametersDecompositionObserved||\"cao.trendDecomposition.parameters.decomposition.observed\",options:a.OPTIONS},steps:{refFn:function(r){return\"\".concat(z(r,e),\".steps\")},type:\"integer\",translation:r.modifierTimeSeriesDecompositionPeriods||\"properties.modifier.timeSeriesDecomposition.periods\",schemaIgnore:!0,defaultValue:2,change:function(r,n){var t=G(r,e);if(t){var i=t.steps;t.steps=\"number\"!=typeof i||Number.isNaN(i)?2:Math.abs(i),n.properties.qHyperCubeDef.qMeasures=n.properties.qHyperCubeDef.qMeasures.map((function(e){return e.qDef.modifiers.map((function(e){return\"timeSeriesDecomposition\"===e.type?e.steps=i:e.steps=e.steps,e})),e}))}},show:function(r){var n=G(r,e);return n&&!n.fullRange}}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(U))return!1;var o=G(r,e);return o&&!o.disabled}};return n}};var K=\"difference\";function X(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===K)return n[t]}function Q(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===K)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var Z={type:\"difference\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,outputExpression:\"\"};const ee={translationKey:\"properties.modifier.difference\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:x.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,i=e.layout,a=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=a;void 0===u&&(u=x.getNumDimensions({properties:t,layout:i}));var l=o(t,\"qHyperCubeDef.qDimensions\",[]),c=x.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=x.getAboveComp(n,u,c),f=\"\".concat(c,\" - \").concat(p);if(x.needDimension({modifier:n,properties:t,layout:i})){var m=x.getDimComp(l,1),d=x.getDimComp(l,0),y=x.getAggrComp(f,m,d);f=n.showExcludedValues?x.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:s,funcComp:\"Only\",valueComp:y}):y}return f},initModifier:function(e){Object.keys(Z).forEach((function(r){void 0===e[r]&&(e[r]=Z[r])}))},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.difference.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(Q(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.difference.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(Q(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.difference.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},showExcludedValues:{refFn:function(r){return\"\".concat(Q(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(K))return!1;var o=X(r,e);return o&&!o.disabled}};return n}};var re=\"normalization\";function ne(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===re)return n[t]}function te(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===re)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}function ie(e,r){for(var n=0;n<e.length;n++)if(e[n].value===r)return n;return-1}var oe={type:\"normalization\",disabled:!1,primaryDimension:0,outputExpression:\"\",dimensionalScope:2,selectionScope:2};function ae(e){return 2===e?\"{1}\":\"\"}function se(e,r,n){return 1===e?\"{$<\".concat(x.getFieldWithWrapper(r),\"={'\").concat(n,\"'}>}\"):\"\"}function ue(e,r){return 0===e&&r>1||2===e?\"Total\":\"\"}function le(e,r,n){return 0===e&&r>1?\"<\".concat(x.getDimDefWithWrapper(n),\">\"):\"\"}const ce={translationKey:\"properties.modifier.normalization\",needDimension:function(){return!0},isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:x.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,i=e.layout,a=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=a;void 0===u&&(u=x.getNumDimensions({properties:t,layout:i}));var l=o(t,\"qHyperCubeDef.qDimensions\",[]),c=x.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=n.selectionScope,f=n.dimensionalScope;return function(e,r,n,t,i,o,a){var s=ae(r),u=se(r,n,t),l=\"\"===s&&\"\"===u?\"\":s||u,c=ue(i,o),p=le(i,o,a),f=function(e){for(var r=[],n=0;n<e;n++)r[n]=x.getDimDefWithWrapper(n);return r.join(\", \")}(o);return\"\".concat(e,\"/ Sum(\").concat(l,\" \").concat(c).concat(p,\" Aggr(\").concat(l,\" \").concat(e,\", \").concat(f,\"))\")}(c,p,n.field,n.value,f,u,n.primaryDimension)},initModifier:function(e){Object.keys(oe).forEach((function(r){void 0===e[r]&&(e[r]=oe[r])}))},updateModifier:function(e,r){1===(r.qDimensions?r.qDimensions.length:0)&&0===e.dimensionalScope&&(e.dimensionalScope=2)},enableTotalsFunction:function(){return!0},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.normalization.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{selectionScope:{refFn:function(r){return\"\".concat(te(r,e),\".selectionScope\")},type:\"string\",translation:r.modifierSelectionScope||\"properties.modifier.selectionScope\",title:{translation:r.modifierSelectionScopeTooltip||\"properties.modifier.selectionScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:2,options:function(n){return function(e,r,n){var t=[{value:0,translation:r.selectionScopeCurrentSelection||\"properties.modifier.selectionScope.currentSelection\"},{value:1,translation:r.selectionScopeSpecificValue||\"properties.modifier.selectionScope.selectAField\"},{value:2,translation:r.selectionScopeTotal||\"properties.modifier.selectionScope.total\"}];return t=function(e,r,n){if(1===e){var t=ie(r,0);r.splice(t,1)}return r}(ne(e,n).dimensionalScope,t),t}(n,r,e)}},field:{refFn:function(r){return\"\".concat(te(r,e),\".field\")},type:\"string\",component:\"expression-with-dropdown\",translation:\"Common.Field\",defaultValue:\"\",dropdownOnly:!0,options:function(e,r,n){return n.app.getFieldList().then((function(e){return e.map((function(e){return{label:e.qName,value:e.qName}}))}))},show:function(r){return 1===ne(r,e).selectionScope}},value:{refFn:function(r){return\"\".concat(te(r,e),\".value\")},type:\"string\",ref:\"value\",component:\"string\",translation:\"properties.value\",expression:\"optional\",show:function(r){return 1===ne(r,e).selectionScope}},dimensionalScope:{refFn:function(r){return\"\".concat(te(r,e),\".dimensionalScope\")},type:\"string\",translation:r.modifierDimensionalScope||\"properties.modifier.dimensionalScope\",title:{translation:r.modifierDimensionalScopeTooltip||\"properties.modifier.dimensionalScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:2,supportTooltip:!0,options:function(n,t){return function(e,r,n,t){var i=r.layout.qHyperCube.qDimensionInfo.length,o=[{value:0,translation:n.dimensionalScopeOneDimension||\"properties.modifier.dimensionalScope.respectOneDimension\",tooltipTranslation:n.dimensionalScopeOneDimensionTooltip||\"properties.modifier.dimensionalScope.respectOneDimension.tooltip\"},{value:1,translation:n.dimensionalScopeAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===i?\"respectAllDimensions\":\"respectDimension\"),tooltipTranslation:n.dimensionalScopeAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===i?\"respectAllDimensions\":\"respectDimension\",\".tooltip\")},{value:2,translation:n.dimensionalScopeDisregardAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===i?\"disregardAllDimensions\":\"disregardDimension\"),tooltipTranslation:n.dimensionalScopeDisregardAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===i?\"disregardAllDimensions\":\"disregardDimension\",\".tooltip\")}];return o=function(e,r,n){if(e<2){var t=ie(r,0);r.splice(t,1)}return r}(i,o),o=function(e,r,n){if(0===e){var t=ie(r,1);r.splice(t,1)}return r}(ne(e,t).selectionScope,o),o}(n,t,r,e)}},primaryDimension:{refFn:function(r){return\"\".concat(te(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.normalization.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(r,n){return 0===(ne(r,e).dimensionalScope||0)&&n.layout.qHyperCube.qDimensionInfo.length>1}}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(re))return!1;var o=ne(r,e);return o&&!o.disabled}};return n},getDisregardSelectionComp:ae,getFieldSelectionComp:se,getTotalComp:ue,getSelectedDimComp:le};var pe=\"qDef.base\",fe=\"qDef.qDef\",me=\"qDef.base.qDef\",de=\"qLibraryId\",ye=\"qDef.base.qLibraryId\";const qe={getExpression:function(e){var r=o(e,me);return void 0!==r?r:o(e,fe)},getExpressionRef:function(e){return void 0!==o(e,me)?me:fe},getLibraryIdRef:function(e){return o(e,ye)?ye:de},getLibraryId:function(e){return o(e,ye)||o(e,de)},getLabelRef:function(e){return o(e,pe)?\"qDef.base.qLabel\":\"qDef.qLabel\"},getLabelExpressionRef:function(e){return o(e,pe)?\"qDef.base.qLabelExpression\":\"qDef.qLabelExpression\"}};var be=\"qDef.qDef\",ve=\"qDef.base.qDef\",De=\"qLibraryId\",ge=\"qDef.base.qLibraryId\",he=\"qDef.qLabel\",xe=\"qDef.qLabelExpression\",Ae=\"qDef.base.qLabel\",Ee=\"qDef.base.qLabelExpression\",Ce=\"qDef.qAggrFunc\",Ie=\"qDef.base.qAggrFunc\",Se={initBase:function(e,r){(r||Se.isValid(e))&&(n(e,ve,o(e,be)),n(e,ge,o(e,De)),n(e,Ae,o(e,he)),n(e,Ee,o(e,xe)))},restoreBase:function(e){Se.isValid(e)&&(n(e,be,o(e,ve)),n(e,De,o(e,ge)),n(e,he,o(e,Ae)),n(e,xe,o(e,Ee)),o(e,Ce)&&o(e,Ie)&&n(e,Ce,o(e,Ie)),delete e.qDef.base)},isValid:function(e){var r=o(e,ve),n=o(e,ge);return void 0!==r||void 0!==n}};const Me=Se;function Le(e){return Le=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Le(e)}var Oe={accumulation:R,movingAverage:$,difference:ee,normalization:ce,timeSeriesDecomposition:J};const Fe={modifiers:Oe,apply:Ve,applyModifiers:Ne,cleanUpMeasure:we,destroy:function(e){e&&Pe[e.id]&&Pe[e.id].masterItemSubscriber&&(Pe[e.id].masterItemSubscriber&&Pe[e.id].masterItemSubscriber.unsubscribe(),delete Pe[e.id])},hasActiveModifiers:He,getActiveModifier:Te,initBase:Me.initBase,isSupportedModifiers:function(e){return Array.isArray(e)&&e.some((function(e){return Oe[e]}))},isApplicableSupportedModifiers:function(e){var r=e.modifierTypes,n=e.properties,t=e.layout;return Array.isArray(r)&&r.some((function(e){return Oe[e]&&Oe[e].isApplicable({properties:n,layout:t})}))},measureBase:qe,limitedSorting:function(e){var r=e.measures,n=e.properties,t=e.layout,i=!1,o=!1;return r.forEach((function(e){var r=_e(e);ze({modifiers:r,properties:n,layout:t})&&(i=!0,o=o||Qe({modifiers:r,properties:n,layout:t}))})),i&&!o},ifEnableTotalsFunction:je};var Pe={};function Ve(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.model,t=e.properties,i=e.isSnapshot,a=void 0!==i&&i,s=e.masterItem,u=!1;Pe[n.id]=Pe[n.id]||{isFirstTime:!0};var l=Pe[n.id].isFirstTime;if(Pe[n.id].isFirstTime=!1,t&&\"object\"===Le(t))return Ne({model:n,properties:t});var c=n?n.layout:void 0,p=o(c,\"qSelectionInfo.qInSelections\");if(a||p)return Promise.resolve(u);var f=o(c,\"qHyperCube.qMeasureInfo\"),m=Pe[n.id].lastReloadTime;if(Pe[n.id].lastReloadTime=o(n,\"app.layout.qLastReloadTime\"),He({measures:f,layout:c})){var d=function(e){var r=e.measures,n=e.layout,t=e.lastReloadTime;return o(e.model,\"app.layout.qLastReloadTime\")!==t&&function(e){var r=e.measures,n=e.properties,t=e.layout;return!!Array.isArray(r)&&r.some((function(e){return Ge({measure:e,properties:n,layout:t})}))}({measures:r,layout:n})}({measures:f,layout:c,model:n,lastReloadTime:m});return d||function(e){var r=e.measures,n=e.layout,t=e.masterItem,i=e.isFirstTime;return!!Array.isArray(r)&&(i||t||r.some((function(e){return function(e){var r=e.measure,n=e.layout;return ze({modifiers:_e(r),layout:n})?!r.base:!!r.base}({measure:e,layout:n})})))}({measures:f,layout:c,masterItem:s,isFirstTime:l})?n.getEffectiveProperties().then((function(e){var t=r()(!0,{},e);ke(t);var i=Ze(t);return Ye({model:n}).then((function(r){return Je({libraryIds:i,model:n}).then((function(i){return d&&function(e){var r=e.properties;Re(r).forEach((function(e){return function(e){var r=e.measure;if(Ge({measure:r,properties:e.properties})){var n=0,t=r.qDef.modifiers;Array.isArray(t)&&t.forEach((function(e){if(\"object\"===Le(e)&&!e.disabled){if(n++,\"object\"!==Le(Oe[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(n>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");var t=Oe[e.type].extractInputExpression({outputExpression:r.qDef.qDef,modifier:e});void 0!==t&&$e(r)&&x.simplifyExpression(r.qDef.base.qDef)!==x.simplifyExpression(t)&&(r.qDef.base.qDef=t)}}))}}({measure:e,properties:r})}))}({properties:t}),Ne({model:n,oldProperties:e,properties:t,runUpdateIfChange:!0,masterItem:s,libraryItemsProps:i,dimensionAndFieldList:r})}))}))})):Promise.resolve(u)}return function(e){return!!Array.isArray(e)&&e.some((function(e){return\"object\"===Le(e.base)}))}(f)?n.getEffectiveProperties().then((function(e){return function(e){var n=e.model,t=e.properties,i=Ze(t);return er({model:n,libraryIds:i}).then((function(){var e=r()(!0,{},t);return Re(t).forEach((function(e){return we(e)})),Xe({oldProperties:e,newProperties:t,model:n})}))}({model:n,properties:e})})):Promise.resolve(u)}function Ne(e){var n=e.model,t=e.oldProperties,i=e.properties,a=e.measures,s=e.runUpdateIfChange,u=void 0!==s&&s,l=e.masterItem,c=e.libraryItemsProps,p=e.dimensionAndFieldList;void 0===t&&(t=u?r()(!0,{},i):i),ke(i);var f=Ze(i);return er({model:n,libraryIds:f,masterItem:l}).then((function(){return function(e){var n=e.measures,t=e.properties,i=e.model,a=e.libraryItemsProps,s=e.dimensionAndFieldList;if(n||(n=Re(t)),!n.length)return Promise.resolve();if(!He({measures:n,properties:t}))return n.forEach((function(e){return we(e)})),Promise.resolve();var u=a?void 0:Ze(t);return Ye({model:i,dimensionAndFieldList:s}).then((function(e){return Je({libraryIds:u,model:i,libraryItemsProps:a}).then((function(i){n.forEach((function(n){ze({modifiers:n.qDef.modifiers,properties:t})?(function(e){var n=e.measure,t=e.properties,i=e.libraryItemsProps,a=e.dimensionAndFieldList,s=0;Me.isValid(n)||Me.initBase(n,!0);var u=n.qDef,l=u.modifiers,c=u.base;Array.isArray(l)&&l.forEach((function(e){if(\"object\"===Le(e)&&!e.disabled){if(s++,\"object\"!==Le(Oe[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(s>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");Oe[e.type].initModifier(e,n);var u=n.qLibraryId||c&&c.qLibraryId;u?function(e){var n=e.measure,t=e.modifier,i=e.properties,o=e.dimensionAndFieldList,a=e.libraryItemsProps[e.libraryId],s=a.qMeasure.qDef,u=\"\"===s?s:Oe[t.type].generateExpression({expression:s,modifier:t,properties:i,dimensionAndFieldList:o});t.outputExpression=u,n.qDef.qDef=t.outputExpression,(n.qDef.qLabel||a.qMeasure.qLabel)&&(n.qDef.qLabel=a.qMeasure.qLabel),(n.qDef.qLabelExpression||a.qMeasure.qLabelExpression)&&(n.qDef.qLabelExpression=a.qMeasure.qLabelExpression),n.qDef.quarantine&&n.qDef.quarantine.qNumFormat&&a.qMeasure.qNumFormat&&(n.qDef.qNumFormat=a.qMeasure.qNumFormat,n.qDef.isCustomFormatted=a.qMeasure.isCustomFormatted),delete n.qLibraryId,n.qDef.coloring=a.qMeasure.coloring,t.base=r()(!0,{},n.qDef.base)}({measure:n,modifier:e,libraryId:u,properties:t,libraryItemsProps:i,dimensionAndFieldList:a}):function(e){var n=e.measure,t=e.modifier,i=e.properties,o=e.dimensionAndFieldList;\"function\"==typeof Oe[t.type].updateModifier&&Oe[t.type].updateModifier(t,i.qHyperCubeDef);var a=qe.getExpression(n),s=\"\"===a?a:Oe[t.type].generateExpression({expression:a,modifier:t,properties:i,dimensionAndFieldList:o});t.outputExpression=s,n.qDef.qDef=t.outputExpression,n.qDef.base.qLabelExpression?n.qDef.qLabelExpression=n.qDef.base.qLabelExpression:n.qDef.qLabel=n.qDef.base.qLabel||a,t.base=r()(!0,{},n.qDef.base)}({measure:n,modifier:e,properties:t,dimensionAndFieldList:a}),function(e){var r=o(e,\"qDef.qAggrFunc\");\"Expr\"!==r||je(e)?\"None\"!==r?delete e.qDef.base.qAggrFunc:\"None\"===r&&je(e)&&\"Expr\"===e.qDef.base.qAggrFunc&&(e.qDef.qAggrFunc=\"Expr\",delete e.qDef.base.qAggrFunc):(e.qDef.qAggrFunc=\"None\",e.qDef.base.qAggrFunc=\"Expr\")}(n)}}))}({measure:n,properties:t,libraryItemsProps:i,dimensionAndFieldList:e}),We(n)):we(n)}))}))}))}({measures:a,properties:i,model:n,libraryItemsProps:c,dimensionAndFieldList:p}).then((function(){return u?Xe({oldProperties:t,newProperties:i,model:n}):Promise.resolve(!1)}))}))}function we(e){!function(e){var r=_e(e);return Array.isArray(r)&&r.some((function(e){return\"object\"===Le(e)&&!e.disabled&&!Oe[e.type]}))}(e)?Me.restoreBase(e):delete e.qDef.base,e.qDef.coloring&&delete e.qDef.coloring,We(e)}function He(e){var r=e.measures,n=e.properties,t=e.layout;return!!Array.isArray(r)&&r.some((function(e){return ze({modifiers:_e(e),properties:n,layout:t})}))}function Te(e){var r=_e(e);if(Array.isArray(r))for(var n=0;n<r.length;n++){var t=r[n];if(Oe[t.type]&&!t.disabled)return t}}function je(e){var r=Te(e);return!r||Oe[r.type].enableTotalsFunction(e)}function Re(e){return o(e,\"qHyperCubeDef.qMeasures\",[]).concat(o(e,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\",[]))}function _e(e){return e.modifiers||e.qDef&&e.qDef.modifiers}function Be(e){return o(e,\"outputExpression.qValueExpression.qExpr\")||o(e,\"outputExpression\")}function ke(e){Re(e).forEach((function(e){return function(e){var n=Te(e);n&&(void 0!==n.outputExpression&&Be(n)!==e.qDef.qDef?delete e.qDef.base:!Me.isValid(e)&&n.base&&(e.qDef.base=r()(!0,{},n.base)))}(e)}))}function We(e){var r=_e(e);Array.isArray(r)&&r.forEach((function(r){\"object\"===Le(r)&&(r.disabled||!Oe[r.type]&&Be(r)!==e.qDef.qDef)&&(r.disabled=!0,delete r.base)}))}function $e(e){return e.base||e.qDef&&e.qDef.base}function Ue(e){var r=$e(e);return e.qLibraryId||r&&r.qLibraryId}function Ge(e){var r=e.measure,n=e.properties,t=e.layout;return!Ue(r)&&ze({modifiers:_e(r),properties:n,layout:t})}function ze(e){var r=e.modifiers,n=e.properties,t=e.layout,i={};return Array.isArray(r)&&r.some((function(e){return!(\"object\"!==Le(e)||e.disabled||!Oe[e.type])&&(void 0===i[e.type]&&(i[e.type]=Oe[e.type].isApplicable({properties:n,layout:t})),i[e.type])}))}function Ye(e){var r=e.model,n=e.dimensionAndFieldList;if(n)return Promise.resolve(n);var t=[],i={},o=r.app.getDimensionList().then((function(e){i.dimensionList=e}));t.push(o);var a=r.app.getFieldList().then((function(e){i.fieldList=e}));return t.push(a),Promise.all(t).then((function(){return i}))}function Je(e){var r=e.libraryIds,n=e.model,t=e.libraryItemsProps;if(t)return Promise.resolve(t);var i=r.measureLibraryIds,o=r.dimensionLibraryIds,a={},s=[];return i.forEach((function(e){var r=n.app.getMeasure(e).then((function(r){return r.getProperties().then((function(r){a[e]=r}))}));s.push(r)})),o.forEach((function(e){var r=n.app.getDimension(e).then((function(r){return r.getProperties().then((function(r){a[e]=r}))}));s.push(r)})),Promise.all(s).then((function(){return a}))}function Ke(e,r){if(\"\"!==r||-1===[\"qFmt\",\"qDec\",\"qThou\"].indexOf(e))return r}function Xe(e){var r=e.oldProperties,n=e.newProperties,t=e.model,i=JSON.stringify(o(r,\"qHyperCubeDef.qMeasures\"),Ke)!==JSON.stringify(o(n,\"qHyperCubeDef.qMeasures\"),Ke)||JSON.stringify(o(r,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),Ke)!==JSON.stringify(o(n,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),Ke);return i?function(e){var r=e.model,n=e.oldProperties,t=e.newProperties,i=r.layout;return i&&!i.qHasSoftPatches&&!i.qExtendsId&&o(i,\"qMeta.privileges\",[]).indexOf(\"update\")>-1?r.setProperties(t):N(r,n,t)}({model:t,oldProperties:r,newProperties:n}).then((function(){return i})):Promise.resolve(i)}function Qe(e){var r=e.modifiers,n=e.properties,t=e.layout;return Array.isArray(r)&&r.some((function(e){return\"object\"===Le(e)&&!e.disabled&&Oe[e.type]&&Oe[e.type].needDimension({modifier:e,properties:n,layout:t})}))}function Ze(e){var r=Re(e),n=[],t=[],i=!1;return r.forEach((function(r){var t=_e(r);if(ze({modifiers:t,properties:e})){var o=Ue(r);o&&n.push(o),i=i||Qe({modifiers:t,properties:e})}})),o(e,\"qHyperCubeDef.qDimensions\",[]).forEach((function(e){var r=e.qLibraryId;r&&t.push(r)})),{measureLibraryIds:n,dimensionLibraryIds:t}}function er(e){var r=e.model,n=e.libraryIds;return!e.masterItem&&n&&(n.measureLibraryIds.length||n.dimensionLibraryIds.length)?(Pe[r.id].masterItemSubscriber=Pe[r.id].masterItemSubscriber||function(e){var r=e.model,n=e.callback,t={},i={},a={},s={dimension:[\"qDim.qFieldDefs\"],measure:[\"qMeasure.qDef\",\"qMeasure.qLabel\",\"qMeasure.qLabelExpression\",\"qMeasure.coloring\",\"qMeasure.qNumFormat\",\"qMeasure.isCustomFormatted\"]};function u(e){var r={},n=o(e,\"qInfo.qType\");return n&&s[n]&&s[n].forEach((function(n){r[n]=o(e,n)})),JSON.stringify(r)}function l(e){var r=e.qInfo.qId;if(t[r]){var i=u(e);t[r].properties!==i&&(t[r].properties=i,\"function\"==typeof n&&t[r].enabled&&n(e)),t[r].enabled=!0}}function c(e,n){return r.app[n](e).then((function(r){t[e]={listener:r.layoutSubscribe(l),enabled:!1,properties:u(r.layout)}}))}return{subscribe:function(e){var n=e.measureLibraryIds,o=e.dimensionLibraryIds,s=[];return function(e){var r=e.dimensionLibraryIds;i={},e.measureLibraryIds.forEach((function(e){i[e]=!0})),a={},r.forEach((function(e){a[e]=!0}))}({measureLibraryIds:n,dimensionLibraryIds:o}),Object.keys(t).forEach((function(e){i[e]||a[e]||(t[e].listener.dispose(),delete t[e])})),r.app&&(Object.keys(i).forEach((function(e){i[e]&&!t[e]&&s.push(c(e,\"getMeasure\"))})),Object.keys(a).forEach((function(e){a[e]&&!t[e]&&s.push(c(e,\"getDimension\"))}))),Promise.all(s)},unsubscribe:function(){Object.keys(t).forEach((function(e){t[e].listener.dispose()})),t={}}}}({model:r,callback:function(e){return Ve({model:r,masterItem:e}).then((function(){return r.app.clearUndoBuffer()}))}}),Pe[r.id].masterItemSubscriber.subscribe(n)):Promise.resolve()}})(),r.default=i.default,Object.defineProperty(r,\"__esModule\",{value:!0})})()}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var o=r[t]={exports:{}};return e[t](o,o.exports,n),o.exports}n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);var t={};return(()=>{\"use strict\";function e(r){var n,t=r;return t>9?(n=65+t-10)>90&&(n+=6):t=\"\".concat(t).charCodeAt(0),[48,111,79,105,73,108].indexOf(n)>-1?e(t+1):String.fromCharCode(n)}function r(n){var t=e(n%62),i=Math.floor(n/62);return i>0?r(i)+t:t}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}n.d(t,{default:()=>ke});const o={getValue:function(e,r,n){if(null==e||null==r)return n;for(var t=r.split(\".\"),i=e,o=0;o<t.length;++o){var a=t[o];if(\"\"!==a){if(void 0===i[a]||null===i[a])return n;i=i[a]}}return i},setValue:function(e,r,n){if(null!=e&&null!=r){for(var t=r.split(\".\"),i=t[t.length-1],o=e,a=0;a<t.length-1;++a){var s=t[a];void 0!==o[s]&&null!==o[s]||(o[s]=Number.isNaN(+t[a+1])?{}:[]),o=o[s]}void 0!==n?o[i]=n:delete o[i]}},isEmpty:function(e){return 0===Object.keys(e).length&&e.constructor===Object},isAtomicValue:function(e){return/boolean|number|string/.test(i(e))},generateId:function(){return r(Math.round(99e11*Math.random()+1e11)).replace(/\\W/g,\"\")}};function a(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,r){if(e){if(\"string\"==typeof e)return s(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,r):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function s(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function u(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,r){if(e){if(\"string\"==typeof e)return l(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,r):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function c(e,r,n){if(e){for(var t=0;t<e.length;t++)if(e[t][r]===n)return t;return-1}return-1}const p={isOrderedSubset:function(e,r){if(!(e&&r&&e.length&&r.length))return!1;var n=e.indexOf(r[0]);if(-1!==n){for(var t=0;t<r.length;t++){var i=e.indexOf(r[t]);if(n>i)return!1;n=i}return!0}return!1},indexAdded:function(e,r){var n;for(n=0;n<e.length;++n)e[n]>=0&&e[n]>=r&&++e[n];e.push(r)},indexRemoved:function(e,r){var n,t=0;for(n=0;n<e.length;++n)e[n]>r?--e[n]:e[n]===r&&(t=n);return e.splice(t,1),t},findItemByPropertyValue:function(e,r,n){if(e){for(var t=0;t<e.length;t++)if(e[t][r]===n)return e[t];return null}return null},findIndexByPropertyValue:c};var f=n(645),m=n.n(f);const d=function(e){var r,n=e.exportFormat,t=e.qHyperCubeDef,i=n.data[0];(r=i.dimensions).push.apply(r,a(t.qDimensions));var s,u=o.getValue(t,\"qLayoutExclude.qHyperCubeDef.qDimensions\");u&&(s=i.excludedDimensions).push.apply(s,a(u))},y=function(e){var r,n=e.exportFormat,t=e.qHyperCubeDef,i=n.data[0];(r=i.measures).push.apply(r,u(t.qMeasures));var a,s=o.getValue(t,\"qLayoutExclude.qHyperCubeDef.qMeasures\");s&&(a=i.excludedMeasures).push.apply(a,u(s))},q=function(e){var r=e.exportFormat,n=e.qHyperCubeDef,t=r.data[0];n.qInterColumnSortOrder||(n.qInterColumnSortOrder=[]),t.interColumnSortOrder=n.qInterColumnSortOrder.concat();var i=o.getValue(n,\"qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder\");i&&p.isOrderedSubset(i,t.interColumnSortOrder)&&(t.interColumnSortOrder=i.concat())},b=function(e){var r=e.exportFormat,n=e.properties;Object.keys(n).forEach((function(e){r.properties[e]=n[e]}))},v=function(e){var r=e.exportFormat,n=e.properties;n.qLayoutExclude||(n.qLayoutExclude={}),n.qLayoutExclude.disabled&&(Object.keys(n.qLayoutExclude.disabled).forEach((function(e){r.properties.hasOwnProperty(e)||(r.properties[e]=n.qLayoutExclude.disabled[e])})),delete n.qLayoutExclude.disabled),n.qLayoutExclude.changed&&(function(e){Object.keys(e.qLayoutExclude.changed).forEach((function(r){e.qLayoutExclude.changed[r].to===o.getValue(e,r)&&o.setValue(e,r,e.qLayoutExclude.changed[r].from)}))}(n),delete n.qLayoutExclude.changed),n.qLayoutExclude.quarantine&&!o.isEmpty(n.qLayoutExclude.quarantine)||delete n.qLayoutExclude},D=function(e){e.forEach((function(e){m().cleanUpMeasure(e),e.qDef.modifiers&&(e.store={modifiers:e.qDef.modifiers},delete e.qDef.modifiers)}))};function g(e,r,n){var t,i,a=o.getValue(e,r);if(!o.isAtomicValue(a))try{if((i=(i=(t=JSON.stringify(a)).match(/:\\{/g))?i.length:0)>2)return;a=JSON.parse(t)}catch(e){return}o.getValue(e,\"qLayoutExclude.quarantine\")||o.setValue(e,\"qLayoutExclude.quarantine\",{});var s=o.getValue(e,\"qLayoutExclude.quarantine\");s[n]||(s[n]={}),s[n][r]=a}var h=n(229),x=n.n(h);function A(e,r){var n=x()(!0,{},r,e);return o.getValue(n,\"qOtherTotalSpec.qOtherCounted\")||o.setValue(n,\"qOtherTotalSpec.qOtherCounted\",{qv:\"10\"}),o.getValue(n,\"qOtherTotalSpec.qOtherLimit\")||o.setValue(n,\"qOtherTotalSpec.qOtherLimit\",{qv:\"0\"}),n.hasOwnProperty(\"othersLabel\")||(n.othersLabel=\"Others\"),n}function E(e,r){return x()(!0,{},r,e)}function C(e,r,n){return\"function\"==typeof e?e(r):Number.isNaN(+e)?n:e}var I=Math.pow(2,53)-1;function S(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function M(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}const L=function(e,r,n){var t=\"masterobject\"===o.getValue(r,\"properties.qInfo.qType\")?\"masterobject\":o.getValue(n,\"qInfo.qType\");o.setValue(e,\"qInfo.qType\",t),e.visualization=n.visualization},O=function(e,r,n){r.hasOwnProperty(e)&&(n[e]=r[e])},F=function(e,r,n,t){r.hasOwnProperty(e)?n[e]=r[e]:n[e]=t},P=function(){return{qDef:{autoSort:!0,cId:\"\",othersLabel:\"Others\"},qLibraryId:\"\",qNullSuppression:!1,qOtherLabel:\"Others\",qOtherTotalSpec:{qOtherLimitMode:\"OTHER_GE_LIMIT\",qOtherMode:\"OTHER_OFF\",qOtherSortMode:\"OTHER_SORT_DESCENDING\",qSuppressOther:!1}}},V=function(){return{qDef:{autoSort:!0,cId:\"\",numFormatFromTemplate:!0},qLibraryId:\"\",qTrendLines:[]}},N=function(e){var r,n=e.exportFormat,t=e.maxDimensions,i=e.minDimensions,o=e.newHyperCubeDef,a=e.defaultDimension,s=n.data[0];for(r=0;r<s.dimensions.length;++r){var u=A(s.dimensions[r],a);o.qDimensions.length<t?o.qDimensions.push(u):o.qLayoutExclude.qHyperCubeDef.qDimensions.push(u)}for(r=0;r<s.excludedDimensions.length;++r){var l=A(s.excludedDimensions[r],a);o.qDimensions.length<i?o.qDimensions.push(l):o.qLayoutExclude.qHyperCubeDef.qDimensions.push(l)}},w=function(e){var r,n=e.exportFormat,t=e.maxMeasures,i=e.minMeasures,o=e.newHyperCubeDef,a=e.defaultMeasure,s=n.data[0];for(r=0;r<s.measures.length;++r){var u=E(s.measures[r],a);o.qMeasures.length<t?o.qMeasures.push(u):o.qLayoutExclude.qHyperCubeDef.qMeasures.push(u)}for(r=0;r<s.excludedMeasures.length;++r){var l=E(s.excludedMeasures[r],a);o.qMeasures.length<i?o.qMeasures.push(l):o.qLayoutExclude.qHyperCubeDef.qMeasures.push(l)}},H=function(e){var r=e.exportFormat,n=e.dataDefinition,t=void 0===n?{}:n,i=r.data[0],o=t.dimensions||{max:0},a=t.measures||{max:0},s=C(a.max,i.dimensions.length,I),u=C(a.min,i.dimensions.length,0);return{maxDimensions:C(o.max,s,I),minDimensions:C(o.min,u,0),maxMeasures:s,minMeasures:u}},T=function(e){var r=e.exportFormat,n=e.newHyperCubeDef,t=r.data[0],i=n.qDimensions.length+n.qMeasures.length;n.qInterColumnSortOrder=t.interColumnSortOrder.concat();var o=n.qInterColumnSortOrder.length;if(o!==i)for(n.qLayoutExclude&&(n.qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder=t.interColumnSortOrder.concat());o!==i;)o<i?(p.indexAdded(n.qInterColumnSortOrder,o),++o):(--o,p.indexRemoved(n.qInterColumnSortOrder,o))},j=function(e){var r=e.exportFormat,n=e.initialProperties,t=e.hypercubePath,i={qLayoutExclude:{disabled:{},quarantine:{}}};return Object.keys(r.properties).forEach((function(e){\"qLayoutExclude\"===e?r.properties[e].quarantine&&(i.qLayoutExclude.quarantine=x()(!0,{},r.properties[e].quarantine)):\"qHyperCubeDef\"===e&&t?o.setValue(i,\"\".concat(t,\".qHyperCubeDef\"),r.properties.qHyperCubeDef):n.hasOwnProperty(e)||-1!==[\"qMetaDef\",\"descriptionExpression\",\"labelExpression\"].indexOf(e)||function(e,r){return\"components\"===r&&Array.isArray(e[r])&&e[r].some((function(e){return\"general\"===e.key}))}(r.properties,e)?i[e]=r.properties[e]:i.qLayoutExclude.disabled[e]=r.properties[e]})),null===(i=x()(!0,{},n,i)).components&&(i.components=[]),i},R=function(e){var r=e.exportFormat,n=e.maxDimensions,t=e.minDimensions,i=e.maxMeasures,o=e.minMeasures,a=r.data[0];return a.dimensions.length>n&&n>0||a.measures.length>i&&i>0||a.excludedDimensions.length>0&&a.dimensions.length+a.excludedDimensions.length>t||a.excludedMeasures.length>0&&a.measures.length+a.excludedMeasures.length>o||!i&&a.measures.length>0||!n&&a.dimensions.length>0},_=function(e){var r=e.exportFormat,n=e.maxDimensions,t=e.minDimensions,i=e.maxMeasures,o=e.minMeasures,a=e.newHyperCubeDef,s=r.data[0];a.qLayoutExclude||(a.qLayoutExclude={}),a.qLayoutExclude.qHyperCubeDef||(a.qLayoutExclude.qHyperCubeDef={}),(s.dimensions.length>n&&n>0||s.excludedDimensions&&s.excludedDimensions.length&&s.dimensions.length+s.excludedDimensions.length>t)&&(a.qLayoutExclude.qHyperCubeDef.qDimensions||(a.qLayoutExclude.qHyperCubeDef.qDimensions=[])),(s.measures.length>i&&i>0||s.excludedMeasures&&s.excludedMeasures.length&&s.measures.length+s.excludedMeasures.length>o)&&(a.qLayoutExclude.qHyperCubeDef.qMeasures||(a.qLayoutExclude.qHyperCubeDef.qMeasures=[])),!i&&s.measures.length&&(a.qLayoutExclude.qHyperCubeDef.qMeasures||(a.qLayoutExclude.qHyperCubeDef.qMeasures=[])),!n&&s.dimensions.length&&(a.qLayoutExclude.qHyperCubeDef.qDimensions||(a.qLayoutExclude.qHyperCubeDef.qDimensions=[]))},B=function(e){var r,n=e.newProperties,t=e.dataDefinition,i=e.hypercubePath;if(t.dimensions&&\"function\"==typeof t.dimensions.added){var a=o.getValue(n,i||\"\").qHyperCubeDef,s=function(e){if(Array.isArray(e))return S(e)}(r=a.qDimensions)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(r)||function(e,r){if(e){if(\"string\"==typeof e)return S(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?S(e,r):void 0}}(r)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}();a.qDimensions=[],s.forEach((function(e){a.qDimensions.push(e),t.dimensions.added(e,n)}))}},k=function(e){var r,n=e.newProperties,t=e.dataDefinition,i=e.hypercubePath;if(t.measures&&\"function\"==typeof t.measures.added){var a=o.getValue(n,i||\"\").qHyperCubeDef,s=function(e){if(Array.isArray(e))return M(e)}(r=a.qMeasures)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(r)||function(e,r){if(e){if(\"string\"==typeof e)return M(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,r):void 0}}(r)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}();a.qMeasures=[],s.forEach((function(e){a.qMeasures.push(e),t.measures.added(e,n)}))}},W=function(e){var r=e.measures,n=e.modifierTypes;r&&n&&m().isSupportedModifiers(n)&&r.forEach((function(e){e.store&&e.store.modifiers&&(e.qDef.modifiers=e.store.modifiers),delete e.store}))};function $(e,r){var n=o.getValue(e,\"qLayoutExclude.quarantine\",{})[r];return!!n&&(Object.keys(n).forEach((function(r){o.setValue(e,r,n[r])})),delete e.qLayoutExclude.quarantine[r],!0)}const U={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,i=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r={data:[],properties:{}},n=0;n<e;++n)r.data.push({dimensions:[],measures:[],excludedDimensions:[],excludedMeasures:[],interColumnSortOrder:[]});return r}(),a=r.qProperty,s=o.getValue(a,n||\"\"),u=s.qHyperCubeDef;return u.qInterColumnSortOrder||(u.qInterColumnSortOrder=[]),d({exportFormat:i,qHyperCubeDef:u}),y({exportFormat:i,qHyperCubeDef:u}),q({exportFormat:i,qHyperCubeDef:u}),delete u.qLayoutExclude,b({exportFormat:i,properties:a}),n&&(i.properties.qHyperCubeDef=u,delete s.qHyperCubeDef),v({exportFormat:i,properties:a}),t||D(i.properties.qHyperCubeDef.qMeasures),Array.isArray(i.properties.filters)&&(g(i.properties,\"filters\",\"storedFilters\"),delete i.properties.filters),i.properties.qHyperCubeDef.qContextSetExpression&&(g(i.properties,\"qHyperCubeDef.qContextSetExpression\",\"storedFilters\"),i.properties.qHyperCubeDef.qContextSetExpression=\"\"),i.properties.qHyperCubeDef.qDynamicScript&&i.properties.qHyperCubeDef.qDynamicScript.length&&(g(i.properties,\"qHyperCubeDef.qDynamicScript\",\"dynamicScript\"),i.properties.qHyperCubeDef.qDynamicScript=[]),i},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=void 0===n?{}:n,i=e.dataDefinition,a=void 0===i?{}:i,s=e.defaultPropertyValues,u=void 0===s?{}:s,l=e.hypercubePath,c=e.extension,p=e.supportedFilters,f=void 0===p||p,m=e.isHCModifierSupported,d=void 0===m||m,y={qChildren:[]},q=j({exportFormat:r,initialProperties:t,hypercubePath:l}),b=o.getValue(t,l||\"\").qHyperCubeDef,v=o.getValue(q,l||\"\").qHyperCubeDef,D=H({exportFormat:r,dataDefinition:a}),g=D.maxDimensions,h=D.minDimensions,x=D.maxMeasures,A=D.minMeasures,E=u.defaultDimension,C=void 0===E?P():E,I=u.defaultMeasure,S=void 0===I?V():I;v.qDimensions.length=0,v.qMeasures.length=0,R({exportFormat:r,maxDimensions:g,minDimensions:h,maxMeasures:x,minMeasures:A})&&_({exportFormat:r,maxDimensions:g,minDimensions:h,maxMeasures:x,minMeasures:A,newHyperCubeDef:v}),N({exportFormat:r,maxDimensions:g,minDimensions:h,newHyperCubeDef:v,defaultDimension:C}),w({exportFormat:r,maxMeasures:x,minMeasures:A,newHyperCubeDef:v,defaultMeasure:S}),B({newProperties:q,dataDefinition:a,hypercubePath:l}),k({newProperties:q,dataDefinition:a,hypercubePath:l}),T({exportFormat:r,newHyperCubeDef:v}),O(\"qMaxStackedCells\",b,v),O(\"qNoOfLeftDims\",b,v),F(\"qInitialDataFetch\",b,v,[{qTop:0,qLeft:0,qWidth:0,qHeight:0}]),F(\"qMode\",b,v,\"S\"),F(\"qReductionMode\",b,v,\"N\"),F(\"qSortbyYValue\",b,v),F(\"qIndentMode\",b,v),F(\"qShowTotalsAbove\",b,v),L(q,r,t),y.qProperty=q;var M=o.getValue(c||{},\"support.modifiers\");return W({measures:v.qMeasures,modifierTypes:M}),f&&$(y.qProperty,\"storedFilters\"),\"S\"===v.qMode&&d&&$(y.qProperty,\"dynamicScript\"),y}};var G={cellBackgroundColor:!0,cellForegroundColor:!0,colorByAlternative:!0,colorByExpression:!0,tooltip:!0,urlLabel:!0,url:!0};function z(e,r,n,t){r=r||[];var i=c(e,t,n),o=c(r,t,n);if(-1!==i&&-1===o){var a=e.splice(i,1);r.push(a[0])}return r}function Y(e,r){return e.length!==r}const J={create:function(e,r){if(!e||!G[e])throw new Error(\"Attribute Expressions Util: ID required\");var n={};return r&&Object.keys(r).forEach((function(e){n[e]=r[e]})),n.id=e,n.qAttribute=!0,n},moveByIdFromGroup:function(e,r,n,t,i){n=n||\"qAttributeExpressions\",i=i||\"id\";for(var o=0;o<e.length;o++){var a=e[o][n],s=r.length;if(z(a,r,t,i),Y(r,s))return r}return r},IDMAP:{CELL_BACKGROUND_COLOR:\"cellBackgroundColor\",CELL_FOREGROUND_COLOR:\"cellForegroundColor\",COLOR_BY_ALTERNATIVE:\"colorByAlternative\",COLOR_BY_EXPRESSION:\"colorByExpression\",TOOLTIP:\"tooltip\",CELL_LINK_LABEL:\"urlLabel\",CELL_LINK_URL:\"url\"}},K={getNumDimensions:function(e){return o.getValue(e,\"qHyperCubeDef.qDimensions.length\",0)},getNumMeasures:function(e){return o.getValue(e,\"qHyperCubeDef.qMeasures.length\",0)},wrapFieldName:function(e){return e.split(\" \").length>1&&\"=\"!==e[0]&&\"[\"!==e[0]?\"[\".concat(e,\"]\"):e},getItemLabel:function(e){return e.label||e.name}},X={colorModeOptions:{primary:function(){return!0},dimension:function(e){return K.getNumDimensions(e)>0&&K.getNumMeasures(e)<=1},multiColor:function(e){return K.getNumMeasures(e)>1},measure:function(e){return K.getNumDimensions(e)>0},expression:function(e){return K.getNumMeasures(e)>=1}}},Q={colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return K.getNumMeasures(e)>=1}}};var Z={scatterplot:Q,\"sn-scatter-plot\":Q,piechart:{colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return K.getNumMeasures(e)>=1}}},linechart:{colorModeOptions:{primary:function(){return!0},dimension:function(e){return K.getNumDimensions(e)>1},multiColor:function(e){return K.getNumMeasures(e)>1},measure:function(e){return K.getNumDimensions(e)<=1},expression:function(e){return K.getNumMeasures(e)>=1}}},map:{colorModeOptions:{primary:function(){return!0},dimension:function(e){return K.getNumDimensions(e)>=1},multiColor:function(e){return K.getNumMeasures(e)>1},measure:function(e){return K.getNumDimensions(e)>=1},expression:function(e){return K.getNumDimensions(e)>=1}}},distributionplot:{colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return K.getNumDimensions(e)>=1}}}};function ee(e,r,n){if(Array.isArray(e[r])){var t=p.findIndexByPropertyValue(e[r],\"id\",n);t>=0&&e[r].splice(t,1)}else e[r]=[]}function re(e,r){var n=J.IDMAP.COLOR_BY_ALTERNATIVE;e.forEach((function(e){ee(e,\"qAttributeDimensions\",n),ee(e,\"qAttributeExpressions\",n)})),r.forEach((function(e){ee(e,\"qAttributeDimensions\",n),ee(e,\"qAttributeExpressions\",n)}))}function ne(e,r){if(r){var n=\"=\"===r.charAt(0);e.color.altLabel=n?{qStringExpression:{qExpr:r.substr(1)}}:r}}function te(e){var r=e.properties,n=e.isDimension,t=e.dimensions,i=e.excludedDimensions,a=e.measures,s=e.label;re(t,i);var u=t[t.length-1];if(u){var l=n?o.getValue(r,\"color.byDimDef\"):o.getValue(r,\"color.byMeasureDef\"),c=o.getValue(r,\"color.formatting.qNumFormat\"),f=o.getValue(r,\"color.formatting.isCustomFormatted\");if(l){var m=J.create(J.IDMAP.COLOR_BY_ALTERNATIVE);switch(l.type){case\"expression\":!function(e){var r=e.attributeExpression,n=e.label,t=e.item,i=e.isDimension,o=e.qNumFormat,a=e.isCustomFormatted;r.label=n||t.label,i?r.qDef=t.key:(r.qExpression=t.key,o&&(r.qNumFormat=o,r.isCustomFormatted=a)),r.matchMeasure=t.activeMeasureIndex,r.label&&\"=\"===r.label.charAt(0)&&(r.labelExpRef=\"color.altLabel\")}({attributeExpression:m,label:s,item:l,isDimension:n,qNumFormat:c,isCustomFormatted:f});break;case\"libraryItem\":!function(e){var r=e.attributeExpression,n=e.measures,t=e.item,i=e.qNumFormat,o=e.isCustomFormatted;e.isDimension||(r.matchMeasure=p.findIndexByPropertyValue(n,\"qLibraryId\",t.key),i&&(r.qNumFormat=i,r.isCustomFormatted=o)),void 0!==t.expression?r.qExpression=t.expression:r.qLibraryId=t.key,r.colorMapRef=t.key}({attributeExpression:m,measures:a,item:l,isDimension:n,qNumFormat:c,isCustomFormatted:f})}n?(m.qSortBy={qSortByAscii:1},u.qAttributeDimensions.push(m)):u.qAttributeExpressions.push(m)}}}function ie(e,r,n,t){var i,o,a,s={};switch(e){case\"dimension\":n.qLibraryId?(s.type=\"dimension\",s.name=n.qLibraryId,s.id=n.qLibraryId):(s.type=\"field\",r?(s.name=n.label||n.qDef,s.id=n.qDef):(s.name=n.qDef.qFieldDefs[0],s.label=(a=n.qDef).qLabelExpression?a.qLabelExpression:a.qFieldLabels&&a.qFieldLabels[0]?a.qFieldLabels[0]:a.qFieldDefs[0]));break;case\"measure\":i=function(e,r){return r?e.qLibraryId:m().measureBase.getLibraryId(e)}(n,r),i?(s.type=\"measure\",s.name=i,s.id=i,o=function(e,r){return m().hasActiveModifiers({measures:[e]})&&r?e.qDef.qDef:void 0}(n,t),o&&(s.expression=o)):(s.type=\"expression\",r?(s.name=n.label||n.qExpression,s.id=n.qExpression):(s.name=n.qDef.qDef,s.label=function(e){var r=e.qDef;return r.qLabelExpression?r.qLabelExpression:r.qLabel?r.qLabel:r.qDef}(n)));break;default:throw new Error('columnType should be \"dimension\" or \"measure\"')}return s}const oe={useMasterNumberFormat:function(e){e.quarantine={qNumFormat:e.qNumFormat||{},isCustomFormatted:e.isCustomFormatted||!1},e.qNumFormat=null,e.isCustomFormatted=void 0}};function ae(e,r,n,t){var i=n?\"expression\":r.type,o=e.color,a=o.mode,s=K.getItemLabel(r);switch(ne(e,s||\"\"),i){case\"field\":a=\"byDimension\",o.byDimDef={label:r.label||K.wrapFieldName(r.name),key:K.wrapFieldName(r.name),type:\"expression\",activeDimensionIndex:r.activeDimensionIndex};break;case\"expression\":a=\"byMeasure\",o.byMeasureDef={label:n||s,key:n||r.name,type:\"expression\",activeMeasureIndex:r.activeMeasureIndex};break;case\"dimension\":a=\"byDimension\",o.byDimDef={label:r.name,key:r.id,type:\"libraryItem\",activeDimensionIndex:r.activeDimensionIndex};break;case\"measure\":a=\"byMeasure\",o.byMeasureDef={label:r.name,key:r.id,expression:r.expression,type:\"libraryItem\",activeMeasureIndex:r.activeMeasureIndex},o.formatting&&oe.useMasterNumberFormat(o.formatting)}t||(o.auto=!1,o.mode=a)}function se(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),i=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]),a=o.getValue(e,\"color.byDimDef\");if(a&&ne(e,a.label),function(e){return!!(e&&e.activeDimensionIndex>-1)}(a))!function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"color.byDimDef\");t.activeDimensionIndex=Math.min(t.activeDimensionIndex,n.length-1);var i=ie(\"dimension\",!1,n[t.activeDimensionIndex]);i.activeDimensionIndex=t.activeDimensionIndex,ae(e,i)}(e,r);else if(function(e){return!e||!e.key}(a)&&function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=n[function(e,r,n){var t=o.getValue(r,\"visualization\"),i=n.split(\".\"),a=Number(i[1]),s=o.getValue(r,\"layers.\".concat(a,\".type\"));return 2===e.length&&\"map\"===t&&\"point\"===s}(n,e,r)?0:n.length-1],i=J.IDMAP.COLOR_BY_ALTERNATIVE,a=p.findItemByPropertyValue(t.qAttributeDimensions,\"id\",i);return ae(e,ie(\"dimension\",!!a,a||t)),!!a}(e,r))return;te({properties:e,isDimension:!0,dimensions:n,excludedDimensions:i,measures:t,label:o.getValue(e,\"color.byDimDef.label\")})}const ue=function(e,r,n){o.setValue(e,r,n),o.isAtomicValue(n)&&function(e,r,n){var t=e.qLayoutExclude;t&&(t.changed||(t.changed={}),t.changed[r]={from:o.getValue(e,r),to:n})}(e,r,n)},le=function(e,r){var n={primary:!0};if(e){var t=(Z[r]||X).colorModeOptions||X.colorModeOptions;n.byDimension=t.dimension(e),n.byMeasure=t.measure(e),n.byMultiple=t.multiColor(e),n.byExpression=t.expression(e)}return n},ce=function(e){var r=e.canColorBy,n=e.autoColor,t=e.colorMode,i=e.dimensions;return!(r[t]&&!n&&(\"byDimension\"!==t&&\"byMeasure\"!==t||!i.length))},pe=function(e,r){var n,t=o.getValue(e,\"color.mode\"),i=o.getValue(e,\"color.auto\"),a=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),s=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),u=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]);i?re(a,u):!(n={auto:i,colorMode:t,dimensions:a}).auto&&\"byDimension\"===n.colorMode&&n.dimensions.length>0?se(e,r):function(e){var r=e.auto,n=e.colorMode,t=e.dimensions,i=e.measures,a=e.properties,s=o.getValue(a,\"visualization\");return!(r||\"byMeasure\"!==n||!t.length||\"map\"!==s&&!i.length)}({auto:i,colorMode:t,dimensions:a,measures:s,properties:e})?function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),i=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]),a=o.getValue(e,\"color.byMeasureDef\");if(a&&ne(e,a.label),function(e){return!!(e&&e.activeMeasureIndex>-1)}(a))!function(e,r){var n=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),t=o.getValue(e,\"color.byMeasureDef\");if(t.activeMeasureIndex=Math.min(t.activeMeasureIndex,n.length-1),t.activeMeasureIndex>-1){var i=ie(\"measure\",!1,n[t.activeMeasureIndex],!0);i.activeMeasureIndex=t.activeMeasureIndex,ae(e,i)}}(e,r);else if(function(e,r){return(!e||!e.key)&&r.length>0}(a,t)&&function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),i=n[n.length-1],a=J.IDMAP.COLOR_BY_ALTERNATIVE,s=p.findItemByPropertyValue(i.qAttributeExpressions,\"id\",a);return ae(e,ie(\"measure\",!!s,s||t[0])),!!s}(e,r))return;te({properties:e,isDimension:!1,dimensions:n,excludedDimensions:i,measures:t,label:o.getValue(e,\"color.byMeasureDef.label\")})}(e,r):function(e,r){var n=o.getValue(e,\"color.mode\"),t=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),i=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),a=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]);\"byMultiple\"===n&&i.length<2&&o.setValue(e,\"color.mode\",\"primary\"),re(t,a)}(e,r)},fe=function(e){e.forEach((function(e){e.qOtherTotalSpec&&\"qTotalMode\"in e.qOtherTotalSpec&&delete e.qOtherTotalSpec.qTotalMode}))},me=function(e){var r=e.shouldUpdateColorBy,n=e.properties,t=o.getValue(n,\"qHyperCubeDef.qMeasures\",[]),i=o.getValue(n,\"color.mode\",\"\");return!r&&\"byExpression\"===i&&t.length>0},de=function(e){var r=o.getValue(e,\"qHyperCubeDef.qMeasures.0.qAttributeExpressions\",[]),n=o.getValue(e,\"color.colorExpression\",\"\");r.splice(0,0,{qExpression:n,id:\"colorByExpression\"}),o.setValue(e,\"qHyperCubeDef.qMeasures.0.qAttributeExpressions\",r)},ye=function(e){o.setValue(e,\"color.mode\",\"primary\"),o.setValue(e,\"color.auto\",!0)},qe=function(e){var r=o.getValue(e,\"qHyperCubeDef.qDimensions\",[]),n=o.getValue(e,\"color.persistent\",!1);return r.length>1&&!n},be={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,i=U.exportProperties({propertyTree:r,hypercubePath:n,viewDataMode:t}),o=i.data[0],a=o.dimensions.concat(o.excludedDimensions),s=o.measures.concat(o.excludedMeasures),u=J.IDMAP,l=u.COLOR_BY_ALTERNATIVE,c=u.COLOR_BY_EXPRESSION;return J.moveByIdFromGroup(a,[],\"qAttributeDimensions\",l),J.moveByIdFromGroup(a,[],\"qAttributeExpressions\",l),J.moveByIdFromGroup(s,[],\"qAttributeExpressions\",c),i},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.dataDefinition,i=e.defaultPropertyValues,a=e.hypercubePath,s=e.extension,u=e.supportedFilters,l=e.isHCModifierSupported,c=U.importProperties({exportFormat:r,initialProperties:n,dataDefinition:t,defaultPropertyValues:i,hypercubePath:a,extension:s,supportedFilters:u,isHCModifierSupported:l}),p=c.qProperty,f=o.getValue(p,\"visualization\"),m=o.getValue(p,\"qHyperCubeDef.qDimensions\",[]),d=o.getValue(p,\"color.mode\",\"\"),y=o.getValue(p,\"color.auto\",\"\"),q=le(p,f),b=ce({canColorBy:q,autoColor:y,colorMode:d,dimensions:m});return q[d]?me({shouldUpdateColorBy:b,properties:p})&&de(p):ye(p),b&&pe(p,\"qHyperCubeDef.\"),qe(p)&&ue(p,\"color.persistent\",!0),fe(m),c}};var ve=[\"bar\",\"marker\",\"line\"];const De=function(e){var r=e.initialProperties,n=e.properties;r.measureAxis&&void 0===r.measureAxis.autoMinMax?$(n,\"unsupportedAutoMinMax\")||x()(n.measureAxis,r.measureAxis):$(n,\"supportedAutoMinMax\")||x()(n.measureAxis,r.measureAxis)},ge=function(e){var r,n=e.exportFormat,t=e.initialProperties,i=e.properties,o=e.measureType,a=i.qHyperCubeDef,s=i.measureAxis;if(function(e){var r=e.initialProperties;return!(!e.exportFormat.properties.measureAxes||r.measureAxes||!r.measureAxis||void 0===r.measureAxis.autoMinMax)}({exportFormat:n,initialProperties:t})){var u=function(e){var r=[];return e.qMeasures.length>0&&e.qMeasures.forEach((function(e){if(e.qDef.series){var n=e.qDef.series,t=n.type,i=n.axis;r[i]||(r[i]={axis:i,type:{line:0,marker:0,bar:0,total:0}}),ve.includes(t)&&r[i].type[t]++,r[i].type.total++}})),r}(a);u.length?(o&&(r=u.filter((function(e){return e.type[o]>0})).sort((function(e,r){return r.type[o]-e.type[o]}))),r&&r.length||(r=u.sort((function(e,r){return r.type.total-e.type.total}))),r&&r[0]&&x()(s,n.properties.measureAxes[r[0].axis])):x()(s,n.properties.measureAxes[0])}},he=function(e){if(e.qDimensions.length>1){var r=e.qInterColumnSortOrder.indexOf(0);if(0!==r){var n=e.qInterColumnSortOrder[0];e.qInterColumnSortOrder[0]=0,e.qInterColumnSortOrder[r]=n}}},xe={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,i=e.supportedAutoMinMax,o=void 0===i||i,a=be.exportProperties({propertyTree:r,hypercubePath:n,viewDataMode:t}),s=a.properties;return o?(g(s,\"measureAxis.min\",\"supportedAutoMinMax\"),g(s,\"measureAxis.max\",\"supportedAutoMinMax\")):(g(s,\"measureAxis.min\",\"unsupportedAutoMinMax\"),g(s,\"measureAxis.max\",\"unsupportedAutoMinMax\")),a},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.dataDefinition,i=e.defaultPropertyValues,o=e.hypercubePath,a=e.measureType,s=e.extension,u=e.supportedFilters,l=e.isHCModifierSupported,c=be.importProperties({exportFormat:r,initialProperties:n,dataDefinition:t,defaultPropertyValues:i,hypercubePath:o,extension:s,supportedFilters:u,isHCModifierSupported:l}),p=c.qProperty;return De({initialProperties:n,properties:p}),ge({exportFormat:r,initialProperties:n,properties:p,measureType:a}),he(p.qHyperCubeDef),p.qHyperCubeDef.qColumnOrder=[],p.qHyperCubeDef.columnOrder=[],c}};function Ae(e,r,n){return\"qLayoutExclude.quarantine.\".concat(e,\".\").concat(r,\".\").concat(n)}function Ee(e){var r=e.properties,n=e.arrayPath,t=e.quarantineName,i=e.arrayName,a=e.itemPath;o.getValue(r,n,[]).forEach((function(e){return function(e){var r=e.properties,n=e.quarantineName,t=e.arrayName,i=e.item,a=e.itemPath,s=o.getValue(i,a);if(void 0!==s){var u=o.getValue(i,\"qDef.cId\");u||(u=o.generateId(),o.setValue(i,\"qDef.cId\",u));var l=Ae(n,t,u);o.setValue(r,l,s),o.setValue(i,a,void 0)}}({properties:r,quarantineName:t,arrayName:i,item:e,itemPath:a})}))}function Ce(e){var r=e.properties,n=e.arrayPath,t=e.quarantineName,i=e.arrayName,a=e.itemPath;o.getValue(r,n,[]).forEach((function(e){return function(e){var r=e.properties,n=e.quarantineName,t=e.arrayName,i=e.item,a=e.itemPath,s=o.getValue(i,\"qDef.cId\");if(s){var u=Ae(n,t,s),l=o.getValue(r,u);void 0!==l&&(o.setValue(i,a,l),o.setValue(r,u,void 0))}}({properties:r,quarantineName:t,arrayName:i,item:e,itemPath:a})}))}var Ie=\"qHyperCubeDef.qMeasures\",Se=\"conditionalColoring\",Me=\"measures\",Le=\"qDef.conditionalColoring\";const Oe={quarantine:function(e){Ee({properties:e,arrayPath:Ie,quarantineName:Se,arrayName:Me,itemPath:Le})},unquarantine:function(e){Ce({properties:e,arrayPath:Ie,itemPath:Le,arrayName:Me,quarantineName:Se})}};var Fe=\"qHyperCubeDef.qMeasures\",Pe=\"measures\",Ve=\"qHyperCubeDef.qDimensions\",Ne=\"dimensions\",we=\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\",He=\"alternativeMeasures\",Te=\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions\",je=\"alternativeDimensions\",Re=\"qCalcCondition\",_e=\"conditionalShowHide\";const Be={quarantine:function(e){Ee({properties:e,arrayPath:Fe,quarantineName:_e,arrayName:Pe,itemPath:Re}),Ee({properties:e,arrayPath:Ve,quarantineName:_e,arrayName:Ne,itemPath:Re})},unquarantine:function(e){Ce({properties:e,arrayPath:Fe,quarantineName:_e,arrayName:Pe,itemPath:Re}),Ce({properties:e,arrayPath:Ve,quarantineName:_e,arrayName:Ne,itemPath:Re})},quarantineAlternative:function(e){Ee({properties:e,arrayPath:we,quarantineName:_e,arrayName:He,itemPath:Re}),Ee({properties:e,arrayPath:Te,quarantineName:_e,arrayName:je,itemPath:Re})},unquarantineAlternative:function(e){Ce({properties:e,arrayPath:we,quarantineName:_e,arrayName:He,itemPath:Re}),Ce({properties:e,arrayPath:Te,quarantineName:_e,arrayName:je,itemPath:Re})}},ke={hypercube:U,colorChart:be,axisChart:xe,quarantineProperty:g,unquarantineProperty:$,quarantineArrayProp:Ee,unquarantineArrayProp:Ce,conditionalColoring:Oe,conditionalShow:Be}})(),t.default})()));","import extend from 'extend';\nimport conversion from 'qlik-object-conversion';\n\nexport function importProperties({ dataDefinition, defaultPropertyValues, exportFormat, initialProperties }) {\n const propTree = conversion.hypercube.importProperties({\n exportFormat,\n initialProperties,\n dataDefinition,\n defaultPropertyValues,\n });\n\n const props = propTree.qProperty;\n if (props.dimensionAxis.show === 'all') {\n props.dimensionAxis.show = 'labels';\n } else if (props.dimensionAxis.show === 'title') {\n props.dimensionAxis.show = 'none';\n }\n if (props.measureAxis.show === 'all') {\n props.measureAxis.show = 'labels';\n } else if (props.measureAxis.show === 'title') {\n props.measureAxis.show = 'none';\n }\n\n if (props.qHyperCubeDef.qMeasures.length > 0) {\n props.qDef.numFormatFromTemplate = props.qHyperCubeDef.qMeasures[0].qDef.numFormatFromTemplate;\n props.qDef.qNumFormat = props.qHyperCubeDef.qMeasures[0].qDef.qNumFormat;\n props.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = props.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, props.qDef.qNumFormat);\n });\n }\n\n props.qHyperCubeDef.qSuppressZero = false;\n\n return propTree;\n}\n\nexport function exportProperties({ propertyTree, viewDataMode }) {\n const exportFormat = conversion.hypercube.exportProperties({\n propertyTree,\n viewDataMode,\n });\n\n return exportFormat;\n}\n","import properties from './object-properties';\nimport data from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default (env) => {\n const dataDefinition = data(env);\n return {\n properties,\n data: {\n targets: [dataDefinition],\n },\n importProperties({ exportFormat, initialProperties }) {\n return importProperties({ dataDefinition, exportFormat, initialProperties });\n },\n exportProperties,\n };\n};\n","/*\n* qlik-chart-modules v0.79.0\n* Copyright (c) 2024 QlikTech International AB\n* Released under the MIT license.\n*/\n\nfunction e(e){return\"number\"==typeof e.r&&\"number\"==typeof e.g&&\"number\"==typeof e.b&&\"number\"==typeof e.a}function t(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(1===n.length&&e(n[0]))return(n[0].r<<16)+(n[0].g<<8)+n[0].b;var i=0,o=0,a=0;if(1===n.length&&\"string\"==typeof n[0]){var l,c=n[0];(l=/^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i.exec(c))?(i=parseInt(l[1],10),o=parseInt(l[2],10),a=parseInt(l[3],10)):(l=/^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(c))?(i=parseInt(l[1],16),o=parseInt(l[2],16),a=parseInt(l[3],16)):(l=/^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(c))&&(i=parseInt(l[1]+l[1],16),o=parseInt(l[2]+l[2],16),a=parseInt(l[3]+l[3],16))}return(i<<16)+(o<<8)+a}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function r(e,t,n,r,i,o,a){try{var l=e[o](a),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(i,o){var a=e.apply(t,n);function l(e){r(a,i,o,l,c,\"next\",e)}function c(e){r(a,i,o,l,c,\"throw\",e)}l(void 0)}))}}function o(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function s(){s=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},o=\"function\"==typeof Symbol?Symbol:{},a=o.iterator||\"@@iterator\",l=o.asyncIterator||\"@@asyncIterator\",c=o.toStringTag||\"@@toStringTag\";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},\"\")}catch(e){u=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof g?t:g,a=Object.create(o.prototype),l=new E(r||[]);return i(a,\"_invoke\",{value:S(e,n,l)}),a}function d(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}t.wrap=f;var p=\"suspendedStart\",h=\"executing\",m=\"completed\",v={};function g(){}function y(){}function b(){}var x={};u(x,a,(function(){return this}));var q=Object.getPrototypeOf,w=q&&q(q(A([])));w&&w!==n&&r.call(w,a)&&(x=w);var k=b.prototype=g.prototype=Object.create(x);function C(e){[\"next\",\"throw\",\"return\"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function M(e,t){function n(i,o,a,l){var c=d(e[i],e,o);if(\"throw\"!==c.type){var s=c.arg,u=s.value;return u&&\"object\"==typeof u&&r.call(u,\"__await\")?t.resolve(u.__await).then((function(e){n(\"next\",e,a,l)}),(function(e){n(\"throw\",e,a,l)})):t.resolve(u).then((function(e){s.value=e,a(s)}),(function(e){return n(\"throw\",e,a,l)}))}l(c.arg)}var o;i(this,\"_invoke\",{value:function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return o=o?o.then(i,i):i()}})}function S(t,n,r){var i=p;return function(o,a){if(i===h)throw Error(\"Generator is already running\");if(i===m){if(\"throw\"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var l=r.delegate;if(l){var c=D(l,r);if(c){if(c===v)continue;return c}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(i===p)throw i=m,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);i=h;var s=d(t,n,r);if(\"normal\"===s.type){if(i=r.done?m:\"suspendedYield\",s.arg===v)continue;return{value:s.arg,done:r.done}}\"throw\"===s.type&&(i=m,r.method=\"throw\",r.arg=s.arg)}}}function D(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,\"throw\"===r&&t.iterator.return&&(n.method=\"return\",n.arg=e,D(t,n),\"throw\"===n.method)||\"return\"!==r&&(n.method=\"throw\",n.arg=new TypeError(\"The iterator does not provide a '\"+r+\"' method\")),v;var o=d(i,t.iterator,n.arg);if(\"throw\"===o.type)return n.method=\"throw\",n.arg=o.arg,n.delegate=null,v;var a=o.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,\"return\"!==n.method&&(n.method=\"next\",n.arg=e),n.delegate=null,v):a:(n.method=\"throw\",n.arg=new TypeError(\"iterator result is not an object\"),n.delegate=null,v)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(O,this),this.reset(!0)}function A(t){if(t||\"\"===t){var n=t[a];if(n)return n.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return o.next=o}}throw new TypeError(typeof t+\" is not iterable\")}return y.prototype=b,i(k,\"constructor\",{value:b,configurable:!0}),i(b,\"constructor\",{value:y,configurable:!0}),y.displayName=u(b,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===y||\"GeneratorFunction\"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u(e,c,\"GeneratorFunction\")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},C(M.prototype),u(M.prototype,l,(function(){return this})),t.AsyncIterator=M,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new M(f(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},C(k),u(k,c,\"Generator\"),u(k,a,(function(){return this})),u(k,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)\"t\"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return l.type=\"throw\",l.arg=t,n.next=r,i&&(n.method=\"next\",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],l=a.completion;if(\"root\"===a.tryLoc)return i(\"end\");if(a.tryLoc<=this.prev){var c=r.call(a,\"catchLoc\"),s=r.call(a,\"finallyLoc\");if(c&&s){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!s)throw Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,\"finallyLoc\")&&this.prev<i.finallyLoc){var o=i;break}}o&&(\"break\"===e||\"continue\"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method=\"next\",this.next=o.finallyLoc,v):this.complete(a)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;I(n)}return i}}throw Error(\"illegal catch attempt\")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},\"next\"===this.method&&(this.arg=e),v}},t}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,i,o,a,l=[],c=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw i}}return l}}(e,t)||p(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||p(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function d(e){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},d(e)}function p(e,t){if(e){if(\"string\"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}var h={aliceblue:{r:240,g:248,b:255},antiquewhite:{r:250,g:235,b:215},aqua:{r:0,g:255,b:255},aquamarine:{r:127,g:255,b:212},azure:{r:240,g:255,b:255},beige:{r:245,g:245,b:220},bisque:{r:255,g:228,b:196},black:{r:0,g:0,b:0},blanchedalmond:{r:255,g:235,b:205},blue:{r:0,g:0,b:255},blueviolet:{r:138,g:43,b:226},brown:{r:165,g:42,b:42},burlywood:{r:222,g:184,b:135},cadetblue:{r:95,g:158,b:160},chartreuse:{r:127,g:255,b:0},chocolate:{r:210,g:105,b:30},coral:{r:255,g:127,b:80},cornflowerblue:{r:100,g:149,b:237},cornsilk:{r:255,g:248,b:220},crimson:{r:220,g:20,b:60},cyan:{r:0,g:255,b:255},darkblue:{r:0,g:0,b:139},darkcyan:{r:0,g:139,b:139},darkgoldenrod:{r:184,g:134,b:11},darkgray:{r:169,g:169,b:169},darkgreen:{r:0,g:100,b:0},darkgrey:{r:169,g:169,b:169},darkkhaki:{r:189,g:183,b:107},darkmagenta:{r:139,g:0,b:139},darkolivegreen:{r:85,g:107,b:47},darkorange:{r:255,g:140,b:0},darkorchid:{r:153,g:50,b:204},darkred:{r:139,g:0,b:0},darksalmon:{r:233,g:150,b:122},darkseagreen:{r:143,g:188,b:143},darkslateblue:{r:72,g:61,b:139},darkslategray:{r:47,g:79,b:79},darkslategrey:{r:47,g:79,b:79},darkturquoise:{r:0,g:206,b:209},darkviolet:{r:148,g:0,b:211},deeppink:{r:255,g:20,b:147},deepskyblue:{r:0,g:191,b:255},dimgray:{r:105,g:105,b:105},dimgrey:{r:105,g:105,b:105},dodgerblue:{r:30,g:144,b:255},firebrick:{r:178,g:34,b:34},floralwhite:{r:255,g:250,b:240},forestgreen:{r:34,g:139,b:34},fuchsia:{r:255,g:0,b:255},gainsboro:{r:220,g:220,b:220},ghostwhite:{r:248,g:248,b:255},gold:{r:255,g:215,b:0},goldenrod:{r:218,g:165,b:32},gray:{r:128,g:128,b:128},green:{r:0,g:128,b:0},greenyellow:{r:173,g:255,b:47},grey:{r:128,g:128,b:128},honeydew:{r:240,g:255,b:240},hotpink:{r:255,g:105,b:180},indianred:{r:205,g:92,b:92},indigo:{r:75,g:0,b:130},ivory:{r:255,g:255,b:240},khaki:{r:240,g:230,b:140},lavender:{r:230,g:230,b:250},lavenderblush:{r:255,g:240,b:245},lawngreen:{r:124,g:252,b:0},lemonchiffon:{r:255,g:250,b:205},lightblue:{r:173,g:216,b:230},lightcoral:{r:240,g:128,b:128},lightcyan:{r:224,g:255,b:255},lightgoldenrodyellow:{r:250,g:250,b:210},lightgray:{r:211,g:211,b:211},lightgreen:{r:144,g:238,b:144},lightgrey:{r:211,g:211,b:211},lightpink:{r:255,g:182,b:193},lightsalmon:{r:255,g:160,b:122},lightseagreen:{r:32,g:178,b:170},lightskyblue:{r:135,g:206,b:250},lightslategray:{r:119,g:136,b:153},lightslategrey:{r:119,g:136,b:153},lightsteelblue:{r:176,g:196,b:222},lightyellow:{r:255,g:255,b:224},lime:{r:0,g:255,b:0},limegreen:{r:50,g:205,b:50},linen:{r:250,g:240,b:230},magenta:{r:255,g:0,b:255},maroon:{r:128,g:0,b:0},mediumaquamarine:{r:102,g:205,b:170},mediumblue:{r:0,g:0,b:205},mediumorchid:{r:186,g:85,b:211},mediumpurple:{r:147,g:112,b:219},mediumseagreen:{r:60,g:179,b:113},mediumslateblue:{r:123,g:104,b:238},mediumspringgreen:{r:0,g:250,b:154},mediumturquoise:{r:72,g:209,b:204},mediumvioletred:{r:199,g:21,b:133},midnightblue:{r:25,g:25,b:112},mintcream:{r:245,g:255,b:250},mistyrose:{r:255,g:228,b:225},moccasin:{r:255,g:228,b:181},navajowhite:{r:255,g:222,b:173},navy:{r:0,g:0,b:128},oldlace:{r:253,g:245,b:230},olive:{r:128,g:128,b:0},olivedrab:{r:107,g:142,b:35},orange:{r:255,g:165,b:0},orangered:{r:255,g:69,b:0},orchid:{r:218,g:112,b:214},palegoldenrod:{r:238,g:232,b:170},palegreen:{r:152,g:251,b:152},paleturquoise:{r:175,g:238,b:238},palevioletred:{r:219,g:112,b:147},papayawhip:{r:255,g:239,b:213},peachpuff:{r:255,g:218,b:185},peru:{r:205,g:133,b:63},pink:{r:255,g:192,b:203},plum:{r:221,g:160,b:221},powderblue:{r:176,g:224,b:230},purple:{r:128,g:0,b:128},red:{r:255,g:0,b:0},rosybrown:{r:188,g:143,b:143},royalblue:{r:65,g:105,b:225},saddlebrown:{r:139,g:69,b:19},salmon:{r:250,g:128,b:114},sandybrown:{r:244,g:164,b:96},seagreen:{r:46,g:139,b:87},seashell:{r:255,g:245,b:238},sienna:{r:160,g:82,b:45},silver:{r:192,g:192,b:192},skyblue:{r:135,g:206,b:235},slateblue:{r:106,g:90,b:205},slategray:{r:112,g:128,b:144},slategrey:{r:112,g:128,b:144},snow:{r:255,g:250,b:250},springgreen:{r:0,g:255,b:127},steelblue:{r:70,g:130,b:180},tan:{r:210,g:180,b:140},teal:{r:0,g:128,b:128},thistle:{r:216,g:191,b:216},tomato:{r:255,g:99,b:71},transparent:{r:255,g:255,b:255,a:0},turquoise:{r:64,g:224,b:208},violet:{r:238,g:130,b:238},wheat:{r:245,g:222,b:179},white:{r:255,g:255,b:255},whitesmoke:{r:245,g:245,b:245},yellow:{r:255,g:255,b:0},yellowgreen:{r:154,g:205,b:50}},m=\"qcm-color\";function v(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var i,o,a,c,s,u,f,d,p,v={type:m,r:0,g:0,b:0,a:1,l:void 0,invalid:!1,spaces:{}},g=0,y=0,b=0,x=1;if((null===(e=n[0])||void 0===e?void 0:e.type)===m){var q=n[0];g=q.r,y=q.g,b=q.b,x=q.a,v.invalid=n[0].invalid,v.spaces=l({},n[0].spaces)}else if(n.length<3)if(\"string\"==typeof n[0]){var w,k=n[0];if(w=/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(k))g=parseInt(w[1],10),y=parseInt(w[2],10),b=parseInt(w[3],10);else if(w=/^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(k))g=parseInt(w[1],10),y=parseInt(w[2],10),b=parseInt(w[3],10),x=parseFloat(w[4]);else if(w=/^ARGB\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(k))x=parseInt(w[1],10)/255,g=parseInt(w[2],10),y=parseInt(w[3],10),b=parseInt(w[4],10);else if(w=/^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(k))g=parseInt(w[1],16),y=parseInt(w[2],16),b=parseInt(w[3],16),x=1;else if(w=/^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(k))g=parseInt(w[1]+w[1],16),y=parseInt(w[2]+w[2],16),b=parseInt(w[3]+w[3],16),x=1;else if(w=/^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(k)){i=parseFloat(w[1]),o=parseFloat(w[3]),c=parseFloat(w[5]),o=(o/=100)<0?0:o>1?1:o,f=(i=(i%=360)<0?0:i>360?360:i)/60,d=(u=(c=(c/=100)<0?0:c>1?1:c)<=.5?2*c*o:(2-2*c)*o)*(1-Math.abs(f%2-1));var C=[];switch(f=Math.floor(f)){case 0:C=[u,d,0];break;case 1:C=[d,u,0];break;case 2:C=[0,u,d];break;case 3:C=[0,d,u];break;case 4:C=[d,0,u];break;case 5:C=[u,0,d];break;default:C=[0,0,0]}p=c-.5*u,g=C[0]+p,y=C[1]+p,b=C[2]+p,g=Math.round(255*g),y=Math.round(255*y),b=Math.round(255*b),x=1}else if(w=/^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(k)){i=parseFloat(w[1]),o=parseFloat(w[3]),c=parseFloat(w[5]),x=parseFloat(w[7]),o=(o/=100)<0?0:o>1?1:o,f=(i=(i%=360)<0?0:i>360?360:i)/60,d=(u=(c=(c/=100)<0?0:c>1?1:c)<=.5?2*c*o:(2-2*c)*o)*(1-Math.abs(f%2-1));var M=[];switch(f=Math.floor(f)){case 0:M=[u,d,0];break;case 1:M=[d,u,0];break;case 2:M=[0,u,d];break;case 3:M=[0,d,u];break;case 4:M=[d,0,u];break;case 5:M=[u,0,d];break;default:M=[0,0,0]}p=c-.5*u,g=M[0]+p,y=M[1]+p,b=M[2]+p,g=Math.round(255*g),y=Math.round(255*y),b=Math.round(255*b)}else if(w=/^hsv\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(k)){i=parseFloat(w[1]),o=parseFloat(w[3]),s=parseFloat(w[5]),f=(i=(i%=360)<0?0:i>360?360:i)/60,d=(u=(s=(s/=100)<0?0:s>1?1:s)*(o=(o/=100)<0?0:o>1?1:o))*(1-Math.abs(f%2-1));var S=[];switch(f=Math.floor(f)){case 0:S=[u,d,0];break;case 1:S=[d,u,0];break;case 2:S=[0,u,d];break;case 3:S=[0,d,u];break;case 4:S=[d,0,u];break;case 5:S=[u,0,d];break;default:S=[0,0,0]}p=s-u,g=S[0]+p,y=S[1]+p,b=S[2]+p,g=Math.round(255*g),y=Math.round(255*y),b=Math.round(255*b),x=1}else if(h[k.toLowerCase()]){a=k.toLowerCase();var D=h[a];g=D.r,y=D.g,b=D.b,x=\"number\"==typeof h[a].a?h[a].a:1}else v.invalid=!0}else\"number\"==typeof n[0]&&n[0]>=0&&\"argb\"===n[1]?(x=(4278190080&n[0])>>>24,x/=255,g=(16711680&n[0])>>16,y=(65280&n[0])>>8,b=255&n[0]):\"number\"==typeof n[0]&&n[0]>=0?(g=(16711680&n[0])>>16,y=(65280&n[0])>>8,b=255&n[0]):v.invalid=!0;else n.length>=3?(g=n[0],y=n[1],b=n[2],x=arguments.length>=4?n[3]:1):v.invalid=!0;return Number.isNaN(+g+y+b+x)&&(v.invalid=!0),v.r=Math.floor(g),v.g=Math.floor(y),v.b=Math.floor(b),v.a=x,v.l=c,v}function g(n){var r,i,o;if(e(n))return r=n.r.toString(16),i=n.g.toString(16),o=n.b.toString(16),1===r.length&&(r=\"0\".concat(r)),1===i.length&&(i=\"0\".concat(i)),1===o.length&&(o=\"0\".concat(o)),\"#\".concat([r,i,o].join(\"\"));var a=\"string\"==typeof n?t(n):n;return r=((16711680&a)>>16).toString(16),i=((65280&a)>>8).toString(16),o=(255&a).toString(16),1===r.length&&(r=\"0\".concat(r)),1===i.length&&(i=\"0\".concat(i)),1===o.length&&(o=\"0\".concat(o)),\"#\".concat(r).concat(i).concat(o)}function y(e){var t,n,r=0,i=\"string\"==typeof e?v(e):e,o=i.r/255,a=i.g/255,l=i.b/255,c=Math.max(o,a,l),s=Math.min(o,a,l),u=(c+s)/2;if(c===s)t=0,r=0;else{switch(n=c-s,t=u>.5?n/(2-c-s):n/(c+s),c){case o:r=(a-l)/n+(a<l?6:0);break;case a:r=(l-o)/n+2;break;case l:r=(o-a)/n+4}r/=6}return\"hsl(\".concat(360*r,\",\").concat(100*t,\",\").concat(100*u,\")\")}function b(e){var t,n,r=0,i=\"string\"==typeof e?v(e):e,o=i.r/255,a=i.g/255,l=i.b/255,c=i.a,s=Math.max(o,a,l),u=Math.min(o,a,l),f=(s+u)/2;if(s===u)t=0,r=0;else{switch(n=s-u,t=f>.5?n/(2-s-u):n/(s+u),s){case o:r=(a-l)/n+(a<l?6:0);break;case a:r=(l-o)/n+2;break;case l:r=(o-a)/n+4}r/=6}return\"hsla(\".concat(360*r,\",\").concat(100*t,\",\").concat(100*f,\",\").concat(c,\")\")}function x(e){var t,n,r=0,i=\"string\"==typeof e?v(e):e,o=i.r/255,a=i.g/255,l=i.b/255,c=Math.max(o,a,l),s=Math.min(o,a,l),u=c;if(c===s)t=0,r=0;else{switch(t=0===(n=c-s)?0:n/u,c){case o:r=(a-l)/n+(a<l?6:0);break;case a:r=(l-o)/n+2;break;case l:r=(o-a)/n+4}r/=6}return{h:360*r%360,s:100*t,v:100*u}}function q(e){var t=x(e),n=t.h,r=t.s,i=t.v;return\"hsv(\".concat(n,\",\").concat(r,\",\").concat(i,\")\")}function w(n){if(e(n))return\"rgb(\".concat([n.r,n.g,n.b].join(\",\"),\")\");var r=\"string\"==typeof n?t(n):n,i=(65280&r)>>8,o=255&r;return\"rgb(\".concat((16711680&r)>>16,\",\").concat(i,\",\").concat(o,\")\")}function k(n,r){if(e(n))return\"rgba(\".concat([n.r,n.g,n.b,void 0!==r?r:n.a].join(\",\"),\")\");var i=\"string\"==typeof n?t(n):n,o=(65280&i)>>8,a=255&i;return\"rgba(\".concat((16711680&i)>>16,\",\").concat(o,\",\").concat(a,\",\").concat(void 0!==r?r:n.a,\")\")}var C=function(e){var t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)};function M(e){return.2126*C(e.r)+.7152*C(e.g)+.0722*C(e.b)}function S(){var e=v.apply(void 0,arguments);return e.invalid||M(e)<.5}function D(){var e=v.apply(void 0,arguments),t={type:e.type,r:e.r,g:e.g,b:e.b,a:e.a,invalid:e.invalid,spaces:e.spaces},n=function(){return t.spaces.hsla||(t.spaces.hsla=b(t)),t.spaces.hsla},r=function(e){var t=n(),r=/^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(t),i=parseFloat(r[1]),o=parseFloat(r[3]),a=parseFloat(r[7]),l=parseFloat(r[5]);return l+=e,l=Math.max(0,Math.min(l,100)),\"hsla(\".concat(i,\",\").concat(o,\",\").concat(l,\",\").concat(a,\")\")};return{get type(){return t.type},isInvalid:function(){return t.invalid},get r(){return t.r},get g(){return t.g},get b(){return t.b},get a(){return t.a},getR:function(){return t.r},getG:function(){return t.g},getB:function(){return t.b},getAlpha:function(){return t.a},setAlpha:function(e){t.a=e,t.spaces={}},isEqualTo:function(e){var n=e.type===t.type?e:v(e);return n.r===t.r&&n.g===t.g&&n.b===t.b&&n.a===t.a},isDark:function(){return S(t)},getRGB:function(){return t.spaces.rgb||(t.spaces.rgb=w(t)),t.spaces.rgb},getRGBA:function(){return t.spaces.rgba||(t.spaces.rgba=k(t)),t.spaces.rgba},getHex:function(){return t.spaces.hex||(t.spaces.hex=g(t)),t.spaces.hex},getHSL:function(){return t.spaces.hsl||(t.spaces.hsl=y(t)),t.spaces.hsl},getHSLA:n,getShiftedHSLA:r,getHSV:function(){return t.spaces.hsv||(t.spaces.hsv=q(t)),t.spaces.hsv},getHSVObject:function(){return t.spaces.hsvObject||(t.spaces.hsvObject=x(t)),t.spaces.hsvObject},blend:function(e,n){var r=Math.floor(t.r+(e.r-t.r)*n),i=Math.floor(t.g+(e.g-t.g)*n),o=Math.floor(t.b+(e.b-t.b)*n),a=Math.floor(t.a+(e.getAlpha()-t.a)*n);return\"rgba(\".concat([r,i,o,a].join(\",\"),\")\")},getShiftedColor:function(e){var n=void 0===e||Number.isNaN(+e)?1:e,i=.299*t.r+.587*t.g+.114*t.b,o=t.g<126?1:1+t.g/512;return D(r(20*(i*o<220?.8+1/(i+1)*4:-(.8+i/255*1))*n))}}}function O(e,t){if(e&&t){var n=M(e),r=M(t);return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)}}function I(e,t,n){return O(e,t)>O(e,n)?t:n}function E(e,t){var n=D(\"#FFFFFF\"),r=D(e),i=D(t);if(r.isInvalid()||i.isInvalid()||r.getAlpha()<1||i.getAlpha()<1)return t;var o=O(n,r),a=O(i,r),l=o>a||o>4.5;return!l&&a>3?t:l?\"#FFFFFF\":\"#000000\"}function A(e,t,n){return D(e.r+(t.r-e.r)*n,e.g+(t.g-e.g)*n,e.b+(t.b-e.b)*n,e.a+(t.a-e.a)*n)}var N=[\"American Typewriter, serif\",\"Andalé Mono, monospace\",\"Arial Black, sans-serif\",\"Arial, sans-serif\",\"Bradley Hand, cursive\",\"Brush Script MT, cursive\",\"Comic Sans MS, cursive\",\"Courier, monospace\",\"Didot, serif\",\"Georgia, serif\",\"Impact, sans-serif\",\"Lucida Console, monospace\",\"Luminari, fantasy\",\"Monaco, monospace\",\"QlikView Sans, sans-serif\",\"Source Sans Pro, sans-serif\",\"Tahoma, sans-serif\",\"Times New Roman, serif\",\"Trebuchet MS, sans-serif\",\"Verdana, sans-serif\"],T=[\"Abril Fatface, serif\",\"Bangers, fantasy\",\"Bebas Neue, sans serif\",\"EB Garamond, serif\",\"Fredoka One, fantasy\",\"Graduate, fantasy\",\"Gravitas One, serif\",\"Indie Flower, fantasy\",\"Inter, sans-serif\",\"Lobster, fantasy\",\"Montserrat, sans-serif\",\"Nixie One, sans-serif\",\"Noto Sans, sans-serif\",\"Open Sans, sans-serif\",\"PT Serif, serif\",\"Pacifico, cursive\",\"Permanent Marker, fantasy\",\"QlikView Sans, sans-serif\",\"Raleway, sans-serif\",\"Rammetto One, fantasy\",\"Roboto, sans-serif\",\"Source Sans Pro, sans-serif\",\"Titan One, fantasy\",\"Yanone Kaffeesatz, sans-serif\"];function L(e){return null!=e&&e.isEnabled(\"PS_20852_WYSIWYG_FONT_SUPPORT\")?T:N}var P=function(e){return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),groupHeader:!1,disabled:!1,styles:{fontFamily:e}}};function j(e){var t=e.theme,n=e.translator,r=e.defaultValue,i=e.flags,o=[],a=t.getStyle(\"\",\"\",\"fontFamilies\");return Array.isArray(a)&&a.length?o.push.apply(o,f(new Set([r].concat(f(a.map((function(e){return e.split(\",\").map((function(e){return e.trim()})).map((function(e){return e.replace(/\\s+/g,\" \").trim()})).filter(Boolean).join(\", \")}))))))):o.push(r),[{value:\"ThemeHeader\",label:n.get(\"properties.themeFonts\"),metaText:n.get(\"properties.theme\"),groupHeader:!0}].concat(f(o.map((function(e){return P(e)}))),[{value:\"DefaultHeader\",label:n.get(\"properties.allFonts\"),metaText:n.get(\"properties.default\"),groupHeader:!0}],f(L(i).map((function(e){return P(e)}))))}function F(e){var t=e.theme,n=e.translator,r=e.id,i=e.path,o=e.flags,a=function(){return t.getStyle(r,i,\"fontFamily\")};return{getDefaultValue:function(){return a()},getOptions:function(){return j({theme:t,translator:n,defaultValue:a(),flags:o})}}}var H=[\"10px\",\"11px\",\"12px\",\"13px\",\"14px\",\"15px\",\"16px\",\"17px\",\"18px\",\"19px\",\"20px\",\"21px\",\"22px\",\"23px\",\"24px\"],z=function(e){return{value:e,label:e,groupHeader:!1,disabled:!1}};function R(e){var t=e.theme,n=e.translator,r=e.id,i=e.path,o=function(){return t.getStyle(r,i,\"fontSize\")};return{getDefaultValue:function(){return o()},getOptions:function(){return function(e){var t=e.theme,n=e.translator,r=e.defaultValue,i=[],o=t.getStyle(\"\",\"\",\"fontSizes\");return Array.isArray(o)&&o.length?i.push.apply(i,f(new Set([r].concat(f(o))))):i.push(r),[{value:\"ThemeHeader\",label:n.get(\"properties.themeFontSizes\"),metaText:n.get(\"properties.theme\"),groupHeader:!0}].concat(f(i.map((function(e){return z(e)}))),[{value:\"DefaultHeader\",label:n.get(\"properties.allFontSizes\"),metaText:n.get(\"properties.default\"),groupHeader:!0}],f(H.map((function(e){return z(e)}))))}({theme:t,translator:n,defaultValue:o()})}}}function V(e){var t=e.theme,n=e.translator,r=e.id,i=e.path;return{fontFamily:F({theme:t,translator:n,id:r,path:i,flags:e.flags}),fontSize:R({theme:t,translator:n,id:r,path:i})}}function _(e){var t=e.theme,n=e.translator,r=e.config,i=void 0===r?{}:r,o=e.flags,a=function(e){var t=e.config,n=void 0===t?{}:t,r=n.id,i=n.paths;return{id:void 0===r?\"object\":\"\".concat(\"object\",\".\").concat(r),paths:Array.isArray(i)?i:[]}}({config:i}),l=a.id,c=a.paths,s={};c.forEach((function(e){for(var r=e.split(\".\"),i=s,a=0;a<r.length;a++){var c=r[a];a===r.length-1?i[c]=V({theme:t,translator:n,id:l,path:e,flags:o}):void 0===i[c]&&(i[c]={}),i=i[c]}}));var u=function(e){for(var t=e.split(\".\"),n=s,r=0;r<t.length;r++){var i=t[r];if(void 0===n[i])throw new Error(\"font-resolver: Path '\".concat(e,\"' could not be resolved.\"));n=n[i]}return n};return s.getDefaultValue=function(e){return u(e).getDefaultValue()},s.getOptions=function(e){return u(e).getOptions()},s}var B,K,$={\"auto-chart\":{descriptionKey:\"Template.preview.description.auto-chart\",translationKey:\"Object.AutoChart\",icon:\"effects\",iconChar:\"effects\"},\"dummy-chart\":{descriptionKey:\"Dummy\",translationKey:\"Dummy\",icon:\"effects\",iconChar:\"effects\"},barchart:{descriptionKey:\"Template.preview.description.barchart\",translationKey:\"Object.BarChart\",icon:\"bar-chart\",iconChar:\"bar_chart\"},combochart:{descriptionKey:\"Template.preview.description.combochart\",translationKey:\"Object.ComboChart\",icon:\"combo-chart\",iconChar:\"combo_chart\"},container:{descriptionKey:\"Template.preview.description.container\",translationKey:\"Object.Container\",icon:\"box\",iconChar:\"box\"},distributionplot:{descriptionKey:\"Template.preview.description.distributionplot\",translationKey:\"Object.DistributionPlot\",icon:\"distributionplot\",iconChar:\"distributionplot\"},boxplot:{descriptionKey:\"Template.preview.description.boxplot\",translationKey:\"Object.BoxPlot\",icon:\"boxplot\",iconChar:\"boxplot\"},filterpane:{descriptionKey:\"Template.preview.description.filterpane\",translationKey:\"Object.FilterPane\",icon:\"filterpane\",iconChar:\"filterpane\"},gauge:{descriptionKey:\"Template.preview.description.gauge\",translationKey:\"Object.Gauge\",icon:\"gauge-chart\",iconChar:\"gauge_chart\"},histogram:{descriptionKey:\"Template.preview.description.histogram\",translationKey:\"Object.Histogram\",icon:\"histogram\",iconChar:\"histogram\"},kpi:{descriptionKey:\"Template.preview.description.kpi\",translationKey:\"Object.Kpi\",icon:\"kpi\",iconChar:\"kpi\"},linechart:{descriptionKey:\"Template.preview.description.linechart\",translationKey:\"Object.LineChart\",icon:\"line-chart-line\",iconChar:\"line_chart\"},listbox:{descriptionKey:\"Template.preview.description.listbox\",translationKey:\"Object.Listbox\",icon:\"list\",iconChar:\"list\"},piechart:{descriptionKey:\"Template.preview.description.piechart\",translationKey:\"Object.PieChart\",icon:\"pie-chart\",iconChar:\"pie_chart\"},\"pivot-table\":{descriptionKey:\"Template.preview.description.pivot-table\",translationKey:\"Object.PivotTable\",icon:\"pivot-table\",iconChar:\"pivot_table\"},map:{descriptionKey:\"Template.preview.description.map\",translationKey:\"Object.Map\",icon:\"map\",iconChar:\"map\"},scatterplot:{descriptionKey:\"Template.preview.description.scatterplot\",translationKey:\"Object.ScatterPlot\",icon:\"scatter-chart\",iconChar:\"scatter_chart\"},table:{descriptionKey:\"Template.preview.description.table\",translationKey:\"Object.Table\",icon:\"table\",iconChar:\"table\"},\"text-image\":{descriptionKey:\"Template.preview.description.text-image\",translationKey:\"Object.TextImage\",icon:\"text-object\",iconChar:\"text\"},treemap:{descriptionKey:\"Template.preview.description.treemap\",translationKey:\"Object.Treemap\",icon:\"treemap\",iconChar:\"treemap\"},waterfallchart:{descriptionKey:\"Template.preview.description.waterfallchart\",translationKey:\"Object.WaterfallChart\",icon:\"waterfallchart\",iconChar:\"waterfallchart\"},mekkochart:{descriptionKey:\"Template.preview.description.mekkochart\",translationKey:\"Object.MekkoChart\",icon:\"marimekko\",iconChar:\"marimekko\"},\"action-button\":{descriptionKey:\"Template.preview.description.actionbutton\",translationKey:\"Object.ActionButton\",icon:\"button\",iconChar:\"align-object-center\"},bulletchart:{descriptionKey:\"Template.preview.description.bulletchart\",translationKey:\"Object.BulletChart\",icon:\"bullet-chart\",iconChar:\"bullet-chart\"},\"sn-nlg-chart\":{descriptionKey:\"Template.preview.description.nlgchart\",translationKey:\"Object.NlgChart\",icon:\"natural-language-generation\",iconChar:\"natural-language-generation\"},\"sn-analysis-autochart\":{descriptionKey:\"Template.preview.description.analysis.autochart\",translationKey:\"Common.AnalysisTypes\",icon:\"analysis-types\",iconChar:\"analysis-types\"},\"sn-tabbed-container\":{descriptionKey:\"Object.Container\",translationKey:\"Object.Container\",icon:\"tabbed-container\",iconChar:\"tabbed-container\"},\"third-party-and-fallback\":{icon:\"puzzle\",iconChar:\"puzzle\"}},Y={puzzle:\"PuzzleOutline\",effects:\"Effects\",\"bar-chart\":\"BarChartOutline\",\"bars-grouped\":\"BarsGroupedOutline\",\"bars-stacked\":\"BarsStacked\",\"combo-chart\":\"ComboChartOutline\",box:\"BoxOutline\",distributionplot:\"DistributionPlotOutline\",boxplot:\"Boxplot\",filterpane:\"FilterpaneOutline\",\"gauge-chart\":\"GaugeChartOutline\",histogram:\"HistogramOutline\",kpi:\"KpiOutline\",\"line-chart\":\"LineChartLineOutline\",\"line-chart-line\":\"LineChartLine\",\"line-chart-area\":\"LineChartAreaOutline\",list:\"List\",\"pie-chart\":\"PieChartOutline\",\"pie-chart-donut\":\"PieChartDonutOutline\",\"pivot-table\":\"PivotTableOutline\",map:\"MapOutline\",\"scatter-chart\":\"ScatterChartOutline\",table:\"TableOutline\",\"text-object\":\"TextObject\",treemap:\"TreemapOutline\",waterfallchart:\"WaterfallChartOutline\",marimekko:\"Marimekko\",button:\"ButtonOutline\",bulletChart:\"BulletChartOutline\",\"natural-language-generation\":\"NaturalLanguageGeneration\",calendar:\"Calendar\",play:\"Play\",filter:\"Filter2\",\"grid-ghart\":\"GridChartOutline\",bubbles:\"AssociationOutline\",\"org-chart\":\"OrgChartOutline\",\"auto-layout\":\"AutoLayoutOutline\",stream:\"Stream\",grid:\"GridOutline\",\"line-object\":\"LineObject\",control:\"ControlOutline\",video:\"VideoOutline\",slideShow:\"SlideshowOutline\",text:\"Text\",more:\"More\",\"layout-container\":\"LayoutContainerOutline\",\"tabbed-container\":\"TabbedContainerOutline\",code:\"CodeOutline\",\"sn-table\":\"TableOutline\"},U=function(e){var t;return function(e){var t;return null!==(t=Y[e])&&void 0!==t?t:Y.puzzle}(null===(t=$[e])||void 0===t?void 0:t.icon)};function G(e){return W.apply(this,arguments)}function W(){return(W=i(s().mark((function e(t){var n,r,i,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.app,r=t.items,e.next=3,Promise.all(r.filter((function(e){var t;return!(null===(t=e.qCalcCondition)||void 0===t||null===(t=t.qCond)||void 0===t||!t.qv)})).map((function(e){var t=e.qCalcCondition.qCond.qv;return n.evaluate(t).then((function(t){return\"0\"===t?e.qDef.cId:void 0})).catch((function(){return e.qDef.cId}))})));case 3:return i=e.sent,o=i.filter(Boolean),e.abrupt(\"return\",r.filter((function(e){return!o.includes(e.qDef.cId)})));case 6:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function X(e){var t=e.app,n=e.translator,r=e.dimension,i=r.qLibraryId;if(i)return t.getDimension(i).then((function(e){return e.getLayout()})).catch((function(){})).then((function(e){if(!e)return{id:r.qDef.cId,text:n.get(\"Object.ErrorMessage.MissingDimension\")};var t=e.qDim.qLabelExpression,i=\"H\"===e.qDim.qGrouping;return{id:r.qDef.cId,text:t&&!i?t:e.qDim.title}}));var o=r.qDef,a=o.cId,l=o.qLabelExpression,c=o.qFieldLabels,s=o.qFieldDefs;return l?t.evaluate(l).then((function(e){return{id:a,text:e}})):{id:a,text:c[0]||s[0]}}function Z(e){return J.apply(this,arguments)}function J(){return(J=i(s().mark((function e(t){var n,r,i,o,a,l,c,u;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.app,i=t.translator,o=t.properties,a=(null==o||null===(n=o.qHyperCubeDef)||void 0===n||null===(n=n.qLayoutExclude)||void 0===n?void 0:n.qHyperCubeDef)||{},l=a.qDimensions,(c=void 0===l?[]:l).length){e.next=4;break}return e.abrupt(\"return\",Promise.resolve([]));case 4:return e.next=6,G({app:r,items:c});case 6:return u=e.sent,e.abrupt(\"return\",Promise.all(u.map((function(e){return X({app:r,translator:i,dimension:e})}))));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function Q(e){var t=e.app,n=e.translator,r=e.measure,i=r.qLibraryId;if(i)return t.getMeasure(i).then((function(e){return e.getLayout()})).catch((function(){})).then((function(e){if(!e)return{text:n.get(\"Object.ErrorMessage.MissingMeasure\"),id:r.qDef.cId};var t=e.qMeasure.qLabelExpression;return{id:r.qDef.cId,text:t||e.qMeasure.qLabel||e.qMeasure.qDef}}));var o=r.qDef,a=o.cId,l=o.qLabelExpression,c=o.qLabel,s=o.qDef;return l?t.evaluate(l).then((function(e){return{id:a,text:e}})):{id:a,text:c||s}}function ee(e){return te.apply(this,arguments)}function te(){return(te=i(s().mark((function e(t){var n,r,i,o,a,l,c,u;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.app,i=t.translator,o=t.properties,a=(null==o||null===(n=o.qHyperCubeDef)||void 0===n||null===(n=n.qLayoutExclude)||void 0===n?void 0:n.qHyperCubeDef)||{},l=a.qMeasures,(c=void 0===l?[]:l).length){e.next=4;break}return e.abrupt(\"return\",Promise.resolve([]));case 4:return e.next=6,G({app:r,items:c});case 6:return u=e.sent,e.abrupt(\"return\",Promise.all(u.map((function(e){return Q({app:r,translator:i,measure:e})}))));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function ne(e){var t,n=e.app,r=e.translator,o={initialized:!1,dimensions:[],measures:[]};return{initialize:(t=i(s().mark((function e(t){var i,a,l,c,f,d,p;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.properties,!o.initialized){e.next=3;break}return e.abrupt(\"return\");case 3:return l=[Z(a={app:n,translator:r,properties:i}),ee(a)],e.next=7,Promise.all(l);case 7:c=e.sent,f=u(c,2),d=f[0],p=f[1],o.dimensions=d,o.measures=p,o.initialized=!0;case 12:case\"end\":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)}),getAlternatives:function(){return{dimensions:f(o.dimensions),measures:f(o.measures)}}}}function re(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var ie=function(){if(K)return B;K=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},o=function(n){if(!n||\"[object Object]\"!==t.call(n))return!1;var r,i=e.call(n,\"constructor\"),o=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,\"isPrototypeOf\");if(n.constructor&&!i&&!o)return!1;for(r in n);return void 0===r||e.call(n,r)},a=function(e,t){n&&\"__proto__\"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(t,n){if(\"__proto__\"===n){if(!e.call(t,n))return;if(r)return r(t,n).value}return t[n]};return B=function e(){var t,n,r,c,s,u,f=arguments[0],d=1,p=arguments.length,h=!1;for(\"boolean\"==typeof f&&(h=f,f=arguments[1]||{},d=2),(null==f||\"object\"!=typeof f&&\"function\"!=typeof f)&&(f={});d<p;++d)if(null!=(t=arguments[d]))for(n in t)r=l(f,n),f!==(c=l(t,n))&&(h&&c&&(o(c)||(s=i(c)))?(s?(s=!1,u=r&&i(r)?r:[]):u=r&&o(r)?r:{},a(f,{name:n,newValue:e(h,u,c)})):void 0!==c&&a(f,{name:n,newValue:c}));return f},B}(),oe=re(ie);function ae(e,t){return{range:function(e){var n=e.resources,r=e.data,i=n.theme.palette(\"categorical\",0===t?r.items.length:t);return r.items.map((function(e){return i[e.value%i.length]}))},valueAccessor:e.value}}function le(e,t){return{range:function(e){var n=e.resources,r=e.data,i=n.theme.palette(\"categorical\",0===t?r.items.length:t);return r.items.map((function(e){return i[e.row.value%i.length]}))},valueAccessor:e.value}}function ce(e,t,n,r,i){var o,a,l=i.byRow,c=i.byElemNo;if(r&&(t.input.persistent||e.hc.qDimensionInfo.length>1||void 0===n.activeDimensionIndex&&e.hc.qSize.qcy>(o=e.hc,(null===(a=o.qDataPages[0]||o.qStackedDataPages[0])||void 0===a?void 0:a.qArea.qHeight)||0)))return c(r,r.raw().qCardinal);if(r){var s=t.pic.extract({field:r.key(),trackBy:r.value}).length;return l(r,s)}return{}}function se(e,t){var n=e.hc.qDimensionInfo,r=t.input.byDimDef||{activeDimensionIndex:n.length-1};if(r.activeDimensionIndex>=0){var i=n[r.activeDimensionIndex];r=i.coloring&&i.coloring.colorMapRef?{type:\"libraryItem\",key:i.coloring.colorMapRef,activeDimensionIndex:r.activeDimensionIndex}:{activeDimensionIndex:r.activeDimensionIndex}}return r}function ue(e,t){var n;return t.activeDimensionIndex>=0?n=e.pic.fields().filter((function(e){return\"dimension\"===e.type()}))[t.activeDimensionIndex]:\"libraryItem\"===t.type?!1===(n=t.key?e.pic.field((function(e){return e.raw().colorMapRef===t.key})):void 0)&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n}function fe(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function de(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function pe(){}var he=1/.7,me=\"\\\\s*([+-]?\\\\d+)\\\\s*\",ve=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",ge=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",ye=/^#([0-9a-f]{3,8})$/,be=new RegExp(`^rgb\\\\(${me},${me},${me}\\\\)$`),xe=new RegExp(`^rgb\\\\(${ge},${ge},${ge}\\\\)$`),qe=new RegExp(`^rgba\\\\(${me},${me},${me},${ve}\\\\)$`),we=new RegExp(`^rgba\\\\(${ge},${ge},${ge},${ve}\\\\)$`),ke=new RegExp(`^hsl\\\\(${ve},${ge},${ge}\\\\)$`),Ce=new RegExp(`^hsla\\\\(${ve},${ge},${ge},${ve}\\\\)$`),Me={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Se(){return this.rgb().formatHex()}function De(){return this.rgb().formatRgb()}function Oe(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=ye.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Ie(t):3===n?new Te(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Ee(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Ee(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=be.exec(e))?new Te(t[1],t[2],t[3],1):(t=xe.exec(e))?new Te(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=qe.exec(e))?Ee(t[1],t[2],t[3],t[4]):(t=we.exec(e))?Ee(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ke.exec(e))?ze(t[1],t[2]/100,t[3]/100,1):(t=Ce.exec(e))?ze(t[1],t[2]/100,t[3]/100,t[4]):Me.hasOwnProperty(e)?Ie(Me[e]):\"transparent\"===e?new Te(NaN,NaN,NaN,0):null}function Ie(e){return new Te(e>>16&255,e>>8&255,255&e,1)}function Ee(e,t,n,r){return r<=0&&(e=t=n=NaN),new Te(e,t,n,r)}function Ae(e){return e instanceof pe||(e=Oe(e)),e?new Te((e=e.rgb()).r,e.g,e.b,e.opacity):new Te}function Ne(e,t,n,r){return 1===arguments.length?Ae(e):new Te(e,t,n,null==r?1:r)}function Te(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Le(){return`#${He(this.r)}${He(this.g)}${He(this.b)}`}function Pe(){const e=je(this.opacity);return`${1===e?\"rgb(\":\"rgba(\"}${Fe(this.r)}, ${Fe(this.g)}, ${Fe(this.b)}${1===e?\")\":`, ${e})`}`}function je(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fe(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function He(e){return((e=Fe(e))<16?\"0\":\"\")+e.toString(16)}function ze(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ve(e,t,n,r)}function Re(e){if(e instanceof Ve)return new Ve(e.h,e.s,e.l,e.opacity);if(e instanceof pe||(e=Oe(e)),!e)return new Ve;if(e instanceof Ve)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,l=o-i,c=(o+i)/2;return l?(a=t===o?(n-r)/l+6*(n<r):n===o?(r-t)/l+2:(t-n)/l+4,l/=c<.5?o+i:2-o-i,a*=60):l=c>0&&c<1?0:a,new Ve(a,l,c,e.opacity)}function Ve(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function _e(e){return(e=(e||0)%360)<0?e+360:e}function Be(e){return Math.max(0,Math.min(1,e||0))}function Ke(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}fe(pe,Oe,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Se,formatHex:Se,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Re(this).formatHsl()},formatRgb:De,toString:De}),fe(Te,Ne,de(pe,{brighter(e){return e=null==e?he:Math.pow(he,e),new Te(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new Te(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Te(Fe(this.r),Fe(this.g),Fe(this.b),je(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Le,formatHex:Le,formatHex8:function(){return`#${He(this.r)}${He(this.g)}${He(this.b)}${He(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Pe,toString:Pe})),fe(Ve,(function(e,t,n,r){return 1===arguments.length?Re(e):new Ve(e,t,n,null==r?1:r)}),de(pe,{brighter(e){return e=null==e?he:Math.pow(he,e),new Ve(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new Ve(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Te(Ke(e>=240?e-240:e+120,i,r),Ke(e,i,r),Ke(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ve(_e(this.h),Be(this.s),Be(this.l),je(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=je(this.opacity);return`${1===e?\"hsl(\":\"hsla(\"}${_e(this.h)}, ${100*Be(this.s)}%, ${100*Be(this.l)}%${1===e?\")\":`, ${e})`}`}}));const $e=Math.PI/180,Ye=180/Math.PI,Ue=4/29,Ge=6/29,We=3*Ge*Ge;function Xe(e){if(e instanceof Ze)return new Ze(e.l,e.a,e.b,e.opacity);if(e instanceof it)return ot(e);e instanceof Te||(e=Ae(e));var t,n,r=tt(e.r),i=tt(e.g),o=tt(e.b),a=Je((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?t=n=a:(t=Je((.4360747*r+.3850649*i+.1430804*o)/.96422),n=Je((.0139322*r+.0971045*i+.7141733*o)/.82521)),new Ze(116*a-16,500*(t-a),200*(a-n),e.opacity)}function Ze(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function Je(e){return e>.008856451679035631?Math.pow(e,1/3):e/We+Ue}function Qe(e){return e>Ge?e*e*e:We*(e-Ue)}function et(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function tt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function nt(e){if(e instanceof it)return new it(e.h,e.c,e.l,e.opacity);if(e instanceof Ze||(e=Xe(e)),0===e.a&&0===e.b)return new it(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Ye;return new it(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function rt(e,t,n,r){return 1===arguments.length?nt(e):new it(e,t,n,null==r?1:r)}function it(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function ot(e){if(isNaN(e.h))return new Ze(e.l,0,0,e.opacity);var t=e.h*$e;return new Ze(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}fe(Ze,(function(e,t,n,r){return 1===arguments.length?Xe(e):new Ze(e,t,n,null==r?1:r)}),de(pe,{brighter(e){return new Ze(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new Ze(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new Te(et(3.1338561*(t=.96422*Qe(t))-1.6168667*(e=1*Qe(e))-.4906146*(n=.82521*Qe(n))),et(-.9787684*t+1.9161415*e+.033454*n),et(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),fe(it,rt,de(pe,{brighter(e){return new it(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new it(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return ot(this).rgb()}}));var at=e=>()=>e;function lt(e){return 1==(e=+e)?ct:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):at(isNaN(t)?n:t)}}function ct(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):at(isNaN(e)?t:e)}var st=function e(t){var n=lt(t);function r(e,t){var r=n((e=Ne(e)).r,(t=Ne(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=ct(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+\"\"}}return r.gamma=e,r}(1),ut=/^class(-pyramid)?/,ft=function(e,t,n,r){var i=void 0!==n.min?n.min:r.min(),o=void 0!==n.max?n.max:r.max(),a=i,l=o,c=t.limits,s={},u=\"percent\"===t.limitType?c.map((function(e){return i+(o-i)*e})):c,d=t.colors.map((function(t){return e.resolveUIColor(t)}));if(i=Math.min.apply(Math,[i].concat(f(u))),o=Math.max.apply(Math,[o].concat(f(u))),s.min=i,s.max=o,t.breakTypes&&-1===t.breakTypes.indexOf(!0))s.type=\"categorical\",Object.assign(s,function(e){var t=e.min,n=e.max,r=e.limits,i=e.range,o=[],a=[];if(r.length)if(r[r.length-1]<t)a.push(t,n),o.push(i[i.length-1],i[i.length-1],i[i.length-1]);else if(r[0]>n)a.push(t,n),o.push(i[0],i[0],i[0]);else{if(r[0]>t)a.push(t),o.push(i[0]);else{a.push(t);for(var l=0;l<r.length;l++)if(t<r[l]){o.push(i[l]);break}}for(var c=0;c<r.length;c++)t<r[c]&&r[c]<n&&(a.push(r[c]),o.push(i[c]));if(r[r.length-1]<n)a.push(n),o.push(i[r.length]),o.push(i[r.length]);else{a.push(n);for(var s=0;s<r.length;s++)if(r[s]>n){o.push(i[s]),o.push(i[s]);break}}}else o.push(i[0]);return{min:t,max:n,range:o,domain:a}}({min:\"percent\"===t.limitType?i:a,max:\"percent\"===t.limitType?o:l,range:d,limits:\"percent\"===t.limitType?u:c}));else if(t.breakTypes){var p=t.breakTypes;s.type=\"continuous\",s.domain=[i],s.range=[d[0]];for(var h=0;h<u.length;h+=1)if(p[h]){var m=d[h],v=d[h+1],g=st(m,v)(.5);s.range.push(g),s.domain.push(u[h]),h<u.length-1&&p[h+1]&&(s.range.push(d[h+1]),s.domain.push((u[h]+u[h+1])/2))}else s.range.push(d[h]),s.range.push(d[h+1]),s.domain.push(u[h]),s.domain.push(u[h]+Math.min(1e-6,(o-i)/1e6));s.range.push(d[d.length-1]),s.domain.push(o)}else s.domain=u,s.range=d;return s};function dt(e,t,n,r,i){var o,a,l,c=0,s=[],u=(e-t)/(r+1);if(0===u)return 1;for(o=0;o<n.length;o+=1)a=.99*(n[o]-t),l=n[o]>e?Math.floor(e/u):n[o]<t?0:Math.floor(a/u),Number.isNaN(l)||(s[l]?s[l]+=1:s[l]=1);for(o=0;o<s.length;o+=1)s[o]&&(c+=1);return c<=r||c>=i?Math.max(c,r):dt(e,t,n,r+1,i)}var pt=function(e,t,n,r){var i,o,a=t.theme,l=t.hc,c=r.f,s={mode:\"field\",fieldType:\"measure\",field:c?c.key():void 0,reverse:n.input.reverseScheme||!1,type:\"continuous\",range:function(e){return e.resources.theme.palette(\"quant\")}},u=[],d=!0;if(c){if(Number.isNaN(+c.min())||Number.isNaN(+c.max()))return{invalid:!0};(d=!(\"S\"===(i=n.pic.raw()).qMode&&(i.qDataPages[0]&&i.qSize.qcy>i.qDataPages[0].qArea.qHeight||!i.qDataPages.length&&i.qSize.qcy>0)||\"K\"===i.qMode&&i.qStackedDataPages[0]&&i.qSize.qcy>i.qStackedDataPages[0].qArea.qHeight||\"T\"===i.qMode&&i.qSize.qcy>i.qTreeDataPages[0].qGroupSize))&&(u=n.pic.extract({field:0,props:{num:{field:c.key()},exclude:{fields:l.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return Math.min.apply(Math,f(e))<0}}}}).filter((function(e){return e.value>=0&&!e.exclude.value})).map((function(e){return e.num.value})).filter((function(e){return\"number\"==typeof e})))}if(!1===n.input.autoMinMax){if(s.min=n.input.measureMin,s.max=n.input.measureMax,s.max<s.min)return{invalid:!0}}else if(c&&!d)s.min=c.min(),s.max=c.max();else if(c){if(!u.length)return{invalid:!0};s.min=Math.min.apply(Math,f(u)),s.max=Math.max.apply(Math,f(u))}if(n.input.measureScheme&&(s.palettes={quant:n.input.measureScheme}),a){var p=a.getDataColorScales().filter((function(e){return e.key===n.input.measureScheme}))[0];s.type=p&&ut.test(p.type)?\"categorical\":\"continuous\",\"categorical\"===s.type&&(o=p.colors.some((function(e){return Array.isArray(e)}))?Math.max.apply(Math,f(p.colors.map((function(e){return e?e.length:0})))):p.colors.length)}if(\"categorical\"===s.type){for(var h=d?dt(s.max,s.min,u,1,o):o,m=(s.max-s.min)/h,v=[],g=0;g<h+1;g+=1)v.push(s.min+m*g);s.domain=v,s.range=function(e){for(var t=e.resources.theme.palette(\"quant\",h),n=Math.max(1,Math.floor(t.length/h)),r=[],i=0;i<h;i+=1)r.push(t[i*n]);return[r[0]].concat(r,[r[r.length-1]])}}return s};function ht(e,t){var n;return t.activeMeasureIndex>=0?n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[t.activeMeasureIndex]:\"libraryItem\"===t.type?n=e.pic.field((function(e){return e.raw().colorMapRef===t.key&&void 0!==t.key})):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n||(n=e.pic.field((function(e){return void 0!==e.raw().matchMeasure})))&&(n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[n.raw().matchMeasure]),n}function mt(e){var t,n=e.cm,r=e.defaults,i=e.index,o=e.input,a=e.pic;if(!o||!o.on)return null;var c=null!==(t=o.mode)&&void 0!==t?t:\"primary\";return\"primary\"===c?function(e,t,n){var r=n.primary;return void 0!==t.paletteColor&&t.paletteColor&&(r=e.resolveUIColor(t.paletteColor)),l(l({},n),{},{mode:\"constant\",type:\"constant\",primary:r})}(n,o,r):\"byExpression\"===c?function(e,t,n){var r=\"qMeasureInfo/\".concat(e,\"/\"),i=t.field((function(e){return e.id().startsWith(r)&&\"colorByMeasureExpression\"===e.raw().id})),o=i;return l(l({},n),{},o?{mode:\"field\",fieldType:\"expression\",field:i?i.key():void 0,type:\"color\"}:{mode:\"constant\",type:\"constant\",primary:n.nil})}(i,a,r):null}function vt(e){e.measureOverrides.every((function(e){return!e}))&&(e.measureOverrides=null)}function gt(e,t){for(var n=(null==t?void 0:t.domain)||[],r=(null==t?void 0:t.range)||[],i=[],o=0;o<e.length;++o){var a=e[o];if(\"constant\"===(null==a?void 0:a.mode)){var l=n.indexOf(o);-1===l?(n.push(o),r.push(a.primary)):r[l]=a.primary,e[o]=null}else if(a){i.push(o);var c=n.indexOf(o);-1!==c&&(n.splice(c,1),r.splice(c,1))}}return{domain:n,range:r,exclude:i}}function yt(e,t,n,r){if(t.input&&!t.input.auto){if(\"byMeasure\"===t.input.mode)return function(e,t,n){var r=t.theme,i=t.hc,o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).getCField,a=void 0===o?ht:o,l=n.input.byMeasureDef||{activeMeasureIndex:0},c=a(n,l),s=pt(0,{theme:r,hc:i},n,{f:c});if(s.invalid)return s;\"expression\"===l.type&&(l.activeMeasureIndex<0||void 0===l.activeMeasureIndex)&&(s.label=l.label,c&&\"color.altLabel\"===c.raw().labelExpRef&&(s.label=n.input.altLabel)),!s.label&&c&&(s.label=c.title());var u=l.activeMeasureIndex>=0?c:null;if(!u&&c&&void 0!==c.raw().matchMeasure&&c.raw().matchMeasure>-1&&(u=n.pic.fields().filter((function(e){return\"measure\"===e.type()}))[c.raw().matchMeasure]),n.input.useMeasureGradient&&\"libraryItem\"===l.type)if(u){var f=u.raw().coloring;f&&f.gradient&&oe(s,ft(e,f.gradient,s,u))}else s.auxiliary=l;return s}(e,n,t);if(\"byDimension\"===t.input.mode)return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.getCDef,o=void 0===i?se:i,a=r.getCByField,l=void 0===a?ue:a,c=r.getPersistence,s=void 0===c?ce:c,u=o(t,n),f=l(n,u),d=f?f.raw():{},p=n&&n.pic?n.pic.raw():{};if(d.qError||d.qSize&&0===d.qSize.qcy&&!p.qHasOtherValues)return{invalid:!0};var h={mode:\"field\",fieldType:\"dimension\",type:\"categorical\",field:f?f.key():void 0,isFieldLocked:d.qLocked};return(\"expression\"===u.type||u.activeDimensionIndex<0)&&(h.label=u.label,\"color.altLabel\"===d.labelExpRef&&(h.label=n.input.altLabel)),!h.label&&f&&(h.label=f.title()),n.input.dimensionScheme&&(h.palettes={categorical:n.input.dimensionScheme}),n.input.useDimColVal&&\"libraryItem\"===u.type&&(h.auxiliary=u),oe(h,s(t,n,u,f,{byRow:le,byElemNo:ae})),h}(e,n,t);if(\"byExpression\"===t.input.mode)return function(e,t,n,r){var i=t.hc,o=t.theme,a=t.translator,l=n.pic.field((function(e){return\"colorByExpression\"===e.raw().id}));if(!l||!l.raw().qFallbackTitle&&!n.input.colorExpression||!(Number.isFinite(l.raw().qMin)&&Number.isFinite(l.raw().qMax)||n.input.expressionIsColor))return{mode:\"constant\",type:\"constant\",primary:r.nil};if(n.input.expressionIsColor)return{mode:\"field\",fieldType:\"expression\",field:l?l.key():void 0,type:\"color\"};var c=pt(0,{hc:i,theme:o},n,{f:l});return c.invalid||(c.label=n.input.expressionLabel||a.get(\"Object.ChartTooltip.ColorExpression\")),c}(0,n,t,r);if(\"byMultiple\"===t.input.mode||\"primary\"===t.input.mode)return function(e,t,n,r){var i=t.hc,o=t.theme,a=t.translator,l=n.input.useBaseColors;if((\"byMultiple\"===n.input.mode||\"primary\"===n.input.mode&&\"measure\"===n.input.useBaseColors)&&i.qMeasureInfo.length>1&&(l=\"measure\"),\"measure\"===l){var c=[],s=[];\"measure\"===n.input.useBaseColors&&i.qMeasureInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){c.push(n);var i=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===i?s.push(r.primary):s.push(i)}}));var u=n.input.dimensionScheme?{categorical:n.input.dimensionScheme}:void 0,f=o?o.getDataColorPalettes()[0]:void 0;return\"measure\"===n.input.useBaseColors&&f&&(u={categorical:f.key}),{mode:\"measure\",type:\"categorical\",palettes:u,label:a?a.get(\"Common.Measures\"):void 0,explicit:c.length?{domain:c,range:s}:void 0}}if(\"dimension\"===l){var d=[],p=[];return i.qDimensionInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){d.push(n);var i=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===i?p.push(r.primary):p.push(i)}})),{mode:\"dimension\",type:\"categorical\",field:d.length?d[0]:void 0,explicit:d.length?{domain:d,range:p}:void 0}}var h=r.primary;if(void 0!==n.input.paletteColor)n.input.paletteColor&&(h=e.resolveUIColor(n.input.paletteColor));else{var m=n.input.singleColor;\"number\"!=typeof m||Number.isNaN(m)||(h=[\"#b0afae\",\"#7b7a78\",\"#545352\",\"#4477aa\",\"#7db8da\",\"#b6d7ea\",\"#46c646\",\"#f93f17\",\"#ffcf02\",\"#276e27\",\"#ffffff\",\"#000000\"][m])}return{mode:\"constant\",type:\"constant\",primary:h}}(e,n,t,r)}return{}}function bt(e,t,n,r){var i,o=yt(e,t,n,r);return null!==(i=t.input)&&void 0!==i&&i.measureOverrides?(o.measureOverrides=t.input.measureOverrides.map((function(n,i){return mt({cm:e,input:n,defaults:r,index:i,pic:t.pic})})),function(e,t){var n,r,i,o=t.translator;if(vt(e),1===(null===(n=e.measureOverrides)||void 0===n?void 0:n.length))return e.measureOverrides[0];if(\"measure\"===e.mode&&e.measureOverrides&&(e.explicit=gt(e.measureOverrides,e.explicit),vt(e)),null!==(r=e.measureOverrides)&&void 0!==r&&r.every((function(e){return\"constant\"===(null==e?void 0:e.mode)}))){var a={mode:\"measure\",type:\"categorical\",label:null==o?void 0:o.get(\"Common.Measures\")};return a.explicit=gt(e.measureOverrides),a}return null!==(i=e.measureOverrides)&&void 0!==i&&i.every((function(e){return e}))?{invalid:!0,measureOverrides:e.measureOverrides}:e}(o,n)):o}function xt(e){var t=l({hc:null,colorProps:null,layout:null,theme:null},e),n={},r={auto:function(){return{mode:\"primary\"}},getDimensionColorMap:function(){return Promise.reject()},getMeasure:function(){return Promise.reject()},getAttributeDimension:function(){return Promise.reject()}},i={auto:function(e){return e?(r.auto=e,i):r.auto},getDimensionColorMap:function(e){return e?(r.getDimensionColorMap=e,i):r.getDimensionColorMap},getAttributeDimension:function(e){return e?(r.getAttributeDimension=e,i):r.getAttributeDimension},getMeasure:function(e){return e?(r.getMeasure=e,i):r.getMeasure},set:function(e){var i;if(!e.colorProps)throw new Error('Missing \"colorProps\"');if(oe(t,e),(n={pic:t.picasso.data(\"q\")({data:t.hc,config:{localeInfo:t.localeInfo}}),input:t.colorProps}).input.auto){var o=r.auto(e.layout);n.input=oe(!0,{},n.input,o,{auto:!1});var a=t.theme?t.theme.getDataColorPalettes():[];a[0]&&(n.input.dimensionScheme=a[0].key);var l=0;n.input.byDimDef&&+n.input.byDimDef.activeDimensionIndex>=0&&(l=+n.input.byDimDef.activeDimensionIndex),t.hc&&t.hc.qDimensionInfo[l]&&t.hc.qDimensionInfo[l].coloring&&t.hc.qDimensionInfo[l].coloring.colorMapRef&&n.input.byDimDef&&(n.input.byDimDef.type=\"libraryItem\",n.input.byDimDef.key=t.hc.qDimensionInfo[l].coloring.colorMapRef)}null!==(i=n.input.measureOverrides)&&void 0!==i&&i.every((function(e){return!e||!e.on}))&&(n.input=oe(!1,{},n.input,{measureOverrides:null}))},palettes:function(){if(!n.palettes){var e=t.theme,r=[];(e&&e.getDataColorPickerPalettes()||[]).forEach((function(e){r.push({key:\"ui\",colors:e.colors})})),n.palettes=r}return n.palettes},getAuxiliaryData:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/qHyperCubeDef\";if(!e.auxiliary&&!/qAttrDimInfo/.test(e.field))return Promise.resolve();var i=e.auxiliary||{},o=i.key;if(\"measure\"===e.fieldType)return r.getMeasure(o,t).catch((function(){}));if(\"dimension\"===e.fieldType){var a=\"\".concat(n,\"/\").concat(e.field).replace(\"qDimensionInfo\",\"qDimensions\").replace(\"qAttrDimInfo\",\"qAttributeDimensions\");return Promise.all([/qAttrDimInfo/.test(e.field)?r.getAttributeDimension(a,t).catch((function(){})):Promise.resolve(),o?r.getDimensionColorMap(o,t).catch((function(){})):Promise.resolve()])}return Promise.resolve()},getAuxiliarySettings:function(e,r){var i=this;return e.auxiliary||/qAttrDimInfo/.test(e.field)?(this.palettes(),this.getAuxiliaryData(e,r).then((function(r){if(!r)return{};if(\"measure\"===e.fieldType){if(r.coloring&&r.coloring.gradient){var o=n.pic.field(e.field);return ft(i,r.coloring.gradient,e,o)}return{}}if(\"dimension\"===e.fieldType){var a={nil:e.nil,others:e.others},c=r[0],s=r[1]?r[1].colorMap:null;if(c){var u=t.picasso.data(\"q\")({data:{qDimensionInfo:[n.pic.field(e.field).raw(),n.pic.field(e.field).raw()],qMeasureInfo:[],qDataPages:c,qInterColumnSortOrder:[0,1],qMode:\"S\"}});a.legendDataset=u}return s?function(e,t,n,r){var i=r.external,o=r.field,a=l({},e);oe(a,ae(o,o.raw().qCardinal));var c=i.theme?i.theme.getDataColorPalettes()[0]:null;return t.nul&&(a.nil=n.resolveUIColor(t.nul)),t.oth&&(a.others=n.resolveUIColor(t.oth)),t.usePal?(a.palettes={categorical:t.pal},c&&!t.pal&&(a.palettes.categorical=c.key,oe(a,ae(o)))):!1===t.autoFill&&t.single?a.range=[n.resolveUIColor(t.single)]:t.autoFill&&(c&&(a.palettes={categorical:c.key}),oe(a,ae(o))),t.colors&&t.colors.length&&(a.explicit=function(e,t,n){for(var r={},i=0;i<e.length;i+=1)r[e[i].value]=e[i].baseColor;var o=[];return{domain:function(e){var i=e.data,a=[];o=[];for(var l=0;l<i.items.length;l++){var c=i.items[l],s=(c.text||c).label;r[s]&&-1===a.indexOf(c.value)&&(a.push(c.value),o.push(t.resolveUIColor(r[s])))}return a.push(-3,-2),o.push(n.others),o.push(n.nil),a},range:function(){return o}}}(t.colors,n,a)),a}(a,s,i,{external:t,field:n.pic.field(e.field)}):a}return{}}))):Promise.resolve()},resolveUIColor:function(e){if(e.index<0||void 0===e.index)return e.color;if(void 0===n.uiPalette&&(n.uiPalette=this.palettes().filter((function(e){return\"ui\"===e.key}))[0]||!1),!n.uiPalette)return e.color;var t=\"none\"===n.uiPalette.colors[0]?e.index:e.index-1;return void 0===n.uiPalette.colors[t]?e.color:n.uiPalette.colors[t]},settings:function(){if(this.palettes(),!n.settings){var e={primary:\"steelblue\",others:\"#aaa\",nil:\"#ddd\"},r=t.theme;r&&(e=l(l({},e),r.getDataColorSpecials())),n.settings=oe(e,bt(this,n,t,e))}return n.settings}};return i}var qt=function(e,t){var n=e.fieldType,r={};if(t)if(\"measure\"===n){var i=t.coloring;i&&(r.measureGradient=i.gradient)}else if(\"dimension\"===n){var o=t[0],a=t[1];o&&(r.legendDataPage=o),a&&(r.dimValsData=a.colorMap)}return r},wt=function(e){throw e.isHandled=!0,e},kt=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.dimValsData?Promise.resolve({colorMap:n.snapshotData.content.chartData.dimValsData}):Promise.reject():r&&r.getObject?r.getObject(\"ColorMapModel_\".concat(e)).then((function(e){return e.getLayout()})):Promise.reject()},Ct=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.measureGradient?Promise.resolve({coloring:{gradient:n.snapshotData.content.chartData.measureGradient}}):Promise.reject():r&&r.getMeasure?r.getMeasure(e).then((function(e){return e.getMeasure()})):Promise.reject()},Mt=function(e,t){var n=t.layout,r=t.model,i=t.app;if(n&&n.snapshotData)return n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.legendDataPage?Promise.resolve(n.snapshotData.content.chartData.legendDataPage):Promise.reject();if(r&&r.session&&i){return r.getHyperCubeData(e,[{qHeight:100,qLeft:0,qTop:0,qWidth:2}]).catch(wt)}return Promise.reject()};function St(e){var t=e.hc,n=e.source,r=e.coloring,i={data:{extract:[{source:\"dummy\",field:0,filter:function(){return i.expando=t.qDataPages[0]?t.qDataPages[0].qArea.qTop:0,!1}},{source:n,field:r.field,trackBy:r.valueAccessor,reduce:\"first\",props:{row:{reduce:function(){return i.expando++}},text:{value:function(e){return e.qText},reduce:\"first\"}}}]},expando:0};return i}function Dt(e){return function(t){return\"object\"===d(t.datum[e])?t.datum[e].value:void 0}}function Ot(e){return\"object\"===d(e.datum.isNull)?e.datum.isNull.value:-2===e.datum.value}function It(e){return-3===e.datum.value}var Et={TITLE:{COLOR:void 0,FONT_SIZE:\"16px\",FONT_FAMILY:\"'Source Sans Pro', 'Arial', 'sans-serif'\"},LABEL:{COLOR:void 0,FONT_SIZE:void 0,FONT_FAMILY:\"'Source Sans Pro', 'Arial', 'sans-serif'\"}};function At(e){var t=e.theme,n=e.key,r=e.styleOverrides,i={title:{color:Et.TITLE.COLOR,fontSize:Et.TITLE.FONT_SIZE,fontFamily:Et.TITLE.FONT_FAMILY},label:{color:Et.LABEL.COLOR,fontSize:Et.LABEL.FONT_SIZE,fontFamily:Et.LABEL.FONT_FAMILY}};if(!t&&!r)return i;var o=r||{},a=o.title,l=o.label,c=function(e){var t=e.theme,n=e.key;return function(e,r,i,o){return void 0!==e?e:t?t.getStyle(n,r,i):o}}({theme:t,key:n});return i.title.color=c(null==a?void 0:a.color,\"legend.title\",\"color\",Et.TITLE.COLOR),i.title.fontSize=c(null==a?void 0:a.fontSize,\"legend.title\",\"fontSize\",Et.TITLE.FONT_SIZE),i.title.fontFamily=c(null==a?void 0:a.fontFamily,\"legend.title\",\"fontFamily\",Et.TITLE.FONT_FAMILY),i.label.color=c(null==l?void 0:l.color,\"legend.label\",\"color\",Et.LABEL.COLOR),i.label.fontSize=c(null==l?void 0:l.fontSize,\"legend.label\",\"fontSize\",Et.LABEL.FONT_SIZE),i.label.fontFamily=c(null==l?void 0:l.fontFamily,\"legend.label\",\"fontFamily\",Et.LABEL.FONT_FAMILY),i}var Nt=function(e,t,n){var r=e&&e.dock||void 0;if(\"auto\"!==r)return r||\"right\";if(t){var i=t.element.getBoundingClientRect();if(i.height>i.width)return\"bottom\"}return n?\"left\":\"right\"},Tt=function(e,t,n){return!(n.invalid||\"color\"===n.type||\"measure\"===n.mode&&t.qMeasureInfo.length<=1||\"dimension\"===n.mode)&&(\"function\"==typeof e.show?e.show():!1!==e.show)};function Lt(e,t){var n=e.styleReference,r=e.styleOverrides,i=e.chart,o=e.rtl,a=t.legendProps,l=t.coloring,c=t.theme,s=t.hc,u=At({theme:c,key:n,styleOverrides:r});return{layout:{minimumLayoutMode:\"MEDIUM\",dock:Nt(a,i,o)},show:\"function\"==typeof a.show?function(){return Tt(a,s,l)}:Tt(a,s,l),renderer:\"svg\",mounted:function(e){e.childNodes[0].style.pointerEvents=\"none\",e.style.overflow=\"hidden\"},settings:{title:{show:!1!==a.showTitle,wordBreak:\"break-word\",maxLines:2,lineHeight:1.2,text:l.label||\"\",fill:u.title.color,fontSize:u.title.fontSize,fontFamily:u.title.fontFamily}}}}function Pt(e,t,n){return\"categorical\"===t.coloring.type?function(e,t,n){var r=Lt(e,t);if(!r.show)return!1;var i,o=e.key,a=e.styleReference,c=e.styleOverrides,s=e.viewState,u=e.rtl,f=e.settings,d=e.style,p=t.scaleKey,h=t.theme,m=t.scales,v=At({theme:h,key:a,styleOverrides:c}),g=r.layout.dock,y=\"left\"===g||\"right\"===g?{maxLines:2,wordBreak:\"break-word\"}:{},b={up:\"M13.6,11 L2.4,11 C2.28954305,11 2.2,10.9104569 2.2,10.8 C2.2,10.756726 2.21403557,10.7146192 2.24,10.68 L7.84,3.21333333 C7.90627417,3.12496777 8.03163444,3.10705916 8.12,3.17333333 C8.13516113,3.18470418 8.14862915,3.1981722 8.16,3.21333333 L13.76,10.68 C13.8262742,10.7683656 13.8083656,10.8937258 13.72,10.96 C13.6853808,10.9859644 13.643274,11 13.6,11 Z\",down:\"M2.4,4 L13.6,4 C13.7104569,4 13.8,4.08954305 13.8,4.2 C13.8,4.24327404 13.7859644,4.28538077 13.76,4.32 L8.16,11.7866667 C8.09372583,11.8750322 7.96836556,11.8929408 7.88,11.8266667 C7.86483887,11.8152958 7.85137085,11.8018278 7.84,11.7866667 L2.24,4.32 C2.17372583,4.23163444 2.19163444,4.10627417 2.28,4.04 C2.31461923,4.01403557 2.35672596,4 2.4,4 Z\",left:\"M11,2.4 L11,13.6 C11,13.7104569 10.9104569,13.8 10.8,13.8 C10.756726,13.8 10.7146192,13.7859644 10.68,13.76 L3.21333333,8.16 C3.12496777,8.09372583 3.10705916,7.96836556 3.17333333,7.88 C3.18470418,7.86483887 3.1981722,7.85137085 3.21333333,7.84 L10.68,2.24 C10.7683656,2.17372583 10.8937258,2.19163444 10.96,2.28 C10.9859644,2.31461923 11,2.35672596 11,2.4 Z\",right:\"M4,13.6 L4,2.4 C4,2.28954305 4.08954305,2.2 4.2,2.2 C4.24327404,2.2 4.28538077,2.21403557 4.32,2.24 L11.7866667,7.84 C11.8750322,7.90627417 11.8929408,8.03163444 11.8266667,8.12 C11.8152958,8.13516113 11.8018278,8.14862915 11.7866667,8.16 L4.32,13.76 C4.23163444,13.8262742 4.10627417,13.8083656 4.04,13.72 C4.01403557,13.6853808 4,13.643274 4,13.6 Z\"};\"dimension\"===t.coloring.fieldType&&(i=function(e){return e.datum.value>=0||-3===e.datum.value});var x=\"\".concat(p,\"Legend\");return oe(!0,r,{type:\"legend-cat\",key:\"\".concat(o,\"-cat\"),scale:x in m?x:p,settings:{layout:{scrollOffset:function(){return s?s.get(\"legendScrollOffset\"):void 0},size:-1!==[\"top\",\"bottom\"].indexOf(r.layout.dock)?2:1,direction:u?\"rtl\":\"ltr\",horizontal:20},item:{show:i,label:l({fill:v.label.color,fontSize:v.label.fontSize,fontFamily:v.label.fontFamily},y)},navigation:{disabled:n,button:{content:function(e,t){var n=t.direction;return e(\"i\",{style:{\"pointer-events\":\"none\",fontSize:\"12px\",display:\"inline-block\",fontStyle:\"normal\",lineHeight:\"0\",textAlign:\"center\",textTransform:\"none\",verticalAlign:\"-0.125em\",textRendering:\"optimizelegibility\",margin:\"0px\"}},[e(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 16 16\",fill:\"currentColor\"},[e(\"path\",{d:b[n]})])])}}}},brush:{consume:[{context:\"selection\",data:[\"\",o],style:{inactive:{opacity:.3}}}]}},{settings:f,style:d})}(e,t,n):\"continuous\"===t.coloring.type&&function(e,t){var n,r=e.key,i=e.styleReference,o=e.styleOverrides,a=e.rtl,l=e.settings,c=e.style,s=t.scaleKey,u=t.theme,f=\"\".concat(s,\"Range\"),d=Lt(e,t);if(!d.show)return!1;var p=At({theme:u,key:i,styleOverrides:o}),h=d.layout.dock,m=\"right\"===h||\"left\"===h,v=null===(n=t.scales)||void 0===n?void 0:n[f];return m&&v&&(v.invert=!0),oe(!0,d,{type:\"legend-seq\",key:\"\".concat(r,\"-seq\"),settings:{fill:s,major:f,length:1,tick:{fill:p.label.color,fontSize:p.label.fontSize,fontFamily:p.label.fontFamily},title:{anchor:!a||\"top\"!==d.layout.dock&&\"bottom\"!==d.layout.dock?void 0:\"right\",padding:parseFloat(d.settings.title.fontSize)||16}}},{settings:l,style:c})}(e,t)}function jt(e,t,n){var r=[],i=[],a=Pt(e,t,n&&n.navigationDisabled);return r.push(a),a&&\"legend-cat\"===a.type&&(i.push(function(e){var t=e.key,n=e.requireFailure,r=e.recognizeWith,i=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:tap-\".concat(t),type:\"Tap\",requireFailure:n,recognizeWith:r,options:{event:\"legendtap\",interval:10,pointers:1,enable:function(e,n){var r;if(!n)return!0;if(null!=i&&null!==(r=i.interact)&&void 0!==r&&r.enabled&&!i.interact.enabled())return!1;if(!this.chart.componentsFromPoint({x:n.center.x,y:n.center.y}).some((function(e){return e.key===\"\".concat(t,\"-cat\")})))return!1;var o=n.srcEvent.target;return!!(o&&o.hasAttribute(\"data-action\")&&o.hasAttribute(\"data-component-key\"))||!(!o||!o.childNodes[0]||\"BUTTON\"!==o.childNodes[0].nodeName)}},events:{legendtap:function(e){e.preventDefault();var t=e.srcEvent.target;t&&t.hasAttribute(\"data-action\")&&t.hasAttribute(\"data-component-key\")&&this.chart.component(t.getAttribute(\"data-component-key\")).emit(t.getAttribute(\"data-action\"))}}}}(e,n)),i.push(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,n=e.key,r=e.requireFailure,i=e.recognizeWith,a=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:pan-\".concat(n),type:\"Pan\",requireFailure:r,recognizeWith:i,options:{event:t,pointers:1,threshold:10,enable:function(e,r){var i;return this.started===t||!r||!(null!=a&&null!==(i=a.interact)&&void 0!==i&&i.enabled&&!a.interact.enabled())&&this.chart.componentsFromPoint({x:r.center.x,y:r.center.y}).some((function(e){return e.key===\"\".concat(n,\"-cat\")}))}},events:o(o(o({},\"\".concat(t,\"start\"),(function(e){e.preventDefault(),this.started!==t&&(this.started=t,this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panstart\",e))})),\"\".concat(t,\"move\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panmove\",e)})),\"\".concat(t,\"end\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panend\",e),this.started=!1}))}}(e,n))),{interactions:i,components:r}}var Ft=function(e){return\"rgba(\".concat([(16711680&e)>>16,(65280&e)>>8,255&e,((4278190080&e)>>>24)/255].join(\",\"),\")\")};function Ht(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.auto,n=xt(e.resources).auto(t||function(){return{mode:\"byDimension\",persistent:!1,useDimColVal:!0,byDimDef:{activeDimensionIndex:0,type:\"expression\",label:\"\"}}}).getDimensionColorMap((function(e,t){var n=t.layout,r=t.app;return kt(e,{layout:n,app:r})})).getMeasure((function(e,t){var n=t.layout,r=t.app;return Ct(e,{layout:n,app:r})})).getAttributeDimension((function(e,t){var n=t.layout,r=t.model,i=t.app;return Mt(e,{layout:n,model:r,app:i})}));return n.getSnapshotData=qt,n}({resources:e}),n={},r={},i=function(e){return r.settings||(e||console.warn(\"settings() called before auxiliarySettings()\"),r.settings=t.settings()),r.settings},a={config:function(i){if(n=l({},i),r={},!n.key)throw new Error(\"Missing key\");t.set(l(l({},e),n))},auto:function(e){return e?(t.auto(e),a):t.auto()},getAuxiliarySettings:function(e){return r.auxiliarySettings?Promise.resolve(r.auxiliarySettings):t.getAuxiliarySettings(i(!0),e).then((function(e){return r.auxiliarySettings=e||{},r.settings=l(l({},r.settings),r.auxiliarySettings),r.scales=void 0,r.color=void 0,r.auxiliarySettings}))},getAuxiliaryData:function(){return t.getAuxiliaryData(i())},getSnapshotData:function(e){var n=i();return t.getAuxiliaryData(n,e).then((function(e){return t.getSnapshotData(n,e)}))},resolveUIColor:function(e){return t.resolveUIColor(e)},settings:function(){var e=i();return{mode:e.mode,type:e.type,label:e.label,field:e.field,fieldType:e.fieldType,nil:e.nil,others:e.others,primary:e.primary}},settingsForMeasure:function(e){var t,n=null===(t=i().measureOverrides)||void 0===t?void 0:t[e];return n||this.settings()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return function(e,t){var n=t.isMeasureSelectionLocked;return\"field\"!==e.mode||(\"dimension\"===e.fieldType?e.isFieldLocked:\"measure\"!==e.fieldType||n)}(i(),{isMeasureSelectionLocked:t})},palettes:function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.colorProps,n=e.coloring,r=e.theme,i=[];if(n&&n.palettes&&r){var o=n.palettes.categorical||t.dimensionScheme,a=r.getDataColorPalettes().filter((function(e){return e.key===o}))[0]||r.getDataColorPalettes()[0];o&&a&&i.push({key:\"categorical\",colors:a.colors});var l=n.palettes.metric||t.measureScheme,c=r.getDataColorScales().filter((function(e){return e.key===l}))[0]||r.getDataColorScales()[0];if(c){var s=c.colors[0]?c.colors:[[]].concat(f(c.colors.slice(1)));s=Array.isArray(s[0])?s.map((function(e){return e.slice().reverse()})):s.slice().reverse(),i.push({key:\"quant\",colors:s})}}return i}({coloring:i(),colorProps:n.colorProps,theme:n.theme})},scales:function(){return r.scales=r.scales||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hc,n=e.coloring,r=e.rtl,i=e.key,o=e.source,a=e.picasso,c={},s=i;if(n){var u={override:!0,domain:n.explicit&&\"function\"==typeof n.explicit.domain?n.explicit.domain:[].concat(f((n.explicit||{}).domain||[]),[-3,-2]),range:n.explicit&&\"function\"==typeof n.explicit.range?n.explicit.range:[].concat(f((n.explicit||{}).range||[]),[n.others,n.nil])};if(\"field\"===n.mode){if(\"dimension\"===n.fieldType){var d,p=St({hc:t,source:o,coloring:n}).data;if(n.legendDataset){var h=0,m={};a.data(\"q\")({data:t}).extract({field:n.field,trackBy:n.valueAccessor,reduce:function(e){var t=e[0];return m[t]=h++,e[0]}}),d={source:\"attrDim\",extract:{field:\"qDimensionInfo/0\",filter:function(e){return e.qElemNumber>=0},props:{row:{value:function(e){return m[e.qElemNumber]}}}}}}var v={data:p,range:n.range,domain:n.domain,explicit:u,type:\"categorical-color\",label:function(e){return e.datum.text&&e.datum.text.value?e.datum.text.value:e.datum.label}};c[s]=v,d&&(c[\"\".concat(s,\"Legend\")]=l(l({},v),{},{data:d})),t&&t.qHasOtherValues&&d&&((d||v.data).amend=[{label:t.qDimensionInfo[0].othersLabel,source:{key:\"qHyperCube\",field:\"qDimensionInfo/0\"},row:{value:-3},value:-3}])}else if(\"measure\"===n.fieldType){var g={data:{field:n.field},min:n.min,max:n.max};c[s]=oe({},g,{type:\"categorical\"===n.type?\"threshold-color\":\"sequential-color\",range:n.range,domain:n.domain,invert:n.reverse}),\"sequential-color\"===c[s].type&&(c[\"\".concat(s,\"Range\")]=oe({},g,{invert:!!r}))}else if(\"color\"!==n.type)throw new Error(\"UNUSED FIELD\")}else if(\"dimension\"===n.mode){var y={data:t.qDimensionInfo.map((function(e,t){return t})),label:function(e){return t.qDimensionInfo[e.datum.value].qFallbackTitle},explicit:u,type:\"categorical-color\"};c[s]=y}else if(\"measure\"===n.mode){var b={data:t.qMeasureInfo.map((function(e,t){return t})).filter((function(e){var t;return!(null!==(t=n.explicit)&&void 0!==t&&null!==(t=t.exclude)&&void 0!==t&&t.includes(e))})),label:function(e){return t.qMeasureInfo[e.datum.value].qFallbackTitle},explicit:u,type:\"categorical-color\"};c[s]=b}}return c}({hc:n.hc,coloring:i(),key:n.key,source:n.source,picasso:e.picasso}),r.scales},color:function(){return r.color=r.color||function(e){var t=e.coloring,n=e.scales,r=e.key,i=Dt(r),o=Dt(\"\".concat(r,\"IsAnOther\")),a=function(e,t){var r=e.fieldType,a=e.invalid,l=e.mode,c=e.nil,s=e.others,u=e.primary,f=e.type;return a?function(e){return It(e)||o(e)?s:c}:n[t]?function(e){return It(e)?s:Ot(e)||-2===i(e)&&\"dimension\"===r||\"NaN\"===i(e)?c:o(e)?s:e.resources.scale(t)(i(e))||s}:\"constant\"===l?function(e){return It(e)||o(e)?s:Ot(e)?c:u}:\"color\"===f?function(e){return It(e)||o(e)?s:Ot(e)?c:i(e)||s}:null},l=a(t,r);if(t.measureOverrides){var c=Dt(\"\".concat(r,\"MeasureIdx\")),s=t.measureOverrides.map((function(e){return e&&a(e)}));return function(e){var t=c(e);return s[t]?s[t](e):l(e)}}return l}({coloring:i(),scales:this.scales(),key:n.key}),r.color},datumProps:function(e){return function(e){var t,n,r=e.hc,i=e.coloring,a=e.scales,l=e.key,c=e.addMeasureIx,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,u=l,f=i.nil;\"field\"===i.mode&&i.field?t=i.field:a[l]&&\"field\"===i.mode&&(t=a[l].data.field||i.field),t?(n={field:t,reduce:\"first\"},\"color\"===i.type&&(n.value=function(e){return\"NaN\"!==e.qNum?Ft(e.qNum):e.qText&&Oe(e.qText)?e.qText:f})):\"dimension\"===i.mode?n=void 0!==i.field?i.field:r.qDimensionInfo.length-1:\"measure\"===i.mode&&(n=s);var d=o({},u,n);return r.qDimensionInfo.length>1&&(d[\"\".concat(u,\"IsAnOther\")]={fields:r.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return-1!==e.indexOf(-3)}}),c&&(d[\"\".concat(u,\"MeasureIdx\")]=s),d}({coloring:this.settingsForMeasure(e),scales:this.scales(),key:n.key,hc:n.hc,addMeasureIx:i().measureOverrides},e)},data:function(){var e=i(),t={key:\"dummy\",data:[[\"field\"],[\"a\"]]};return e.legendDataset?[t,{type:\"q\",key:\"attrDim\",data:e.legendDataset.raw(),config:{localeInfo:n.localeInfo}}]:[t]},legend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,r=e.key,o=e.viewState,a=e.chart,l=e.rtl,c=e.styleReference,s=void 0===c?\"object.legend\":c,u=e.styleOverrides,f=e.settings,d=void 0===f?{}:f,p=e.style,h=void 0===p?{}:p,m=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return jt({eventName:t,key:r,rtl:l,viewState:o,chart:a,styleReference:s,styleOverrides:u,settings:d,style:h},{legendProps:n.legendProps,scaleKey:n.key,coloring:i(),theme:n.theme,hc:n.hc,scales:this.scales()},m)}};return a}var zt=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Rt(e){var t=e.qHyperCube,n=t.qDimensionInfo,r=t.qMeasureInfo,i=n.some(zt),o=r.some(zt),a=e.color.useBaseColors;return\"measure\"===a&&!o||\"dimension\"===a&&!i?\"off\":a}function Vt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=l(l(l({},e),t),{},{colorProps:l(l({},e.colorProps),t.colorProps||{})});return n}var _t=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Bt(e){var t,n=e.qHyperCube.qDimensionInfo.some(_t),r=e.qHyperCube.qMeasureInfo.some(_t),i=n?\"dimension\":void 0;return{mode:\"primary\",useBaseColors:null!==(t=null!=i?i:r?\"measure\":void 0)&&void 0!==t?t:\"off\",paletteColor:null}}var Kt=function(){};function $t(e){var t,n,r,i,o=e.picasso,a=e.model,c=e.app,s=e.translator,u=e.layoutService,f=void 0===u?void 0:u,d=e.createConfig,p=void 0===d?Kt:d,h=e.config,m=void 0===h?{}:h,v=e.custom,g=void 0===v?{}:v,y=m.localeInfo,b=m.key,x=m.theme,q=void 0===x?void 0:x,w=m.auto,k=void 0===w?void 0:w,C=m.definitionPath,M=null==f||null===(t=f.getLayout)||void 0===t?void 0:t.call(f),S={theme:q,key:b,localeInfo:y,layout:M,hc:null==f||null===(n=f.getHyperCube)||void 0===n?void 0:n.call(f),legendProps:null==f||null===(r=f.getLayoutValue)||void 0===r?void 0:r.call(f,\"legend\"),colorProps:l(l({},null==f||null===(i=f.getLayoutValue)||void 0===i?void 0:i.call(f,\"color\")),{},{useBaseColors:M?Rt(M):void 0})},D=Ht({picasso:o,model:a,app:c,translator:s,auto:k});!1!==k&&D.auto((function(e){return k?k({layout:e,defaultAuto:Bt}):Bt(e)}));var O=!1,I={getColor:function(){return D.color()},getPaletteColor:function(e){var t=e.index,n=e.color;return D.resolveUIColor({index:t,color:n})},getData:function(){return D.data()},getDatumProps:function(e){return D.datumProps(e)},getSnapshotData:function(){return D.getSnapshotData(C)},getSettingsForMeasure:function(e){return D.settingsForMeasure(e)},getSettings:function(){return D.settings()},getLegend:function(e,t){return D.legend(e,t)},getScales:function(){return D.scales()},getPalettes:function(){return D.palettes()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return D.isSelectionLocked({isMeasureSelectionLocked:t})},isInitialized:function(){return O},custom:l({},g),initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.createConfig,n=void 0===t?p:t,r=n({getUseBaseColors:Rt}),i=Vt(S,r);D.config(i);var o=D.getAuxiliarySettings(C).then((function(){O=!0}));return o}};return I}var Yt=\"center\",Ut=\"bottom\",Gt=[{key:\"NoDataExist\",alignment:Yt,condition:function(e){var t=e.layoutService;if(!t)return!1;var n=t.meta.size;return n.x*n.y==0}},{key:\"OnlyNanDataMeasure\",translationKey:\"OnlyNanData\",alignment:Yt,condition:function(e){var t=e.layoutService;return!!t&&t.getHyperCubeValue(\"qMeasureInfo\").every((function(e){return\"NaN\"===e.qMin&&\"NaN\"===e.qMax}))}},{key:\"OnlyNanDataDimensionContinuous\",translationKey:\"OnlyNanData\",alignment:Yt,condition:function(e){var t=e.layoutService;if(!t)return!1;if(!t.meta.isContinuous)return!1;var n=t.getHyperCubeValue(\"qDimensionInfo.0\");return n&&(n.qMax<n.qMin||\"NaN\"===n.qMax)}},{key:\"OnlyNegativeOrZeroValues\",alignment:Yt},{key:\"DataRangeIncludingZero\",alignment:Ut},{key:\"LimitedData\",alignment:Ut},{key:\"NegativeOrZeroValues\",alignment:Ut}].reduce((function(e,t){return e[t.key]=t,e}),{}),Wt=function(){return!1};function Xt(e){var t=e.args,n=e.disclaimers,r=[];return Object.keys(n).forEach((function(e){var i=Gt[e],o=n[e];o&&((o.condition||(null==i?void 0:i.condition)||Wt)(t)&&r.push({key:(null==i?void 0:i.translationKey)||(null==i?void 0:i.key)||e,alignment:o.alignment||(null==i?void 0:i.alignment)||Ut}))})),r.find((function(e){return e.alignment===Yt}))||r[0]}function Zt(e){var t,n=e.layout,r=e.config,i=void 0===r?{}:r,o={disclaimer:void 0,isSuppressing:!1,showDisclaimer:null!==(t=i.args)&&void 0!==t&&t.layoutService?i.args.layoutService.getLayoutValue(\"showDisclaimer\"):null==n?void 0:n.showDisclaimer};return{initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.args;o.disclaimer=Xt({args:l(l({layout:n},i.args),t),disclaimers:i.disclaimers||{}}),o.isSuppressing=!(!o.disclaimer||o.disclaimer.alignment!==Yt)},getDisclaimer:function(){return o.isSuppressing?o.disclaimer:!1===o.showDisclaimer?void 0:o.disclaimer},getHasSuppressingDisclaimer:function(){return o.isSuppressing}}}function Jt(e){var t=e.chart,n=e.logicalSize;if(n)return n;var r=t?t.element.getBoundingClientRect():{};return{width:r.width,height:r.height}}var Qt=[{key:\"FULL\",size:{width:550,height:450}},{key:\"MEDIUM\",size:{width:400,height:220}},{key:\"SMALL\",size:{width:300,height:150}},{key:\"XSMALL\",size:{width:150,height:75}}];function en(e){var t=e.width,n=e.height,r=Qt.filter((function(e){return t>=e.size.width&&n>=e.size.height})).shift();return r?r.key:\"SPARK\"}var tn={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\",near:\"far\",far:\"near\"};function nn(e){var t=e.orientation,n=e.dock,r=e.btt,i=e.rtl,o=\"horizontal\"===t?function(e){return\"bottom\"===e||\"near\"===e?\"bottom\":\"top\"}(n):function(e,t){var n=\"left\"===e||\"near\"===e?\"left\":\"right\";return t?tn[n]:n}(n,i),a=function(e,t,n){return\"vertical\"===e?t?\"bottom\":\"top\":n?\"right\":\"left\"}(t,r,i);return{current:o,opposite:tn[o],start:a,end:tn[a]}}function rn(e){var t=e.chart,n=e.layoutService,r=e.config,i=void 0===r?{}:r,o=i.logicalSize,a=void 0!==o&&o,c=i.rtl,s=void 0!==c&&c,u={chart:{size:void 0,mode:void 0},x:{dock:void 0,opposite:void 0,size:void 0},y:{dock:void 0,opposite:void 0,size:void 0}},f={type:\"x-y\",config:l({},i),meta:u,update:function(e){u.chart.size={width:e.width,height:e.height},u.chart.mode=en(e);var t=nn({orientation:\"horizontal\",dock:n.getLayoutValue(\"xAxis.dock\"),btt:!1,rtl:s}),r=t.current,i=t.opposite;u.x.dock=r,u.x.opposite=i,u.x.size=e.width;var o=nn({orientation:\"vertical\",dock:n.getLayoutValue(\"yAxis.dock\"),btt:!0,rtl:s}),a=o.current,l=o.opposite;u.y.dock=a,u.y.opposite=l,u.y.size=e.height}};return f.update(Jt({chart:t,logicalSize:a})),f}var on=\"vertical\",an=\"horizontal\";function ln(e){var t=e.chart,n=e.layoutService,r=e.config,i=void 0===r?{}:r,o=e.typeConfig,a=void 0===o?{}:o,c=i.logicalSize,s=void 0!==c&&c,u=i.rtl,f=void 0!==u&&u,d=a.fallback===on?on:an,p=!!a.invert,h=a.measureAxes||[{ref:\"measureAxis\",name:\"minor\"}],m={chart:{orientation:void 0,size:void 0,mode:void 0},major:{orientation:void 0,dock:void 0,opposite:void 0,size:void 0}},v={type:\"major-minor\",config:l({},i),meta:m,update:function(e){m.chart.orientation=n.getLayoutValue(\"orientation\",d),m.chart.size={width:e.width,height:e.height},m.chart.mode=en(e),m.major.orientation=function(e){var t=e.layoutService,n=e.chartOrientation,r=e.invert;return t.meta.isContinuous?an:r?n===on?an:on:n}({layoutService:n,chartOrientation:m.chart.orientation,invert:p});var t=nn({orientation:m.major.orientation,dock:n.getLayoutValue(\"dimensionAxis.dock\"),btt:!1,rtl:f}),r=t.current,i=t.opposite;m.major.dock=r,m.major.opposite=i,m.major.size=m.major.orientation===on?e.height:e.width,h.forEach((function(t){var r={};r.orientation=m.major.orientation===on?an:on;var i=nn({orientation:r.orientation,dock:n.getLayoutValue(\"\".concat(t.ref,\".dock\")),btt:!0,rtl:f}),o=i.current,a=i.opposite,l=i.start,c=i.end;r.dock=o,r.opposite=a,r.start=l,r.end=c,r.size=r.orientation===on?e.height:e.width,m[t.name]=r}))}};return v.update(Jt({chart:t,logicalSize:s})),v}function cn(e){var t=e.chart,n=e.layoutService,r=e.config,i=void 0===r?{}:r,o=e.typeConfig,a=void 0===o?{}:o;return(\"x-y\"===a.type?rn:ln)({chart:t,layoutService:n,config:i,typeConfig:a})}function sn(e,t,n){if(void 0===e||void 0===t)return n;for(var r=t.split(\".\"),i=e,o=0;o<r.length;++o){var a=r[o];if(void 0===i[a])return n;i=i[a]}return i}var un=[\"__proto__\",\"constructor\"];function fn(e,t,n){if(void 0!==e&&void 0!==t){var r=t.split(\".\"),i=r[r.length-1];if(!un.some((function(e){return r.includes(e)}))){for(var o=e,a=0;a<r.length-1;++a){var l=r[a];void 0===o[l]&&(o[l]=Number.isNaN(+r[a+1])?{}:[]),o=o[l]}void 0!==n?o[i]=n:delete o[i]}}}function dn(){var e={};return{get:function(t){return e[t]},set:function(t,n){return e[t]=n,n},has:function(t){return t in e},remove:function(t){delete e[t]},empty:function(){e={}}}}function pn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=dn();return function(r){var i=t(r);return n.has(i)?n.get(i):n.set(i,e(r))}}function hn(e){var t=l({},e),n={},r={},i=!1,o={get:function(e){return t[e]},set:function(e,o){var a=t[e];!i&&n[e]?t[e]=n[e](o,a):t[e]=o,!i&&r[e]&&r[e](t[e],a)},preventSet:function(e,t){i=!0,o.set(e,t),i=!1},intercept:function(e,t){n[e]=t},onChanged:function(e,t){r[e]=t}};return o}function mn(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;return function(){for(var r=this,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];var l=function(){return e.apply(r,o)};clearTimeout(t),t=setTimeout(l,n)}}function vn(e){var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,o=0;return function(){t=this;for(var a=arguments.length,l=new Array(a),c=0;c<a;c++)l[c]=arguments[c];n=l;var s=Date.now()-o,u=function(){o=Date.now(),r=0,e.apply(t,n)};r||(s>=i?u():r=setTimeout(u,i-s))}}var gn={ERROR_CODES:[7005],DIMENSION:\"qDimensionInfo\",MEASURE:\"qMeasureInfo\"},yn=function(e,t){return e[t].reduce((function(e,t,n){var r;return(r=t,gn.ERROR_CODES.some((function(e){var t;return e===(null===(t=r.qError)||void 0===t?void 0:t.qErrorCode)})))?e.filtered.push(n):e.reduced.push(t),e}),{reduced:[],filtered:[]})};function bn(e){var t;return((null==e||null===(t=e.qHyperCube)||void 0===t?void 0:t.qDimensionInfo)||[]).map((function(e){var t,n=null===(t=e.qCardinalities)||void 0===t?void 0:t.qHypercubeCardinal;if(n)return n;var r=e.qStateCounts||{},i=r.qLocked,o=void 0===i?0:i,a=r.qOption,l=void 0===a?0:a,c=r.qSelected;return o+l+(void 0===c?0:c)}))}function xn(e){switch(e.qHyperCube.qMode){case\"S\":return function(e){var t=e.qHyperCube.qSize;return{refs:{dataPages:\"qHyperCube.qDataPages\"},size:{x:t.qcx,y:t.qcy,dimensions:bn(e)}}}(e);case\"K\":return function(e){var t=bn(e);return{refs:{dataPages:\"qHyperCube.qStackedDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);case\"T\":return function(e){var t=bn(e);return{refs:{dataPages:\"qHyperCube.qTreeDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);default:throw new Error(\"Mode not supported\")}}function qn(e){var t=e.source,n=e.metaAdditionsFn,r=e.experimental,i=void 0===r?{filter:!1}:r,o=oe(!0,{},t),a=i.filter?function(e){var t=e.qHyperCube,n=yn(t,gn.DIMENSION),r=n.reduced,i=n.filtered;t[gn.DIMENSION]=r;var o=yn(t,gn.MEASURE),a=o.reduced,l=o.filtered;return t[gn.MEASURE]=a,{dimensions:i,measures:l}}(o):{dimensions:[],measures:[]},c=xn(o),s=function(){var e=function(e){var t=e.layout,n=e.additionsFn,r=void 0===n?function(){return{}}:n,i=e.additionsProps,o=void 0===i?{}:i,a=t.qHyperCube,c=a.qDimensionInfo,s=a.qMeasureInfo,u=a.qMode,f=c.length,d=s.length,p=l({mode:{S:\"S\"===u,P:\"P\"===u,K:\"K\"===u,T:\"T\"===u},dimensionCount:f,measureCount:d,hasMultipleDimensions:f>1,hasMultipleMeasures:d>1,isOneDimensional:1===f,isTwoDimensional:2===f},o);return l(l({},p),r({layout:t,meta:p}))}({layout:o,additionsFn:n,additionsProps:{size:c.size}});return e.filteredFields=a,e},u={refs:l({},c.refs),meta:s(),getLayout:function(){return o},getLayoutValue:function(e,t){return sn(o,e,t)},setLayoutValue:function(e,t){fn(o,e,t),c=xn(o),u.meta=s()},getHyperCube:function(){return o.qHyperCube},getHyperCubeValue:function(e,t){return sn(o.qHyperCube,e,t)},setHyperCubeValue:function(e,t){fn(o.qHyperCube,e,t),c=xn(o),u.meta=s()},getDataPages:function(){return sn(o,c.refs.dataPages)},setDataPages:function(e){fn(o,c.refs.dataPages,e),u.meta=s()}};return u}function wn(e){var t=e.originalArray,n=e.newArray,r=e.matchKey;return Array.isArray(t)&&t.length?(n.forEach((function(e){var n=-1;t.some((function(t,i){return t[r]&&t[r]===e[r]&&(n=i),n})),n>-1?t[n]=e:t.push(e)})),t):n}function kn(e){var t=e.picassoInstance,n=e.plugins,r=e.pluginArgs,o=void 0===r?{}:r,a={initialized:!1,definitions:[]};return{initialize:function(){return i(s().mark((function e(){var r,c,u,p;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a.initialized){e.next=2;break}return e.abrupt(\"return\");case 2:return c=Promise.all(n.filter((function(e){return\"custom-component\"===e.info.type})).map(function(){var e=i(s().mark((function e(n){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.info.componentName){e.next=2;break}throw new Error(\"plugin-service: Custom component is missing componentName\");case 2:return e.next=4,n.fn(l({},o));case 4:if(\"object\"===d(r=e.sent)){e.next=7;break}throw new Error(\"plugin-service: Custom component needs to be an object\");case 7:t.component(n.info.componentName,r);case 8:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())),u=Promise.all(n.filter((function(e){return\"component-definition\"===e.info.type})).map((function(e){return e.fn(l({},o))}))),e.next=6,Promise.all([c,u]);case 6:p=e.sent,a.initialized=!0,(r=a.definitions).push.apply(r,f(p[1]));case 9:case\"end\":return e.stop()}}),e)})))()},extendComponents:function(e){return a.initialized?(a.definitions.filter(Boolean).forEach((function(t){var n=u(e.filter((function(e){return e.key&&e.key===t.key})),1)[0];if(n){var r=oe(!0,{},n.brush);oe(!0,n,t),t.brush&&(n.brush=function(e,t){return\"object\"===d(e)&&Object.keys(e).length?(Array.isArray(t.consume)&&(e.consume=wn({originalArray:e.consume,newArray:t.consume,matchKey:\"context\"})),Array.isArray(t.trigger)&&(e.trigger=wn({originalArray:e.trigger,newArray:t.trigger,matchKey:\"on\"})),e):t}(r,t.brush))}else e.push(t)})),e):e}}}function Cn(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mn(Object(n),!0).forEach((function(t){Cn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Dn=Object.prototype.hasOwnProperty,On=Object.prototype.toString,In=Object.defineProperty,En=Object.getOwnPropertyDescriptor,An=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===On.call(e)},Nn=function(e){if(!e||\"[object Object]\"!==On.call(e))return!1;var t,n=Dn.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&Dn.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||Dn.call(e,t)},Tn=function(e,t){In&&\"__proto__\"===t.name?In(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Ln=function(e,t){if(\"__proto__\"===t){if(!Dn.call(e,t))return;if(En)return En(e,t).value}return e[t]},Pn=function e(){var t,n,r,i,o,a,l=arguments[0],c=1,s=arguments.length,u=!1;for(\"boolean\"==typeof l&&(u=l,l=arguments[1]||{},c=2),(null==l||\"object\"!=typeof l&&\"function\"!=typeof l)&&(l={});c<s;++c)if(null!=(t=arguments[c]))for(n in t)r=Ln(l,n),l!==(i=Ln(t,n))&&(u&&i&&(Nn(i)||(o=An(i)))?(o?(o=!1,a=r&&An(r)?r:[]):a=r&&Nn(r)?r:{},Tn(l,{name:n,newValue:e(u,a,i)})):void 0!==i&&Tn(l,{name:n,newValue:i}));return l};function jn(e,t,n,r){if(!e)return-1;const i=n.cache,o=e.origin?e.origin():null;o&&(e=o);let a=i.fields.indexOf(e),l=-1,c=-1;if(-1===a)for(let t=0;t<i.wrappedFields.length;t++)if(c=i.wrappedFields[t].attrDims.map((e=>e.instance)).indexOf(e),l=i.wrappedFields[t].attrExps.map((e=>e.instance)).indexOf(e),-1!==c||-1!==l){a=t;break}if(Array.isArray(r)&&r.some(((e,t)=>e!==t))){const e=r.indexOf(a);-1!==e&&(a=e)}return a-=t.qArea.qLeft,a<0||a>=t.qArea.qWidth?-1:c>=0?e=>e[a].qAttrDims.qValues[c]:l>=0?e=>e[a].qAttrExps.qValues[l]:e=>e[a]}function Fn(e,t,n){let{key:r}=n;const i={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return i.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(i.value),e.field&&(i.source={key:r,field:e.field.key()}),i}function Hn(e){let{cache:t,f:n,mainCell:r,p:i,prop:o,page:a,rowIdx:l,row:c,sourceKey:s,target:u,targetProp:f,columnOrder:d}=e,p=r;if(i.field&&i.field!==n){const e=jn(i.field,a,{cache:t},d);if(-1===e)return;p=Pn({qRow:l},e(c))}u[f]=Fn(i,p,{key:s})}function zn(e,t,n,r){const i=Array.isArray(e)?e:[e];let o=[];for(let e=0;e<i.length;e++)if(void 0!==i[e].field){const a=t.raw(),l=t.key(),c=\"object\"==typeof i[e].field?i[e].field:t.field(i[e].field),{props:s,main:u}=r.normalizeConfig(i[e],t),f=Object.keys(s),d=!!i[e].trackBy,p=typeof i[e].trackBy,h={},m=[],v=[];for(let t=0;t<a.qDataPages.length;t++){const o=jn(c,a.qDataPages[t],{cache:n},a.qColumnOrder);if(-1!==o)for(let g=0;g<a.qDataPages[t].qMatrix.length;g++){const y=a.qDataPages[t].qArea.qTop+g,b=Pn({qRow:y},o(a.qDataPages[t].qMatrix[g])),x=Fn(u,b,{key:l});if(!(u.filter&&!u.filter(b))){for(let e=0;e<f.length;e++){const r=s[f[e]];let i=r.fields||[r];r.fields&&(x[f[e]]=[]);for(let o=0;o<i.length;o++)Hn({cache:n,f:c,mainCell:b,p:i[o],prop:f[e],props:s,page:a.qDataPages[t],rowIdx:y,row:a.qDataPages[t].qMatrix[g],sourceKey:l,target:r.fields?x[f[e]]:x,targetProp:r.fields?o:f[e],columnOrder:a.qColumnOrder});if(r.fields){const t=x[f[e]].map((e=>e.value)),n=x[f[e]].map((e=>e.label));x[f[e]]={value:\"function\"==typeof r.value?r.value(t):void 0!==r.value?r.value:t,label:\"function\"==typeof r.label?r.label(n):void 0!==r.label?String(r.label):String(x[f[e]].value)}}}d&&r.track({cfg:i[e],itemData:b,obj:x,target:m,tracker:h,trackType:p}),v.push(x)}}}const g=d?r.collect(m,{main:u,propsArr:f,props:s}):v;o=[...o,...g]}return o}function Rn(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function Vn(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=Bn)):void 0===t&&(t=_n);for(var n,r,i,o,a,l=new Yn(e),c=[l];n=c.pop();)if((i=t(n.data))&&(a=(i=Array.from(i)).length))for(n.children=i,o=a-1;o>=0;--o)c.push(r=i[o]=new Yn(i[o])),r.parent=n,r.depth=n.depth+1;return l.eachBefore($n)}function _n(e){return e.children}function Bn(e){return Array.isArray(e)?e[1]:null}function Kn(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function $n(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Yn(e){this.data=e,this.depth=this.height=0,this.parent=null}function Un(e){return null==e?null:function(e){if(\"function\"!=typeof e)throw new Error;return e}(e)}Yn.prototype=Vn.prototype={constructor:Yn,count:function(){return this.eachAfter(Rn)},each:function(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this},eachAfter:function(e,t){for(var n,r,i,o=this,a=[o],l=[],c=-1;o=a.pop();)if(l.push(o),n=o.children)for(r=0,i=n.length;r<i;++r)a.push(n[r]);for(;o=l.pop();)e.call(t,o,++c,this);return this},eachBefore:function(e,t){for(var n,r,i=this,o=[i],a=-1;i=o.pop();)if(e.call(t,i,++a,this),n=i.children)for(r=n.length-1;r>=0;--r)o.push(n[r]);return this},find:function(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;e=n.pop(),t=r.pop();for(;e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return Vn(this).eachBefore(Kn)},[Symbol.iterator]:function*(){var e,t,n,r,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(yield i,t=i.children)for(n=0,r=t.length;n<r;++n)o.push(t[n])}while(o.length)}};var Gn={depth:-1},Wn={},Xn={};function Zn(e){return e.id}function Jn(e){return e.parentId}function Qn(){var e,t=Zn,n=Jn;function r(r){var i,o,a,l,c,s,u,f,d=Array.from(r),p=t,h=n,m=new Map;if(null!=e){const t=d.map(((t,n)=>function(e){let t=(e=`${e}`).length;tr(e,t-1)&&!tr(e,t-2)&&(e=e.slice(0,-1));return\"/\"===e[0]?e:`/${e}`}(e(t,n,r)))),n=t.map(er),i=new Set(t).add(\"\");for(const e of n)i.has(e)||(i.add(e),t.push(e),n.push(er(e)),d.push(Xn));p=(e,n)=>t[n],h=(e,t)=>n[t]}for(a=0,i=d.length;a<i;++a)o=d[a],s=d[a]=new Yn(o),null!=(u=p(o,a,r))&&(u+=\"\")&&(f=s.id=u,m.set(f,m.has(f)?Wn:s)),null!=(u=h(o,a,r))&&(u+=\"\")&&(s.parent=u);for(a=0;a<i;++a)if(u=(s=d[a]).parent){if(!(c=m.get(u)))throw new Error(\"missing: \"+u);if(c===Wn)throw new Error(\"ambiguous: \"+u);c.children?c.children.push(s):c.children=[s],s.parent=c}else{if(l)throw new Error(\"multiple roots\");l=s}if(!l)throw new Error(\"no root\");if(null!=e){for(;l.data===Xn&&1===l.children.length;)l=l.children[0],--i;for(let e=d.length-1;e>=0&&(s=d[e],s.data===Xn);--e)s.data=null}if(l.parent=Gn,l.eachBefore((function(e){e.depth=e.parent.depth+1,--i})).eachBefore($n),l.parent=null,i>0)throw new Error(\"cycle\");return l}return r.id=function(e){return arguments.length?(t=Un(e),r):t},r.parentId=function(e){return arguments.length?(n=Un(e),r):n},r.path=function(t){return arguments.length?(e=Un(t),r):e},r}function er(e){let t=e.length;if(t<2)return\"\";for(;--t>1&&!tr(e,t););return e.slice(0,t)}function tr(e,t){if(\"/\"===e[t]){let n=0;for(;t>0&&\"\\\\\"===e[--t];)++n;if(0==(1&n))return!0}return!1}function nr(e,t){\"/\"===e.charAt(0)&&(e=e.substring(1));const n=e.split(\"/\");let r,i=t;for(let e=0;e<n.length;e++){if(\"*\"===n[e]&&Array.isArray(i)){const t=[];r=n.slice(e+1).join(\"/\");for(let e=0;e<i.length;e++){let n=nr(r,i[e]);Array.isArray(n)?t.push(...n):t.push(n)}return t}if(!n[e]&&Array.isArray(i)){const t=new Array(i.length);r=n.slice(e+1).join(\"/\");for(let e=0;e<i.length;e++)t[e]=nr(r,i[e]);return t}n[e]in i&&(i=i[n[e]])}return i}function rr(e,t,n){let r=[];if(!e||!e.length)return r;if(t<=0){const t=n>=0?[e[n]]:e;r=[...r,...t]}else for(let i=0;i<e.length;i++)e[i].children&&e[i].children.length&&(r=[...r,...rr(e[i].children,t-1,n)]);return r}function ir(e,t,n){if(e===t)return e=>e;if(e>t){const n=Math.max(0,Math.min(100,e-t));return e=>{let t=e;for(let e=0;e<n;++e)t=t.parent;return t}}if(t>e){const r=Math.max(0,Math.min(100,t-e));return e=>rr(e.children,r-1,n)}return!1}function or(e,t){let{cache:n}=t;if(\"number\"==typeof e)return n.fields[e];const r=n.allFields;if(\"function\"==typeof e){for(let t=0;t<r.length;t++)if(e(r[t]))return r[t];return!1}if(\"string\"==typeof e){for(let t=0;t<r.length;t++)if(r[t].key()===e||r[t].title()===e)return r[t]}else if(e&&-1!==r.indexOf(e))return e;throw Error(\"Field not found: \".concat(e))}const ar=/^qDimensionInfo(?:\\/(\\d+))?/,lr=/^\\/?qMeasureInfo\\/(\\d+)/,cr=/\\/qAttrExprInfo\\/(\\d+)/,sr=/\\/qAttrDimInfo\\/(\\d+)/;function ur(e){return(e.qColumnOrder&&e.qColumnOrder.length?e.qColumnOrder:e.qDimensionInfo.map(((e,t)=>t))).filter((t=>t<e.qDimensionInfo.length))}function fr(e,t){let{cube:n}=t;if(!e)return-1;let r=e.origin&&e.origin()?e.origin().key():e.key(),i=!1,o=-1,a=-1,l=-1,c=-1,s=-1,u=-1,f=r;const d=n.qEffectiveInterColumnSortOrder,p=ur(n);return ar.test(f)&&(i=!0,o=+ar.exec(f)[1],f=r.replace(ar,\"\")),lr.test(f)&&(\"K\"===n.qMode?s=+lr.exec(f)[1]:d&&-1!==d.indexOf(-1)?(s=+lr.exec(f)[1],u=0):u=+lr.exec(f)[1],f=f.replace(lr,\"\")),f&&(sr.exec(f)?l=+sr.exec(f)[1]:cr.exec(f)&&(a=+cr.exec(f)[1])),c=i?\"S\"===n.qMode?p[o]:d?d.indexOf(o):o:d&&-1!==d.indexOf(-1)?d.indexOf(-1):n.qDimensionInfo.length-(\"K\"===n.qMode?0:1),{fieldDepth:c+1,pseudoMeasureIndex:s,measureIdx:u,attrDimIdx:l,attrIdx:a}}function dr(e,t){let n,r,i=ir(e.fieldDepth,t.fieldDepth,t.pseudoMeasureIndex);return n=t.measureIdx>=0?e=>e.data.qValues[t.measureIdx]:e=>e.data,t.attrDimIdx>=0?r=e=>{var n;return null==e||null===(n=e.qAttrDims)||void 0===n?void 0:n.qValues[t.attrDimIdx]}:t.attrIdx>=0&&(r=e=>{var n;return null==e||null===(n=e.qAttrExps)||void 0===n?void 0:n.qValues[t.attrIdx]}),{nodeFn:i,attrFn:r,valueFn:n}}function pr(e,t,n){let{key:r}=n;const i={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return i.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(i.value),e.field&&(i.source={key:r,field:e.field.key()}),i}function hr(e){let{propsArr:t,props:n,item:r,itemData:i,ret:o,sourceKey:a}=e;for(let e=0;e<t.length;e++){const l=n[t[e]],c=l.fields||[l];let s,u;l.fields&&(s=[],u=[]);for(let n=0;n<c.length;n++){const f=c[n];let d,p,h,m,v,g;if(\"primitive\"===f.type?(h=f.value,g=String(f.value)):(\"function\"==typeof f.value&&(d=e=>f.value(e,r)),\"function\"==typeof f.label&&(p=e=>f.label(e,r)),f.accessor?(m=f.accessor(r),Array.isArray(m)?(v=m.map(f.valueAccessor),f.attrAccessor&&(v=v.map(f.attrAccessor)),d&&(h=v.map(d),d=null),p&&(g=v.map(p),p=null),h=f.reduce?f.reduce(h):h,g=f.reduceLabel?f.reduceLabel(g,h):String(h)):(h=f.attrAccessor?f.attrAccessor(f.valueAccessor(m)):f.valueAccessor(m),g=h)):(h=i,g=i)),l.fields){const e=d?d(h):h;s.push(e),u.push(p&&null!=g?p(g):null!=g?g:String(e))}else{const n=d?d(h):h;o[t[e]]={value:n,label:p?p(g):null!=g?g:String(n)},f.field&&(o[t[e]].source={field:f.field.key(),key:a})}}s&&(o[t[e]]={value:\"function\"==typeof l.value?l.value(s,r):s,label:\"function\"==typeof l.label?l.label(u,r):u})}}const mr=(e,t,n)=>{const r=\"K\"===e.qMode?\"/qStackedDataPages/*/qData\":\"/qTreeDataPages/*\",i=\"K\"===e.qMode?\"qSubNodes\":\"qNodes\",o=nr(r,e);return o&&o[0]?(t.tree=Vn(o[0],n.children||(e=>e[i])),t.tree):null};function vr(e){const t=e.raw().qDataPages.length?e.raw().qDataPages[0].qMatrix:[],n=function(e){const t=e.raw().qColumnOrder,n=e.fields();return t&&t.length===n.length?t:n.map(((e,t)=>t))}(e),r=e.fields(),i=e.fields().filter((e=>\"dimension\"===e.type())).map((e=>n.indexOf(r.indexOf(e)))),o=e.fields().filter((e=>\"measure\"===e.type())).map((e=>n.indexOf(r.indexOf(e)))),a={__root:{__id:\"__root\",qValues:[]}};for(let e=0;e<t.length;e++){const n=t[e];let r=\"__root\",c=!1;for(let e=0;e<i.length;e++){var l;const t=n[i[e]],o=\"\".concat(r,\"__\").concat(null!==(l=t.qElemNumber)&&void 0!==l?l:t.qElemNo);a[o]||(a[o]=Sn({__id:o,__parent:r,qValues:[]},t),c=!0),r=o}if(c)for(let e=0;e<o.length;e++){const t=n[o[e]];a[r].qValues.push(t)}}const c=Object.keys(a).map((e=>a[e]));return Qn().id((e=>e.__id)).parentId((e=>e.__parent))(c)}const gr=e=>{let{propsArr:t,props:n,cube:r,cache:i,itemDepthObject:o,f:a}=e;for(let e=0;e<t.length;e++){const l=n[t[e]],c=l.fields?l.fields:[l];for(let e=0;e<c.length;e++){const t=c[e];if(t.field!==a){const e=dr(o,fr(t.field,{cube:r,cache:i}));t.accessor=e.nodeFn,t.valueAccessor=e.valueFn,t.attrAccessor=e.attrFn}}}};function yr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;const i=t.raw(),o=t.key(),a=\"S\"===i.qMode?vr(t):mr(i,n,e);if(!a)return null;const l=a.height,c=[];for(let o=0;o<=l;o++){let a=null;if(o>0)if(\"S\"===i.qMode){let e=ur(i)[o-1];a=n.fields[e]}else{let e=i.qEffectiveInterColumnSortOrder[o-1];o>i.qEffectiveInterColumnSortOrder.length&&(e=i.qDimensionInfo.length),a=n.fields[e]}const{props:l,main:s}=r.normalizeConfig(Sn(Sn({},e),{},{field:a?a.key():void 0}),t),u=Object.keys(l);c[o]={propsArr:u,props:l,main:s};const f=a?fr(a,{cube:i,cache:n}):{fieldDepth:0};gr({propsArr:u,props:l,cube:i,cache:n,itemDepthObject:f,f:a})}const s=a.copy(),u=s.descendants(),f=a.descendants();for(let e=0;e<f.length;e++){const t=c[f[e].depth].propsArr,n=c[f[e].depth].props,r=c[f[e].depth].main,i=u[e],a=i.data,l=pr(r,a,{key:o});hr({propsArr:t,props:n,item:i,itemData:a,ret:l,sourceKey:o,isTree:!0}),f[e].data=l}return a}function br(e,t,n,r){const i=Array.isArray(e)?e:[e];let o=[];for(let a=0;a<i.length;a++)if(void 0!==i[a].field){const l=t.raw(),c=t.key();if(!mr(l,n,e))continue;const s=\"object\"==typeof i[a].field?i[a].field:t.field(i[a].field),{props:u,main:f}=r.normalizeConfig(i[a],t),d=Object.keys(u),p=fr(s,{cube:l,cache:n}),{nodeFn:h,attrFn:m,valueFn:v}=dr({fieldDepth:0},p);gr({propsArr:d,props:u,cube:l,cache:n,itemDepthObject:p,f:s});const g=!!i[a].trackBy,y=typeof i[a].trackBy,b={},x=[],q=h(n.tree),w=[];for(let e=0;e<q.length;e++){const t=q[e],n=m?m(v(t)):v(t);if(f.filter&&!f.filter(n))continue;const o=pr(f,n,{key:c});hr({propsArr:d,props:u,item:t,itemData:n,ret:o,sourceKey:c}),g&&r.track({cfg:i[a],itemData:n,obj:o,target:x,tracker:b,trackType:y}),w.push(o)}const k=g?r.collect(x,{main:f,propsArr:d,props:u}):w;o=[...o,...k]}return o}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;var xr,qr,wr=(xr=function(e){\n/*! javascript-number-formatter - v1.1.11 - http://mottie.github.com/javascript-number-formatter/ * © ecava */\ne.exports=function(e,t){if(!e||isNaN(+t))return t;var n,r,i,o,a,l,c,s,u,f,d=e.length,p=e.search(/[0-9\\-\\+#]/),h=p>0?e.substring(0,p):\"\",m=e.split(\"\").reverse().join(\"\"),v=m.search(/[0-9\\-\\+#]/),g=d-v,y=e.substring(g,g+1),b=g+(\".\"===y||\",\"===y?1:0),x=v>0?e.substring(b,d):\"\";if(n=(t=\"-\"===(e=e.substring(p,b)).charAt(0)?-t:+t)<0?t=-t:0,i=(r=e.match(/[^\\d\\-\\+#]/g))&&r[r.length-1]||\".\",o=r&&r[1]&&r[0]||\",\",e=e.split(i),t=+(t=t.toFixed(e[1]&&e[1].length))+\"\",l=e[1]&&e[1].lastIndexOf(\"0\"),(!(s=t.split(\".\"))[1]||s[1]&&s[1].length<=l)&&(t=(+t).toFixed(l+1)),u=e[0].split(o),e[0]=u.join(\"\"),(a=e[0]&&e[0].indexOf(\"0\"))>-1)for(;s[0].length<e[0].length-a;)s[0]=\"0\"+s[0];else 0==+s[0]&&(s[0]=\"\");if((t=t.split(\".\"))[0]=s[0],c=u[1]&&u[u.length-1].length){for(m=\"\",g=(f=t[0]).length%c,d=f.length,b=0;b<d;b++)m+=f.charAt(b),!((b-g+1)%c)&&b<d-c&&(m+=o);t[0]=m}return t[1]=e[1]&&t[1]?i+t[1]:\"\",\"0\"!==(r=t.join(\"\"))&&\"\"!==r||(n=!1),h+(n?\"-\":\"\")+r+x}},xr(qr={exports:{}},qr.exports),qr.exports);function kr(e){return e.replace(/[-[\\]/{}()*+?.\\\\^$|]/g,\"\\\\$&\")}const Cr={3:\"k\",6:\"M\",9:\"G\",12:\"T\",15:\"P\",18:\"E\",21:\"Z\",24:\"Y\",\"-3\":\"m\",\"-6\":\"μ\",\"-9\":\"n\",\"-12\":\"p\",\"-15\":\"f\",\"-18\":\"a\",\"-21\":\"z\",\"-24\":\"y\"},Mr=/%\\)?$/,Sr=/^\\(r(0[2-9]|[12]\\d|3[0-6])\\)/i,Dr=/^\\(oct\\)/i,Or=/^\\(dec\\)/i,Ir=/^\\(hex\\)/i,Er=/^\\(bin\\)/i,Ar=/^\\(rom\\)/i,Nr=/^(\\(rom\\)|\\(bin\\)|\\(hex\\)|\\(dec\\)|\\(oct\\)|\\(r(0[2-9]|[12]\\d|3[0-6])\\))/i,Tr=/#|0/g;function Lr(e,t,n,r){return e=e.toString(t),n[1]===n[1].toUpperCase()&&(e=e.toUpperCase()),e.length-e.indexOf(\".\")>10&&(e=e.slice(0,e.indexOf(\".\")+11)),e.replace(\".\",r||\".\")}function Pr(e,t,n){let r;return Sr.test(t)?e=Lr(e,Number(/\\d{2}/.exec(t)[0]),t,n):Dr.test(t)?e=Lr(e,8,t,n):Or.test(t)?e=Lr(e,10,t,n):Ir.test(t)?e=Lr(e,16,t,n):Er.test(t)?e=Lr(e,2,t,n):Ar.test(t)&&(r=\"\",e<0&&(r=\"-\",e=-e),0===(e=Math.floor(e))?e=\"0\":e<=5e5?(e=function(e,t){let n,r=\"\",i=Number(String(e).slice(-3)),o=(e-i)/1e3,a=[0,1,4,5,9,10,40,50,90,100,400,500,900].reverse(),l=[\"0\",\"I\",\"IV\",\"V\",\"IX\",\"X\",\"XL\",\"L\",\"XC\",\"C\",\"CD\",\"D\",\"CM\"].reverse();for(;i>0;)for(n=0;n<a.length;n++)if(a[n]<=i){r+=l[n],i-=a[n];break}for(n=0;n<o;n++)r=\"M\".concat(r);return t[1]!==t[1].toUpperCase()&&(r=r.toLowerCase()),r}(e,t),e=r+e):e=t+r+e.toExponential(0)),e}function jr(e,t,n){const r=kr(e);return n?r:new RegExp(r||\"\",t)}function Fr(e,t,n,r){let i,o,a,l,c,s,u,f,d,p=e.pattern;var h,m;r&&(e.abbreviate=!0),h=t,(m=n)&&(m=kr(m)),h&&(h=kr(h)),d=new RegExp(\"(?:[#0]+\".concat(h,\")?[#0]+(?:\").concat(m,\"[#0]+)?\")),a=p.match(d),a=a?a[0]:\"\",l=a?p.substr(0,p.indexOf(a)):p,c=a?p.substring(p.indexOf(a)+a.length):\"\",a||(a=p?\"#\":\"##########\"),t&&t===n&&(i=a.split(n),o=i.pop(),a=i.join(\"\")+n+o,t=\"\"),s=t,t=/,/.test(n)?\"¤\":\",\",s&&(a=a.replace(jr(s,\"g\"),t)),u=n,n=\".\",u&&(a=a.replace(jr(u,\"g\"),n)),f=a.match(/#/g),f=f?f.length:0;const v=p.split(u);let g;v[1]&&(g=v[1].match(Tr)),e.prefix=l||\"\",e.postfix=c||\"\",e.pattern=p,e.maxPrecision=g?g.length:2,e.percentage=Mr.test(p),e.numericPattern=a||\"\",e.numericRegex=new RegExp(\"\".concat(jr(t,null,!0),\"|\").concat(jr(n,null,!0)),\"g\"),e.groupTemp=s,e.decTemp=u,e.t=t,e.d=n,e.temp=f}class Hr{constructor(e,t,n,r,i){this.localeInfo=e,this.pattern=t,this.thousandDelimiter=n||\",\",this.decimalDelimiter=r||\".\",this.type=i||\"numeric\",this.patternSeparator=\";\",this.abbreviations=function(e,t){if(!e||!e.qNumericalAbbreviation)return Cr;const n={};return e.qNumericalAbbreviation.split(t).forEach((e=>{let t=e.split(\":\");2===t.length&&(n[t[0]]=t[1])})),n}(e,this.patternSeparator),this.prepare()}clone(){const e=new Hr(this.localeInfo,this.pattern,this.thousandDelimiter,this.decimalDelimiter,this.type);return e.subtype=this.subtype,e}format(e,t,n,r){return this.prepare(t,n,r),this.formatValue(e)}prepare(e,t,n){let r;if(void 0===e&&(e=this.pattern),void 0===t&&(t=this.thousandDelimiter),void 0===n&&(n=this.decimalDelimiter),!e)return void(this._prepared={pattern:!1});this._prepared={positive:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},negative:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},zero:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"}},r=this._prepared,e=e.split(this.patternSeparator),r.positive.pattern=e[0],r.negative.pattern=e[1],r.zero.pattern=e[2],Nr.test(e[0])&&(r.positive.isFunctional=!0),e[1]?Nr.test(e[1])&&(r.negative.isFunctional=!0):r.negative=!1,e[2]?Nr.test(e[2])&&(r.zero.isFunctional=!0):r.zero=!1;const i=\"U\"===this.type;r.positive.isFunctional||Fr(r.positive,t,n,i),r.negative&&!r.negative.isFunctional&&Fr(r.negative,t,n,i),r.zero&&!r.zero.isFunctional&&Fr(r.zero,t,n,i)}formatValue(e){let t,n,r,i,o,a,l,c,s,u=this._prepared,f=\"\",d=\"\",p=e;if(isNaN(e))return\"\".concat(p);if(e=+e,!1===u.pattern)return e.toString();if(0===e&&u.zero)return u=u.zero,u.pattern;if(e<0&&u.negative?(u=u.negative,e=-e):u=u.positive,o=u.d,a=u.t,u.isFunctional)e=Pr(e,u.pattern,o);else{if(u.percentage&&(e*=100),u.abbreviate){const t=Object.keys(this.abbreviations).map((e=>parseInt(e,10))).sort(((e,t)=>e-t));let r,i,o=t[0];for(l=0,n=Number(Number(e).toExponential().split(\"e\")[1]);o<=n&&l<t.length;)l++,o=t[l];l>0&&(r=t[l-1]),r&&n>0&&r>0?i=r:(n<0&&r<0||!r)&&(o<0&&o-n<=u.maxPrecision?i=o:r<=n&&!(o>0&&-n<=u.maxPrecision)&&(i=r)),i&&(f=this.abbreviations[i],e/=10**i)}if(r=Math.abs(e),t=u.temp,c=u.numericPattern,s=c.split(o)[1],\"I\"===this.type&&(e=Math.round(e)),i=e,s||\"#\"!==c.slice(-1)[0])if(r>=1e15||r>0&&r<=1e-14)e=r?r.toExponential(15).replace(/\\.?0+(?=e)/,\"\"):\"0\";else{const t=Number((e+1e-15*(e<0?-1:1)).toFixed(Math.min(20,s?s.length:0)).split(\".\")[0]);let n=c.split(o)[0];if(n+=o,e=wr(n,t)||\"0\",s){const t=Math.max(0,Math.min(14,s.length)),n=s.replace(/#+$/,\"\").length;let i=(\"I\"===this.type?0:r%1+1e-15).toFixed(t).slice(2).replace(/0+$/,\"\");for(l=i.length;l<n;l++)i+=\"0\";i&&(e+=o+i)}else 0===t&&(i=0)}else if(r>=10**t||r<1||r<1e-4)0===e?e=\"0\":r<1e-4||r>=1e20?(e=(e=i.toExponential(Math.max(1,Math.min(14,t))-1)).replace(/\\.?0+(?=e)/,\"\"),d=\"\"):(e=e.toPrecision(Math.max(1,Math.min(14,t)))).indexOf(\".\")>=0&&(e=(e=e.replace(e.indexOf(\"e\")<0?/0+$/:/\\.?0+(?=e)/,\"\")).replace(\".\",o));else{for(c+=o,t=Math.max(0,Math.min(20,t-Math.ceil(Math.log(r)/Math.log(10)))),l=0;l<t;l++)c+=\"#\";e=wr(c,e)}e=e.replace(u.numericRegex,(e=>e===a?u.groupTemp:e===o?u.decTemp:\"\")),i<0&&!/^-/.test(e)&&(e=\"-\".concat(e))}return u.prefix+e+d+f+u.postfix}static getStaticFormatter(){return{prepare(){},formatValue:e=>\"\".concat(e)}}}function zr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{size:n=5e3,multipleArguments:r=!1,toKey:i=(e=>e)}=t;let o,a,l=Object.create(null),c=Object.create(null),s=0,u=0;return o=r?function(){return a=i(...arguments),o.has(a)?o.get(a):o.set(a,e(...arguments))}:t=>(a=i(t),o.has(a)?o.get(a):o.set(a,e(t))),o.set=(e,t)=>(s>=n&&(delete l[c[u]],delete c[u],s--,u++),l[e]=t,c[s]=e,s++,t),o.get=e=>l[e],o.has=e=>e in l,o.clear=()=>{l=Object.create(null),c=Object.create(null),s=0,u=0},o.size=()=>s,o}function Rr(e,t,n,r,i){const o=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Hr(...t)}(i,e,t,n,r),a=zr(o.formatValue.bind(o),{toKey:e=>isNaN(e)?e:+e});function l(e){return a(e)}return l.format=function(e,t,n,r){return a.clear(),o.format(t,e,n,r)},l.pattern=function(e){return e&&(a.clear(),o.pattern=e,o.prepare()),o.pattern},l}const Vr=\"D\",_r=\"T\",Br=\"TS\",Kr=\"IV\",$r=[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],Yr=[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"],Ur=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],Gr=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Wr(e,t){for(let n=e.length;n<t;n++)e=\"0\".concat(e);return e}function Xr(e){let t=e.toString().split(\".\");return t[1]?(t=Number(\"0.\".concat(t[1])),t):0}function Zr(e,t){let n,r=function(e){const t=e,n=24*Xr(t),r=60*Xr(n),i=60*Xr(r),o=1e3*Xr(i);return{d:Math.floor(t),h:Math.floor(n),m:Math.floor(r),s:Math.floor(i),f:Math.round(o)}}(e),i=r.d,o=r.h,a=r.m,l=r.s,c=r.f,s=0;/w+|t+/gi.test(t)&&(n=new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,Math.round(86400*(e-Math.floor(e))))),isNaN(n.getTime())&&(n=null)),/D+/gi.test(t)||(o+=24*i),/h+/gi.test(t)||(a+=60*o),/m+/gi.test(t)||(l+=60*a),/w+/gi.test(t)&&(s=n?n.getDay()-1:0,s<0&&(s=6));let u=\"\";return n&&(u=n.getUTCHours()>=12?\"pm\":\"am\"),{year:0,month:0,day:s,date:i,h:o,m:a,s:l,f:c,t:u}}class Jr{constructor(e,t,n){const r=e||{};if(r.qCalendarStrings||(r.qCalendarStrings={qLongDayNames:$r,qDayNames:Yr,qLongMonthNames:Ur,qMonthNames:Gr}),this.localeInfo=r,this.locale_days=r.qCalendarStrings.qLongDayNames.slice(),this.locale_days_abbr=r.qCalendarStrings.qDayNames.slice(),this.locale_months=r.qCalendarStrings.qLongMonthNames.slice(),this.locale_months_abbr=r.qCalendarStrings.qMonthNames.slice(),!t){t={[_r]:r.qTimeFmt||\"hh:mm:ss\",[Vr]:r.qDateFmt||\"YYYY-MM-DD\",[Br]:r.qTimestampFmt||\"YYYY-MM-DD hh:mm:ss\"}[n]}this.pattern=t}clone(){const e=new Jr(this.localeInfo,this.pattern);return e.subtype=this.subtype,e}format(e,t){t||(t=this.pattern?this.pattern:\"YYYY-MM-DD hh:mm:ss\"),t=t.replace(/\\[.+]|\\[|]/g,\"\");const n=/t+/gi.test(t);let r;e instanceof Date?r=function(e,t){let n=e.getUTCHours(),r=e.getUTCDay()-1;return t&&(n%=12,n||(n=12)),r<0&&(r=6),{year:e.getUTCFullYear(),month:e.getUTCMonth(),day:r,date:e.getUTCDate(),h:n,m:e.getUTCMinutes(),s:e.getUTCSeconds(),f:e.getUTCMilliseconds(),t:e.getUTCHours()>=12?\"pm\":\"am\"}}(e,n):(e<0&&(e=-e,t=\"-\".concat(t)),r=Zr(e,t));const i=(o=this,a=r,{\"Y+|y+\":{Y:\"\".concat(Number(\"\".concat(a.year).slice(-2))),YY:Wr(\"\".concat(a.year).slice(-2),2),YYY:Wr(\"\".concat(a.year).slice(-3),3),def:e=>Wr(\"\".concat(a.year),e.length)},\"M+\":{M:a.month+1,MM:Wr(\"\".concat(a.month+1),2),MMM:o.locale_months_abbr[a.month],def:o.locale_months[a.month]},\"W+|w+\":{W:a.day,WW:Wr(\"\".concat(a.day),2),WWW:o.locale_days_abbr[a.day],def:o.locale_days[a.day]},\"D+|d+\":{D:a.date,def:e=>Wr(\"\".concat(a.date),e.length)},\"h+|H+\":{h:a.h,def:e=>Wr(\"\".concat(a.h),e.length)},\"m+\":{m:a.m,def:e=>Wr(\"\".concat(a.m),e.length)},\"s+|S+\":{s:a.s,def:e=>Wr(\"\".concat(a.s),e.length)},\"f+|F+\":{def(e){let t=\"\".concat(a.f),n=e.length-t.length;if(n>0)for(let e=0;e<n;e++)t+=\"0\";else n<0&&(t=t.slice(0,e.length));return t}},\"t{1,2}|T{1,2}\":{def(e){let t=a.t;return e[0].toUpperCase()===e[0]&&(t=t.toUpperCase()),t=t.slice(0,e.length),t}}});var o,a;const l=[];for(const e in i)Object.prototype.hasOwnProperty.call(i,e)&&l.push(e);const c=new RegExp(l.join(\"|\"),\"g\");return t.replace(c,(e=>{let t,n,r;for(n in i)if(Object.prototype.hasOwnProperty.call(i,n)&&(t=new RegExp(n),t.test(e)))break;if(!t)return\"\";for(const t in i[n])if(t===e||t.toLowerCase()===e){r=i[n][t],void 0===r&&(r=i[n][t.toLowerCase()]);break}return void 0===r&&(r=i[n].def),\"function\"==typeof r&&(r=r(e)),r}))}}function Qr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Jr(...t)}function ei(e){return new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,0,Math.round(864e5*(e-Math.floor(e)))))}function ti(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"TS\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=Qr(n,e,t),i=zr(r.format.bind(r),{toKey:e=>\"object\"==typeof e&&\"function\"==typeof e.getTime?e.getTime():e});function o(e){return t!==Kr?ei(e):e}function a(e){return e=o(e),i(e)}return a.format=function(e,t){return i.clear(),t=o(t),r.format(t,e)},a.locale=function(n){return r=Qr(n,e,t),i=zr(r.format.bind(r),{toKey:e=>\"object\"==typeof e?e.getTime():e}),this},a.qtype=function(e){return void 0!==e&&(t=e,i.clear()),t},a}function ni(e,t){if(e&&e.qNumFormat&&-1!==[\"D\",\"T\",\"TS\",\"IV\"].indexOf(e.qNumFormat.qType))return ti(e.qNumFormat.qFmt,e.qNumFormat.qType,t);let n=\"#\",r=t&&void 0!==t.qThousandSep?t.qThousandSep:\",\",i=t&&void 0!==t.qDecimalSep?t.qDecimalSep:\".\",o=\"U\",a=e&&!!e.qIsAutoFormat;return e&&e.qNumFormat?(n=e.qNumFormat.qFmt||n,r=e.qNumFormat.qThou||r,i=e.qNumFormat.qDec||i,o=e.qNumFormat.qType||o,a=a&&-1===[\"M\"].indexOf(e.qNumFormat.qType)):a=!0,(a||\"U\"===o)&&(n=\"#\".concat(i,\"##\"),o=\"U\"),Rr(n,r,i,o,t)}function ri(){let e,{meta:t,id:n,key:r,localeInfo:i,fieldExtractor:o,value:a,type:l,sourceField:c}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=a||(\"dimension\"===l?e=>null==e?void 0:e.qElemNo:e=>null==e?void 0:e.qValue),u=e=>(null==e?void 0:e.qText)||\"\",f=\"dimension\"===l?\"first\":\"avg\",d=ni(t,i),p=\"dimension\"===l?\"first\":(e,t)=>d(t),h={id:()=>n,key:()=>r,raw:()=>t,title:()=>t.qFallbackTitle||t.label,type:()=>l,origin:()=>c,items:()=>(e||(e=o(h)),e),min:()=>t.qMin,max:()=>t.qMax,value:s,label:u,reduce:f,reduceLabel:p,formatter:()=>d,tags:()=>t.qTags};return h}function ii(e,t,n,r,i){return(t[e]||[]).map(((t,o)=>{const a=\"\".concat(r?\"\".concat(r,\"/\"):\"\").concat(e,\"/\").concat(o),l={instance:ri(Pn({id:\"\".concat(n?\"\".concat(n,\"/\"):\"\").concat(a),key:a,meta:t},i))};return l.attrDims=ii(\"qAttrDimInfo\",t,n,a,Pn({},i,{value:e=>null==e?void 0:e.qElemNo,type:\"dimension\"})),l.attrExps=ii(\"qAttrExprInfo\",t,n,a,Pn({},i,{value:e=>null==e?void 0:e.qNum,type:\"measure\"})),l.measures=ii(\"qMeasureInfo\",t,n,a,Pn({},i,{value:e=>null==e?void 0:e.qValue,type:\"measure\"})),l}))}function oi(){let{key:e,data:t,config:n={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r={fields:[],wrappedFields:[],allFields:[],virtualFields:[]},i=t;if(!i)throw new Error('Missing \"data\" input');if(!i.qDimensionInfo)throw new Error('The \"data\" input is not recognized as a hypercube');const o=oi.util,a={cache:r,cube:i,localeInfo:n.localeInfo,fieldExtractor:null,pages:null,hierarchy:()=>null,virtualFields:n.virtualFields},l={key:()=>e,raw:()=>i,field:e=>or(e,a),fields:()=>r.fields.slice(),extract:e=>a.extractor(e,l,r,o),hierarchy:e=>a.hierarchy(e,l,r,o),_cache:()=>r};\"K\"===i.qMode||\"T\"===i.qMode||!i.qMode&&i.qNodesOnDim?(a.extractor=br,a.hierarchy=yr,a.pages=\"K\"===i.qMode?i.qStackedDataPages:i.qTreeDataPages):\"S\"===i.qMode?(a.extractor=zn,a.pages=i.qDataPages,a.hierarchy=yr):a.extractor=()=>[],a.fieldExtractor=e=>a.extractor({field:e},l,r,o);const c=\"S\"===i.qMode?e=>e.qElemNumber:void 0,s=\"S\"===i.qMode?e=>e.qNum:void 0;r.wrappedFields.push(...ii(\"qDimensionInfo\",i,e,\"\",Pn({},a,{value:c,type:\"dimension\"}))),r.wrappedFields.push(...ii(\"qMeasureInfo\",i,e,\"\",Pn({},a,{value:s,type:\"measure\"}))),r.fields=r.wrappedFields.map((e=>e.instance));const u=e=>{e.forEach((e=>{r.allFields.push(e.instance),u(e.measures),u(e.attrDims),u(e.attrExps)}))};return u(r.wrappedFields),(n.virtualFields||[]).forEach((t=>{const n=l.field(t.from),i=ri(Sn({meta:n.raw(),id:\"\".concat(e,\"/\").concat(t.key),sourceField:n,fieldExtractor:e=>a.extractor({field:e},l,r,o),key:t.key,type:n.type(),localeInfo:a.localeInfo,value:n.value},t.override||{}));r.virtualFields.push(i)})),r.allFields.push(...r.virtualFields),l}const ai=[[\"qHyperCube\",\"qHyperCubeDef\"],[\"qTreeData\",\"qTreeDataDef\"],[\"qDimensionInfo\",\"qDimensions\"],[\"qMeasureInfo\",\"qMeasures\"],[\"qAttrDimInfo\",\"qAttributeDimensions\"],[\"qAttrExprInfo\",\"qAttributeExpressions\"]],li=/\\/qDimensionInfo(?:\\/(\\d+))?/,ci=/\\/qMeasureInfo\\/(\\d+)/,si=/\\/qAttrDimInfo\\/(\\d+)(?:\\/(\\d+))?/,ui=/\\/qAttrExprInfo\\/(\\d+)/,fi=/\\/?qHyperCube/,di=/\\/?qTreeData/,pi=e=>\"\".concat(e.substr(0,e.indexOf(\"/qHyperCubeDef\")+14)),hi=e=>\"\".concat(e.substr(0,e.indexOf(\"/qTreeDataDef\")+13));function mi(e,t){let n=e,r=-1,i=-1,o=\"\",a=e=>e;fi.test(e)?(o=\"\".concat(n.substr(0,n.indexOf(\"qHyperCube\")+10)),a=pi):di.test(e)&&(o=\"\".concat(n.substr(0,n.indexOf(\"qTreeData\")+9)),a=hi);let l=!0;if(li.test(e)&&(r=+li.exec(e)[1]),ci.test(e)&&(i=+ci.exec(e)[1]),si.test(e)){i=-1,r=0;const e=+si.exec(n)[2];isNaN(e)||(r=e,n=n.replace(/\\/\\d+$/,\"\")),l=!1}if(ui.test(e)){const e=i;if(t){i=0;const a=nr(o,t);i+=(a.qMeasureInfo||[]).length,r>-1?(i=a.qDimensionInfo.slice(0,r).reduce(((e,t)=>e+t.qAttrExprInfo.length),i),r=-1):(i=a.qDimensionInfo.reduce(((e,t)=>e+t.qAttrExprInfo.length),i),i=a.qMeasureInfo.slice(0,e).reduce(((e,t)=>e+t.qAttrExprInfo.length),i)),i+=+ui.exec(n)[1]}else r>-1?(r=-1,i=+ui.exec(n)[1]):i+=+ui.exec(n)[1]+1}return ai.forEach((e=>{let[t,r]=e;n=n.replace(t,r)})),l&&(n=a(n)),n&&\"/\"!==n[0]&&(n=\"/\".concat(n)),{measureIdx:i,dimensionIdx:r,path:n}}function vi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r=t.byCells,i=t.primarySource,o=[],a={},l=e.isActive();let c=!1;if(e.brushes().forEach((e=>{const t=mi(e.id,n);if(\"range\"===e.type&&t.measureIdx>-1&&t.dimensionIdx>-1){const n=e.brush.ranges();n.length&&(c=!0,a.multiRangeSelectTreeDataValues||(a.multiRangeSelectTreeDataValues={path:t.path,ranges:[]}),n.forEach((e=>a.multiRangeSelectTreeDataValues.ranges.push({qMeasureIx:t.measureIdx,qDimensionIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}}))))}else{if(\"range\"===e.type&&t.measureIdx>-1){const n=e.brush.ranges();n.length&&(c=!0,a.rangeSelectHyperCubeValues||(a.rangeSelectHyperCubeValues={path:t.path,ranges:[]}),n.forEach((e=>a.rangeSelectHyperCubeValues.ranges.push({qMeasureIx:t.measureIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}}))))}if(\"range\"===e.type&&t.dimensionIdx>-1){const n=e.brush.ranges();n.length&&(c=!0,a.selectHyperCubeContinuousRange||(a.selectHyperCubeContinuousRange={path:t.path,ranges:[]}),n.forEach((e=>a.selectHyperCubeContinuousRange.ranges.push({qDimIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!1}}))))}if(\"value\"===e.type&&t.dimensionIdx>-1)if(r)if(n&&n.qHyperCube&&(\"P\"===n.qHyperCube.qMode||\"T\"===n.qHyperCube.qMode||\"K\"===n.qHyperCube.qMode)){const r=n.qHyperCube,o=r.qNoOfLeftDims,l=r.qEffectiveInterColumnSortOrder.indexOf(t.dimensionIdx);if(a.selectPivotCells||(a.selectPivotCells={path:t.path,cells:[]}),e.id===i||!i){const n=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e)));(0===o||l>=o)&&o>-1?n.forEach((e=>{a.selectPivotCells.cells.push({qType:\"T\",qCol:e,qRow:l-o})})):n.forEach((e=>{a.selectPivotCells.cells.push({qType:\"L\",qCol:t.dimensionIdx,qRow:e})})),c=!!a.selectPivotCells.cells.length}}else a.selectHyperCubeCells||(a.selectHyperCubeCells={path:t.path,cols:[]}),a.selectHyperCubeCells.cols.push(t.dimensionIdx),e.id!==i&&(i||a.selectHyperCubeCells.values)||(a.selectHyperCubeCells.values=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e))),c=!!a.selectHyperCubeCells.values.length);else{const n=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e)));c=!!n.length,o.push({params:[t.path,t.dimensionIdx,n,!1],method:\"selectHyperCubeValues\"})}}})),!c&&l)return[{method:\"resetMadeSelections\",params:[]}];var s;a.rangeSelectHyperCubeValues&&o.push({method:\"rangeSelectHyperCubeValues\",params:[a.rangeSelectHyperCubeValues.path,a.rangeSelectHyperCubeValues.ranges,[],null===(s=t.orMode)||void 0===s||s]});return a.selectHyperCubeContinuousRange&&o.push({method:\"selectHyperCubeContinuousRange\",params:[a.selectHyperCubeContinuousRange.path,a.selectHyperCubeContinuousRange.ranges]}),a.selectHyperCubeCells&&o.push({method:\"selectHyperCubeCells\",params:[a.selectHyperCubeCells.path,a.selectHyperCubeCells.values,a.selectHyperCubeCells.cols]}),a.selectPivotCells&&o.push({method:\"selectPivotCells\",params:[a.selectPivotCells.path,a.selectPivotCells.cells]}),a.multiRangeSelectTreeDataValues&&o.push({method:\"multiRangeSelectTreeDataValues\",params:[a.multiRangeSelectTreeDataValues.path,a.multiRangeSelectTreeDataValues.ranges]}),o}function gi(e){oi.util=e.data(\"matrix\").util,e.data(\"q\",oi),e.formatter(\"q-number\",Rr),e.formatter(\"q-time\",ti)}function yi(e){var t=sn(e.layout||{},e.path.split(\"/\").join(\".\"));if(!t)return!1;var n=t.qIsOneAndOnlyOne;return void 0!==n&&n}function bi(e){var t,n,r,i=e.selections,o=e.picassoSelections,a=e.layout,l={lockedDimensions:[],singleSelectDimensions:[]};null!=i&&null!==(t=i.isModal)&&void 0!==t&&t.call(i)&&i.confirm(),o.layout(a);var c=(null!==(n=null==a?void 0:a.qHyperCube)&&void 0!==n?n:{}).qDimensionInfo,s=void 0===c?[]:c;return l.lockedDimensions=s.map((function(e){return!!e.qLocked})),l.singleSelectDimensions=s.map((function(e,t){return yi({layout:a,path:\"qHyperCube/qDimensionInfo/\".concat(t)})})),l.singleSelectIndex=function(e){var t,n=((null==e?void 0:e.qHyperCube)||{}).qDimensionInfo,r=void 0===n?[]:n;return null!==(t=r.map((function(e,t){var n;return!(e.qLocked||(null===(n=e.qCardinalities)||void 0===n?void 0:n.qHypercubeCardinal)<=1)&&t})).filter((function(e){return\"number\"==typeof e}))[0])&&void 0!==t?t:Math.max(r.length-1,0)}(a),l.canSelect=0===s.length||s.some((function(e){return!e.qLocked})),l.dimensionLocked=!(null===(r=s[0])||void 0===r||!r.qLocked),l}function xi(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(null==e||!e.length)return!1;var t=e.filter((function(e){return\"object\"===d(e.data)&&Array.isArray(e.data.fields)})).every((function(e){return e.data.fields.every((function(e){var t=e.raw();return!(!t.qLocked&&t.qCardinal)}))}));return t}function qi(e){var t=e.brush,n=e.colorField,r=e.legendAlias,i=e.useLegendCube,o=void 0!==i&&i;!n||/qAttrDimInfo/.test(n)?(t.removeKeyAlias(\"attrDim/qDimensionInfo/0\"),r&&t.removeKeyAlias(r),t.addKeyAlias(\"attrDim/qDimensionInfo/0\",\"qHyperCube/\".concat(n))):o&&t.addKeyAlias(r,\"qHyperCube/\".concat(n))}gi.qBrushHelper=vi,gi.selections=vi;var wi=\"Enter\",ki=\"Escape\",Ci=\"Esc\",Mi=\"Shift\";function Si(e){var t=e.brush,n=e.getConfig;return{interceptor:function(e){var r=t.brushes(),i=n(),o=i.allowSimultaneous,a=i.layout,l=void 0===a?{}:a;r.forEach((function(n){var r,i,a;(\"range\"===n.type||null!==(r=e[0])&&void 0!==r&&r.key&&(null===(i=e[0])||void 0===i?void 0:i.key)!==n.id&&0!==o.indexOf(null===(a=e[0])||void 0===a?void 0:a.key))&&t.clear([])}));var c=e.filter((function(e){return-2!==e.value}));if(c.length>1){var s=function(e){var t=e.layout,n=void 0===t?{}:t,r=e.values,i=void 0===r?[]:r;if(null==i||!i.length)return[];var o=Array.from(new Set(i.map((function(e){return e.key})))),a=[];return o.forEach((function(e){var t=yi({layout:n,path:e}),r=i.filter((function(t){return t.key===e})),o=t?[r.pop()]:r;a.push.apply(a,f(o))})),a.filter(Boolean)}({layout:l,values:c});return s}return c},rangeInterceptor:function(e){var r=t.brushes(),i=n().allowSimultaneous;return r.filter((function(e){return\"value\"===e.type})).length?(t.clear([]),e):(r.forEach((function(n){var r=n.id===e[0].key||i.includes(n.id)&&i.includes(e[0].key);\"range\"!==n.type||r||t.clear([])})),e)}}}var Di=function(e,t){return t[e]?Di(e+1,t):e},Oi=function(e,t){var n=t.reduce((function(e,t){return e[t]=!0,e}),{});return e.reduce((function(e,t,r){var i=Di(r,n);return n[i]=!0,e[r]=i,e}),{})};function Ii(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layout,n=e.filtered,r=void 0===n?{}:n,i=(null==t?void 0:t.qHyperCube)||{},o=i.qDimensionInfo,a=void 0===o?[]:o,l=i.qMeasureInfo,c=void 0===l?[]:l;return{dimensions:Oi(a,r.dimensions||[]),measures:Oi(c,r.measures||[])}}var Ei=\"selectHyperCubeValues\",Ai=\"selectHyperCubeContinuousRange\";function Ni(e){var t=e.selection,n=e.fieldMap,r=t.method,i=t.params;if(r===Ei){var o=n.dimensions[i[1]];void 0!==o&&(i[1]=o)}r===Ai&&i[1].forEach((function(e){var t=n.dimensions[e.qDimIx];void 0!==t&&(e.qDimIx=t)}));return t}var Ti=[],Li=0,Pi=function(e){var t=Ti.filter((function(e){var t;return null===(t=e.selections)||void 0===t?void 0:t.isActive()}));t.length&&(e.key===wi?t.forEach((function(e){return e.selections.confirm()})):e.key!==ki&&e.key!==Ci||t.forEach((function(e){return e.selections.cancel()})))},ji=function(){document.addEventListener(\"keyup\",Pi)},Fi=function(){document.removeEventListener(\"keyup\",Pi)},Hi=function(e,t){Object.keys(t).forEach((function(n){e.on(n,t[n])}))},zi=function(e,t){Object.keys(t).forEach((function(n){e.removeListener(n,t[n])}))};function Ri(e,t,n){if(t&&void 0!==n&&\"selectHyperCubeContinuousRange\"===e.method){var r=e.params;if(r&&r[1]&&r[1][0]){var i=r[1][0],o=i.qDimIx,a=i.qRange;\"undefined\"!==o&&a&&!1===a.qMaxInclEq&&a.qMax>=n&&(a.qMaxInclEq=!0)}}}function Vi(e){var t=e.chart,n=e.document,r=e.selectionInfo,i=e.eventName,o=e.componentName,a=e.brushName,l=void 0===a?\"selection\":a,c=e.emit,s=void 0===c?\"rangeClear\":c,u=r.event===i,f=n.querySelector(\"[data-key='\".concat(o,\"-edge-0']\"));if(u||!f)return!1;var d=t.component(o);return!!d&&(d.emit(s),\"string\"==typeof l&&t.brush(l).clear(),d)}function _i(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.eventName,o=void 0===i?\"discreteRange\":i,a=e.componentName,l=void 0===a?\"discrete-range-brush\":a,c=e.cleared;return Vi({selectionInfo:t,chart:n,document:r,eventName:void 0!==c&&c?void 0:o,componentName:l,emit:\"areaClear\",brushName:e.brushName})}function Bi(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.eventName,o=void 0===i?\"continuousRange\":i,a=e.componentName,l=void 0===a?\"continuous-range-brush\":a,c=e.cleared;return Vi({selectionInfo:t,chart:n,document:r,eventName:void 0!==c&&c?void 0:o,componentName:l,brushName:e.brushName})}function Ki(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.componentName,o=void 0===i?\"minor-range-brush\":i,a=e.eventName,l=void 0===a?\"minorRange\":a,c=e.cleared,s=void 0!==c&&c,u=e.brushName,f=Vi({selectionInfo:t,chart:n,document:r,eventName:s?void 0:l,componentName:o,brushName:void 0!==u&&u});if(f){var d=f.settings.settings,p=d.scale,h=d.brush,m=n.scale(p).data().fields.map((function(e){return e.id()})),v=n.brush(h),g=v.brushes().filter((function(e){return\"range\"===e.type&&m.some((function(t){return t===e.id}))}));v&&g.length&&g.forEach((function(e){v.removeRanges(e.brush.ranges().map((function(t){return{key:e.id,range:t}})))}))}}function $i(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.selections,o=e.eventName,a=void 0===o?\"xAxis\":o,l=e.cleared;Vi({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:a,componentName:\"\".concat(a,\"-range-brush\"),emit:\"areaClear\",brushName:!1})&&i.clear()}function Yi(e){var t=e.chart,n=e.selectionInfo,r=e.selections,i=e.events,o=void 0===i?[\"tap\"]:i,a=e.brushNames,l=void 0===a?[]:a;if(n&&o.includes(n.event)){var c=n.currentComponent;n.previousComponent!==c&&(r.clear(),l.forEach((function(e){return t.brush(e).end()})))}}function Ui(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.selections,o=e.eventName,a=void 0===o?\"legendRange\":o,l=e.componentName,c=void 0===l?\"legend-range-brush\":l,s=e.cleared,u=void 0!==s&&s,f=e.brushName;Vi({selectionInfo:t,chart:n,document:r,eventName:u?void 0:a,componentName:c,brushName:void 0!==f&&f})&&i.clear()}var Gi=[\"chart\",\"document\",\"selections\",\"selectionInfo\"],Wi=function(e){e.chart,e.document,e.selections,e.selectionInfo;var t=c(e,Gi);t.clearDiscrete(),t.clearContinuous(),t.clearMinor(),t.clearRange(),t.clearTap(),t.clearLegend()};function Xi(e){var t=e.selectionEvents,n=e.selections,r=e.selectionInfo,i=e.clear,o=e.chart,a=e.document,c=t.start,s={selections:n,selectionInfo:r,chart:o,document:a},u=function(e){return Object.assign(r,e||{})},f=function(e){var t=e.event,n=e.components;return function(){return function(e){var t=e.selectionInfo,n=void 0===t?{}:t,r=e.setSelectionInfo,i=e.clear,o=e.event,a=e.components,c=void 0===a?[]:a;r(l(l({},n),{},{event:o,components:c.map((function(e){return e.key})).filter(Boolean)})),i()}({event:t,components:n,clear:i,chart:o,selectionInfo:r,setSelectionInfo:u})}};return\"function\"==typeof c?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];c(l(l({defaultFunc:f({event:e,components:t}),setSelectionInfo:u,clear:i},s),{},{event:e,components:t}))}:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];f({event:e,components:t})()}}function Zi(e){var t,n=e.lasso;null!=n&&null!==(t=n.active)&&void 0!==t&&t.call(n)&&(null==n||n.action(!1))}function Ji(e){var t,n=e.chart,r=e.selectionInfo,i=e.selectionActions,o=e.actions,a=void 0===o?{}:o,c=e.selections,s=e.selectionEvents;if(!1===i||!1===s)return function(){};var f=i.reset,d=void 0===f?Zi:f,p=i.clear,h=!1!==p&&function(e){var t=e.clear,n=void 0===t?Wi:t,r=e.selections,i=e.selectionInfo,o=e.chart;return function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).cleared,t={selections:r,selectionInfo:i,chart:o,document:document,cleared:e};return n(l({clearDiscrete:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _i(l(l({},t),e))},clearContinuous:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Bi(l(l({},t),e))},clearMinor:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ki(l(l({},t),e))},clearRange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return $i(l(l({},t),e))},clearTap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Yi(l(l({},t),e))},clearLegend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ui(l(l({},t),e))}},t))}}({clear:p,selections:c,selectionInfo:r,chart:n}),m=function(e){var t=e.chart,n=e.actions,r=e.reset,i=e.clear,o=!1,a={deactivated:function(e){var t=(n||{}).lasso;r({e:e,lasso:void 0!==t&&t})},canceled:function(e){var o=(n||{}).lasso;r({e:e,lasso:void 0!==o&&o}),i({e:e,chart:t,document:document})},cleared:function(e){o||(o=!0,i({e:e,chart:t,document:document,cleared:!0}),o=!1)}};return!1===r&&delete a.deactivated,!1===i&&delete a.cleared,!1===r&&!1===i&&delete a.canceled,a}({chart:n,clear:h,reset:d,actions:a}),v={};Object.entries(m).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];v[n]=function(e,t){return t?function(n){return t({event:n,defaultFunc:e})}:e}(r,s[n])}));var g=Xi({selectionEvents:s,selections:c,selectionInfo:r,clear:h,chart:n,document:document});return null==a||null===(t=a.select)||void 0===t||t.on(\"start\",g),Object.entries(v).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];null==c||c.on(n,r)})),function(){var e;null==a||null===(e=a.select)||void 0===e||e.removeListener(\"start\",g),Object.entries(v).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];null==c||c.removeListener(n,r)}))}}function Qi(e){var t=e.chart,n=e.selectionActions,r=e.brush,i=e.actions,o=e.selectionInfo,a=e.selections,l=e.selectionEvents,c=function(e){var t=e.brush,n=e.chart,r=e.selectionInfo,i=e.brushEvents,o=void 0===i?{}:i,a=Object.entries(o).map((function(e){var i=u(e,2),o=i[0],a=i[1],l=function(){return a({chart:n,selectionInfo:r})};return t.on(o,l),[o,l]}));return function(){a.forEach((function(e){var n=u(e,2),r=n[0],i=n[1];t.removeListener(r,i)}))}}({brush:r,chart:t,selectionInfo:o,brushEvents:e.brushEvents}),s=Ji({chart:t,selectionInfo:o,selectionActions:n,actions:i,selections:a,selectionEvents:l}),f=function(e){var t=e.actions;if(null==t||!t.lasso)return function(){};var n=!1,r=function(e){n||e.key!==Mi||(t.lasso.action(!0),n=!0)},i=function(e){e.key===Mi&&(t.lasso.action(!1),n=!1)};return document.addEventListener(\"keydown\",r),document.addEventListener(\"keyup\",i),function(){document.removeEventListener(\"keydown\",r),document.removeEventListener(\"keyup\",i)}}({actions:i});return function(){c(),s(),f()}}var eo=[{key:\"qHyperCube/qDimensionInfo/0:numeric\",includeMax:!1}];function to(e){var t=e.chart,n=e.actions,r=e.selections,i=e.picassoQ,o=e.config,a=o.allowSimultaneous,l=void 0!==a&&a,c=o.majorScale,s=void 0===c?void 0:c,d=o.selectionActions,p=void 0===d?{}:d,h=p.clear,m=p.reset,v=o.selectionEvents,g=void 0===v?{deactivated:void 0,canceled:void 0,cleared:void 0,start:void 0}:v,y=o.brushEvents,b=void 0===y?{}:y,x=o.brushName,q=void 0===x?\"selection\":x,w=o.brushMaxListeners,k=void 0===w?20:w,C=o.brushRanges,M=void 0!==C&&C,S=o.interceptors,D=void 0===S?{}:S,O=o.selectionsFn,I=void 0===O?i.selections:O,E=t.brush(q);if(\"number\"==typeof k&&E.setMaxListeners(k),M){var A=!0===M?eo:M;E.configure({ranges:A})}var N={canSelect:!0,getIsSelectionLocked:!1,isInnerDimensionLocked:!1,lockedDimensions:[],singleSelectIndex:0,selectionInfo:{colorField:void 0,components:[],event:void 0,currentComponent:void 0,previousComponent:void 0}},T=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.selections,r=t.brush,i=t.majorScale,o=t.actions,a=t.selectionsFn,l=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).path,c=void 0===l?\"/qHyperCubeDef\":l;if(!n)return{layout:function(){},filteredFields:function(){},allowSimultaneous:function(){},release:function(){}};var s=++Li,u=null,f={dimensions:[],measures:[]},d=[],p={};n.on=n.on.bind(n),n.isActive=n.isActive.bind(n),n.addListener=n.addListener.bind(n),n.removeListener=n.removeListener.bind(n);var h=Si({brush:r,getConfig:function(){return{layout:u,allowSimultaneous:d}}}),m=h.rangeInterceptor,v=h.interceptor;r.intercept(\"set-ranges\",m),r.intercept(\"toggle-ranges\",m),r.intercept(\"toggle-values\",v),r.intercept(\"set-values\",v),r.intercept(\"add-values\",v),r.on(\"start\",(function(){return n.begin(c)}));var g={activate:function(){},deactivated:function(){return r.end()},cleared:function(){return r.clear()},canceled:function(){return r.end()}};Hi(n,g);var y=null==i||null===(e=i.max)||void 0===e?void 0:e.call(i);return null!=o&&o.select?(o.select.on(\"start\",(function(){var e;r.start(),\"function\"==typeof o.select.getBrushOptions&&(p=(e=o.select).getBrushOptions.apply(e,arguments))})),o.select.on(\"end\",(function(){var e=a(r,p,u),t=Ii({layout:u,filtered:f});e.forEach((function(e){var r=Ni({selection:e,fieldMap:t});Ri(r,o.select.brushSelectionIncludeMax,y),n.select(r)}))}))):r.on(\"update\",(function(){var e=a(r,p,u),t=Ii({layout:u,filtered:f});e.forEach((function(e){n.select(Ni({selection:e,fieldMap:t}))}))})),0===Ti.length&&ji(),Ti.push({key:s,selections:n}),{layout:function(e){u=e},filteredFields:function(e){f=e},allowSimultaneous:function(e){d=e},release:function(){u=null;var e=Ti.indexOf(Ti.filter((function(e){return e.key===s}))[0]);-1!==e&&Ti.splice(e,1),Ti.length||Fi(),zi(n,g)}}}({brush:E,majorScale:s,actions:n,selections:r,picassoQ:i,selectionsFn:I});!function(e){var t=e.brush,n=e.interceptors,r=void 0===n?{}:n;Object.entries(r).forEach((function(e){var n=u(e,2),r=n[0],i=n[1];(Array.isArray(i)?i:[i]).forEach((function(e){t.intercept(r,e)}))}))}({brush:E,interceptors:D});var L=Qi({chart:t,brush:E,actions:n,selections:r,selectionInfo:N.selectionInfo,selectionActions:{clear:h,reset:m},selectionEvents:g,brushEvents:b});if(l){var P=!0===l?f(Array(15)).map((function(e,t){return\"qHyperCube/qMeasureInfo/\".concat(t)})):l;T.allowSimultaneous(P)}return{unbindEvents:L,state:N,picassoSelections:T,brush:E}}var no=[\"colorField\",\"useLegendCube\"];function ro(e){var t=e.chart,n=e.selections,r=e.actions,i=void 0!==r&&r,o=e.config,a=void 0===o?{}:o,s=to({chart:t,actions:i,selections:n,picassoQ:gi,config:a}),u=s.unbindEvents,f=s.state,d=s.picassoSelections,p=s.brush,h=a.custom,m=void 0===h?{}:h,v=a.legendAlias,g=void 0===v?void 0:v,y=a.setBrushAliases,b=void 0===y?qi:y;return{getIsDimensionLocked:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return f.lockedDimensions[e]},getIsSelectionLocked:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=null==n||null===(t=n.isLocked)||void 0===t?void 0:t.call(n))&&void 0!==e?e:xi(r)},getIsSingleSelect:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.singleSelectIndex;return f.singleSelectDimensions[e]},getCanSelect:function(){return f.canSelect},getSelectionsObject:function(){return n},getSelectionInfo:function(){return f.selectionInfo},setLayout:function(e){var t=bi({selections:n,picassoSelections:d,layout:e});Object.assign(f,t)},setFilteredFields:function(e){d.filteredFields(e)},setBrushAliases:function(e){var t=e.colorField,n=e.useLegendCube,r=void 0!==n&&n,i=c(e,no),o=l({useLegendCube:r,colorField:t,brush:p,legendAlias:g},i);b(l(l({},o),{},{defaultFunc:function(){return qi(o)}}))},destroy:function(){u(),d.release()},custom:l({},m)}}var io=\"'Source Sans Pro', 'Arial', 'sans-serif'\",oo=\"#333333\",ao=\"#595959\",lo=\"#737373\",co=\"#cccccc\",so=\"#e6e6e6\";function uo(e){var t={};return[].concat(f(e),f([[\"\",\"\",\"color\"],[\"object\",\"\",\"fontFamily\"],[\"object\",\"axis.label.name\",\"color\",ao],[\"object\",\"axis.label.name\",\"fontFamily\",io],[\"object\",\"axis.label.name\",\"fontSize\",\"12px\"],[\"object\",\"axis.line.major\",\"color\",co],[\"object\",\"axis.line.minor\",\"color\",so],[\"object\",\"axis.title\",\"color\"],[\"object\",\"axis.title\",\"fontFamily\",io],[\"object\",\"axis.title\",\"fontSize\",\"13px\"],[\"object\",\"grid.line.highContrast\",\"color\",so],[\"object\",\"grid.line.major\",\"color\",co],[\"object\",\"grid.line.minor\",\"color\",so],[\"object\",\"label.value\",\"color\",ao],[\"object\",\"label.value\",\"fontFamily\",io],[\"object\",\"label.value\",\"fontSize\",\"12px\"],[!1,\"label.value\",\"darkColor\",ao],[!1,\"label.value\",\"lightColor\",so],[\"object\",\"outOfRange\",\"color\",\"#999\"],[\"object\",\"legend.title\",\"color\",oo],[\"object\",\"legend.title\",\"fontFamily\",io],[\"object\",\"legend.title\",\"fontSize\",\"15px\"],[\"object\",\"legend.label\",\"color\",ao],[\"object\",\"legend.label\",\"fontFamily\",io],[\"object\",\"legend.label\",\"fontSize\",\"13px\"],[\"object\",\"referenceLine.label.name\",\"color\",oo],[\"object\",\"referenceLine.label.name\",\"fontFamily\",io],[\"object\",\"referenceLine.label.name\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"color\",so],[\"object\",\"referenceLine.outOfBounds\",\"fontFamily\",io],[\"object\",\"referenceLine.outOfBounds\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"backgroundColor\",lo,function(e){return\"transparent\"===e?lo:e}]])).reduce((function(e,n){var r=\"\".concat(n[0],\"-\").concat(n[1],\"-\").concat(n[2],\"}\");return t[r]||(t[r]=!0,e.push(n)),e}),[]).sort((function(e,t){return(e[0].split?e[0].split(\".\").length:0)-(t[0].split?t[0].split(\".\").length:0)}))}var fo=function(e){return e};function po(e){var t=e.theme,n=e.id,r=e.transform,i=e.extend,o=e.matrix,a={},l=r.reduce((function(e,t){var n=u(t,2),r=n[0],i=n[1];return e[r]=i,e}),{});return o.forEach((function(e){var r=u(e,5),i=r[0],o=r[1],c=r[2],s=r[3],f=r[4],d=void 0===f?function(e){return e}:f,p=function(e){var t=e.theme,n=e.base,r=e.path,i=e.attribute,o=e.defaultValue,a=void 0===o?void 0:o;if(!t||!1===n)return a;var l=t.getStyle(n,r,i);return void 0===l?a:l}({theme:t,base:\"object\"===i&&n?\"\".concat(\"object\",\".\").concat(n):i,path:o,attribute:c,defaultValue:s}),h=(l[\"\".concat(o,\".\").concat(c)]||fo)(d(p));fn(a,[o,c].filter(Boolean).join(\".\"),h)})),i.forEach((function(e){var t=u(e,2),n=t[0],r=t[1];fn(a,n,r)})),a}function ho(e){var t=e.theme,n=e.config,r=void 0===n?{}:n,i=r.id,o=r.resolve,a=void 0===o?[]:o,l=r.transform,c=void 0===l?[]:l,s=r.extend,u=void 0===s?[]:s,f={theme:t,matrix:uo(a),styles:void 0};return f.styles=po({theme:t,id:i,transform:c,extend:u,matrix:f.matrix}),{getStyles:function(){return f.styles},getTheme:function(){return f.theme},setTheme:function(e){f.theme=e,f.styles=po({theme:e,id:i,transform:c,extend:u,matrix:f.matrix})}}}var mo={NOOP:function(){},FALSE:function(){return!1},ARRAY:function(){return[]},OBJECT:function(){return{}}};var vo=\"chart-modules-tooltip\",go=\"#\".concat(vo);function yo(){if(!document.querySelector(go)){var e=document.createElement(\"div\");e.id=vo,e.style.overflow=\"hidden\",e.style.position=\"fixed\",e.style.pointerEvents=\"none\",e.style.left=\"0px\",e.style.top=\"0px\",e.style.width=\"100%\",e.style.height=\"100%\",e.style.zIndex=1020,document.body.appendChild(e)}}function bo(e){return{show:!0,key:e.key,type:\"tooltip\",layout:{displayOrder:3},beforeMount:function(){yo()},beforeUpdate:function(){yo()},destroyed:function(){var e;null!=(e=document.querySelector(go))&&e.parentElement&&e.childElementCount<1&&e.parentElement.removeChild(e)},settings:{appendTo:function(){return document.querySelector(go)},direction:e.rtl?\"rtl\":\"ltr\",duration:e.duration},style:{arrow:{color:\"#404040\"},content:{display:\"table\",\"border-spacing\":\"4px\",background:\"rgba(64, 64, 64, 0.9)\",opacity:\"1\",fontSize:\"13px\",fontFamily:\"'Source Sans Pro', 'Arial', 'sans-serif'\",\"empty-cells\":\"show\"},cell:{\"max-width\":\"180px\",\"word-break\":\"break-word\",\"word-wrap\":\"break-word\",\"overflow-wrap\":\"break-word\",hyphens:\"auto\"}}}}var xo=\"position\";var qo={bar:\"rect\",diamond:\"path\",point:\"circle\",square:\"rect\",triangle:\"path\",\"n-polygon\":\"path\",slice:\"path\"},wo=function(e){return e.data.value},ko=function(e){var t,n=e.data;return null==n||null===(t=n.major)||void 0===t?void 0:t.value};function Co(e){var t=e.chart,n=e.expando,r=e.nodes,i=e.collectConfig,o=e.collectibles,a=e.meta,l=i.from,c={chart:t,expando:n,nodes:r,collectConfig:i,collectibles:o,meta:a};switch(\"function\"==typeof l?\"custom\":l){case\"single\":return function(e){var t=u(e.nodes,1)[0];return[\"container\"===t.type&&t.children[0]||t]}(c);case\"position\":return function(e){var t=e.chart,n=e.collectibles,r=e.meta;return t.shapesAt(r.position.absolute,{components:n.map((function(e){return{key:e.key}}))})}(c);case\"dimension\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,i=e.collectibles,o=u(n,1)[0],a=r.filter,l=\"function\"==typeof a?a:function(){return!0},c=r.by,s=void 0===c?wo:c;return i.reduce((function(e,n){var r=n.major,i=void 0===r?ko:r,a=qo[n.type]||n.type;return e.push.apply(e,f(t.findShapes(a).filter((function(e){return e.key===n.key&&e.data&&i({data:e.data})===s({data:o.data})})))),e}),[]).filter(l)}(c);case\"radius\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,i=e.collectibles,o=e.meta,a=u(n,1)[0].localBounds,l=r.distance,c=r.filter,s=\"function\"==typeof c?c:function(){return!0},f=i.map((function(e){return e.key}));return t.shapesAt({cx:o.position.absolute.x,cy:o.position.absolute.y,r:l||Math.max(a.width,a.height)},{components:f.map((function(e){return{key:e}}))}).filter(s)}(c);case\"custom\":return function(e){var t=e.chart,n=e.expando,r=e.nodes,i=e.collectConfig,o=e.meta;return i.from({chart:t,expando:n,nodes:r,meta:o})}(c);default:return[]}}var Mo=Number.MAX_VALUE;function So(e){var t=e.nodes.reduce((function(e,t){var n=t.bounds;return e.xMin=Math.min(e.xMin,n.x,n.x+n.width),e.yMin=Math.min(e.yMin,n.y,n.y+n.height),e.xMax=Math.max(e.xMax,n.x,n.x+n.width),e.yMax=Math.max(e.yMax,n.y,n.y+n.height),e}),{xMin:Mo,xMax:-Mo,yMin:Mo,yMax:-Mo}),n=t.xMin,r=t.xMax,i=t.yMin;return{x:n,y:i,width:r-n,height:t.yMax-i}}function Do(e){var t=e.chart,n=e.config,r=e.expando,i=e.placementConfig,o=e.hovered,a=e.collected,l=e.meta,c=function(e){for(var t=e.chart,n=e.config,r=e.expando,i=e.placementConfig,o=e.hovered,a=e.collected,l=e.meta,c=u(o,1)[0],s=Array.isArray(i)?i:[i],d={bounds:c.bounds,key:c.key},p=So({nodes:a}),h=0;h<s.length;h++){var m=s[h];if(\"function\"==typeof m){var v=m({chart:t,expando:r,hovered:o,collected:f(a),meta:l,collectedBounds:p,combineBounds:So});if(v)return v}if(\"trigger\"===m)return d;if(\"collectible\"===m){var g=n.main.placements.collectible;return{bounds:\"function\"==typeof g?g({collected:f(a)}):p,key:a[0].key}}}return d}({chart:t,config:n,expando:r,placementConfig:i,hovered:o,collected:a,meta:l}),s=c.bounds,d=c.key,p=u(a,1)[0].desc;return[{bounds:s,nodes:a,data:a.map((function(e){return e.data})),key:d,meta:l,desc:p}]}function Oo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=e.nodes;if(!o.length)return[];var a=u(o,1)[0].key,l=n.main.collectibles;if(!l.length)return[];var c=n.main.triggers.find((function(e){return-1!==e.keys.indexOf(a)}))||{},s=c.collect,f=c.placement;if(!s||!s.from||!f)return[];var d={triggerer:a,position:i.get(xo)},p=(Co({chart:t,expando:r,nodes:o,collectConfig:s,collectibles:l,meta:d})||[]).map((function(e){return e.children.length?e.children[0]:e}));return p.length?Do({chart:t,config:n,expando:r,placementConfig:f,hovered:o,collected:p,meta:d}):[]}var Io=\"[־׀׃׆א-״߀-ߪߴ-ߵߺ-ࠕࠚࠤࠨ࠰-ࡘ࡞‏יִײַ-ﬨשׁ-ﭏ]\",Eo=\"[؈؋؍؛-ي٭-ٯٱ-ەۥ-ۦۮ-ۯۺ-܍ܐܒ-ܯݍ-ޥޱﭐ-ﴽﵐ-﷼ﹰ-ﻼ]\",Ao=new RegExp(\"[A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͽΆΈ-ϵϷ-҂Ҋ-։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ॿং-হঽ-ীে-ৌৎ-ৡ০-ৱ৴-৺ਃ-ਹਾ-ੀਖ਼-੯ੲ-ੴઃ-હઽ-ીૉ-ૌૐ-ૡ૦-૯ଂ-ହଽ-ାୀେ-ୌୗ-ୡ୦-୷ஃ-ிு-ௌௐ-௲ఁ-ఽు-ౄౘ-ౡ౦-౯౿-ಹಽ-ೋೕ-ೡ೦-ീെ-ൌൎ-ൡ൦-ෆා-ෑෘ-ะา-ำเ-ๆ๏-ະາ-ຳຽ-ໆ໐-༗༚-༴༶༸༾-ཬཿ྅ྈ-ྌ྾-࿅࿇-ာေးျ-ြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃ-ႄႇ-ႌႎ-ႜ႞-ፚ፠-ᎏᎠ-Ᏼᐁ-ᙿᚁ-ᚚᚠ-ᜑᜠ-ᜱ᜵-ᝑᝠ-ᝰក-ាើ-ៅះ-ៈ។-៚ៜ០-៩᠐-ᢨᢪ-ᤜᤣ-ᤦᤩ-ᤱᤳ-ᤸ᥆-᧚ᨀ-ᨖᨙ-ᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-᭪᭴-᭼ᮂ-ᮡᮦ-ᮧ᮪-ᯥᯧᯪ-ᯬᯮ᯲-ᰫᰴ-ᰵ᰻-᱿᳓᳡ᳩ-ᳬᳮ-ᶿḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ-⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-ⳤⳫ-ⳮⴀ-⵰ⶀ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㍶㍻-㏝㏠-㏾㐀-䶵一-ꒌꓐ-ꘌꘐ-ꙮꚀ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꤥ꤮-ꥆꥒ-ꥼꦃ-ꦲꦴ-ꦵꦺ-ꦻꦽ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂ-ꯤꯦ-ꯧꯩ-꯬꯰-ﬗA-Za-zヲ-ᅵ]\"),No=new RegExp(Io),To=new RegExp(Eo),Lo=function(e){return Ao.test(e)},Po=function(e){return No.test(e)||To.test(e)};function jo(e){for(var t=e?e.length:0,n=0;n<t;n++){var r=e[n];if(Lo(r))return\"ltr\";if(Po(r))return\"rtl\"}return\"ltr\"}function Fo(e){var t=e.visibility;return{type:\"divider\",content:[{content:\"\",style:{\"background-image\":\"linear-gradient(transparent 8px, rgba(255, 255, 255, 0.4) 8px, rgba(255, 255, 255, 0.4) 9.2px, transparent 9.2px)\",height:\"17px\"},colspan:2}],visibility:l(l({},{count:!1}),t)}}function Ho(e){var t=e.config,n=e.h,r=e.context,i=e.nodes,o=e.property,a=e.filter,c=e.visibility,s=e.fillColor,f=t.rtl,d={type:\"color\",label:void 0,value:void 0,content:[],filter:a,visibility:l(l({},{count:!0}),c)},p=t.getColorSettings();if(\"color\"===p.type||!p.fieldType)return d;var h=u(i,1)[0];if(d.value=function(e){var t=e.config,n=e.context,r=e.property,i=e.node,o=i.data[r];if(o){if(-3===i.data.value)return i.data.label;var a=n.resources.dataset(o.source.key).field(o.source.field).formatter(),l=o.value,c=o.label,s=t.getColorSettings();if(a&&\"measure\"===s.fieldType)return Number.isNaN(+l)?\"-\":a(o.value);var u=c||l;return void 0===u||Number.isNaN(u)||\"NaN\"===u?\"-\":u}}({config:t,context:r,property:o,node:h}),void 0===d.value)return d;d.label=function(e){var t=e.config,n=e.context,r=e.property,i=e.node,o=t.getColorSettings();if(o.label)return o.label;var a=i.data[r];if(a&&\"color\"!==o.type){var l=n.resources.dataset,c=a.source,s=c.key,u=c.field;return l(s).field(u).title()}}({config:t,context:r,property:o,node:h});var m=null!=s?s:function(e){var t=e.node.attrs;return(null==t?void 0:t.fill)||\"#ddd\"}({node:h}),v=n(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":m,margin:\"0 8px\"}});return d.content.push({content:f?[\":\",d.label]:[d.label,\":\"],style:{\"text-align\":f?\"right\":\"left\",direction:jo(d.label)}},{content:f?[d.value,v]:[v,d.value],style:{\"text-align\":f?\"left\":\"right\",\"vertical-align\":\"middle\",direction:jo(d.value)}}),d}function zo(e){var t=e.config,n=e.h,r=e.context,i={section:function(e){return function(e){return{type:\"section\",content:e.content}}({content:e.content})},text:function(e){var n=e.value,r=e.style,i=e.visibility;return function(e){var t=e.config,n=e.value,r=e.style,i=void 0===r?{}:r,o=i.bold,a=void 0!==o&&o,c=i.italic,s=void 0!==c&&c,u=e.visibility;return{type:\"text\",content:[{content:n,style:{\"font-weight\":a?\"bold\":\"normal\",\"font-style\":s?\"italic\":\"normal\",\"text-align\":t.rtl?\"right\":\"left\",direction:jo(n)},colspan:2}],visibility:l(l({},{count:!0}),u)}}({config:t,value:n,style:r,visibility:i})},measure:function(e){var r=e.label,i=e.value,o=e.color,a=e.style,c=e.survive,s=e.visibility;return function(e){var t,n,r,i,o=e.config,a=e.h,c=e.label,s=e.value,u=e.color,f=e.style,d=e.survive,p=e.visibility,h=o.rtl,m=a(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":u,margin:\"0 8px\"}});return{type:\"measure\",label:c,value:s,content:[{content:h?[\":\",c]:[c,\":\"],style:{\"text-align\":h?\"right\":\"left\",\"font-weight\":null!=f&&null!==(t=f.label)&&void 0!==t&&t.bold?\"bold\":\"normal\",\"font-style\":null!=f&&null!==(n=f.label)&&void 0!==n&&n.italic?\"italic\":\"normal\",direction:jo(c)}},{content:u?h?[s,m]:[m,s]:s,style:{\"text-align\":h?\"left\":\"right\",\"vertical-align\":\"middle\",\"font-weight\":null!=f&&null!==(r=f.value)&&void 0!==r&&r.bold?\"bold\":\"normal\",\"font-style\":null!=f&&null!==(i=f.value)&&void 0!==i&&i.italic?\"italic\":\"normal\",direction:jo(s)}}],survive:l(l({},{color:!1,duplicate:!1}),d),visibility:l(l({},{count:!0}),p)}}({config:t,h:n,label:r,value:i,color:o,style:a,survive:c,visibility:s})},divider:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.visibility;return Fo({visibility:t})},row:function(e){return function(e){var t=e.content,n=e.style,r=e.colspan,i=e.visibility;return{type:\"row\",content:[{content:t,style:n,colspan:r}],visibility:l(l({},{count:!0}),i)}}({content:e.content,style:e.style,colspan:e.colspan,visibility:e.visibility})},raw:function(e){return function(e){var t=e.value,n=e.visibility;return{type:\"raw\",content:t,visibility:l(l({},{count:!0}),n)}}({value:e.value,visibility:e.visibility})},color:function(e){var i=e.nodes,o=e.property,a=e.filter,l=void 0===a||a,c=e.visibility,s=e.fillColor;return Ho({config:t,h:n,context:r,nodes:i,property:o,filter:l,visibility:c,fillColor:s})}};return i}function Ro(e){var t=e.translator,n=e.config,r=e.context,i=e.templates,o=n.main.layout,a=o.rows,l=o.grouping,c=o.single,s=function(e){var t=e.limit,n=e.grouping,r=e.single,i={count:0,overflow:0,index:{started:void 0,group:void 0}};return{process:function(e){var o=e.visibility,a=e.index;if(r&&0!==a)return n?(i.index.started!==a&&i.index.group!==a&&(i.overflow++,i.index.group=a),!1):(i.overflow++,!1);if(i.count>=t){if(!n)return i.overflow++,!1;if(i.index.started!==a)return i.index.group!==a&&(i.overflow++,i.index.group=a),!1}return o.count&&i.count++,n&&(i.index.started=a),!0},overflow:function(){return i.overflow}}}({limit:a,grouping:l,single:\"function\"==typeof c?c({meta:r.node.meta,sections:i}):c}),u=i.reduce((function(e,t,n){var r=t.type,o=t.content;\"section\"===r&&(void 0===o?[]:o).forEach((function(t){s.process({visibility:t.visibility,index:n})&&e.push(t.content)}));var a=n===i.length-1;return\"divider\"!==r||a||s.process({visibility:t.visibility,index:n})&&e.push(t.content),e}),[]).filter((function(e){return e.length})),f=s.overflow();return f&&u.push(function(e){var t=e.translator,n=e.config,r=e.count,i=t?t.get(\"Object.ChartTooltip.NMore\",r):\"+\".concat(r,\" more\"),o=jo(i);return[{content:i,style:{\"font-weight\":\"bold\",\"text-align\":n.rtl?\"right\":\"left\",direction:o},colspan:2}]}({translator:t,config:n,count:f})),u}function Vo(e){var t=e.chart,n=e.translator,r=e.config,i=e.expando,o=e.h,a=e.data,c=e.style,s=u(a,1)[0],d=function(e){var t=e.config,n=e.nodes.reduce((function(e,n){var r=t.main.getGroupByValue({data:n.data});return e[r]||(e[r]={sorting:Object.keys(e).length,items:[]}),e[r].items.push(n),e}),{});return Object.keys(n).map((function(e){return n[e]})).sort((function(e,t){return e.sorting-t.sorting})).map((function(e){return e.items}))}({config:r,nodes:s.node.nodes}),p=function(e){var t=e.chart,n=e.config,r=e.expando,i=e.h,o=e.context,a=e.groups,l=o.node.meta,c=o.resources,s=c.dataset,u=c.formatter,d=zo({config:n,h:i,context:o}),p=function(e){var t=e.dataset;return{dataset:{title:function(e,n){return t(e).field(n).title()}}}}({dataset:s}),h=a.map((function(e){var t=d.section({content:f((n.main.section({expando:r,h:i,nodes:e,dataset:s,formatter:u,meta:l,create:d,util:p})||[]).filter((function(e){var t;return null===(t=e.content)||void 0===t?void 0:t.length}))).filter(Boolean)});return t.content=function(e){var t=e.config,n=e.content,r=n.find((function(e){return\"color\"===e.type&&e.filter})),i=r?n.filter((function(e){return\"measure\"!==e.type||e.survive.color||e.label!==r.label||e.value!==r.value})):n;return t.main.showDuplicateMeasures?i:i.reduce((function(e,t){var n=t.type,r=t.survive;if(\"measure\"!==n||r.duplicate)return e.filtered.push(t),e;var i=\"\".concat(t.label,\"-\").concat(t.value);return e.memory[i]||(e.memory[i]=!0,e.filtered.push(t)),e}),{memory:{},filtered:[]}).filtered}({config:n,content:t.content}),t}));return n.main.sections({chart:t,expando:r,h:i,nodes:o.node.nodes,dataset:s,formatter:u,meta:l,create:d,util:p,sections:h}),h.filter(Boolean)}({chart:t,config:r,expando:i,h:o,context:s,groups:d}),h=Ro({translator:n,config:r,h:o,context:s,templates:p});return h.length?function(e){var t=e.h,n=e.style;return e.rows.map((function(e){return t(\"tr\",{},e.map((function(e){var r={style:l(l({},n.cell||{}),e.style||{}),class:e.class};return e.colspan&&(r.colspan=e.colspan),t(\"td\",r,e.content)})))}))}({h:o,style:c,rows:h}):function(e){var t=e.h;return t(\"tr\",{},t(\"td\",{style:{fontStyle:\"italic\",opacity:.75}},\"Empty\"))}({h:o})}function _o(e){var t=e.chart,n=e.translator,r=e.config,i=e.expando,o=e.internal;if(!r.main.key)return!1;var a=dn(),l=bo({key:r.main.key,rtl:r.rtl,duration:r.duration}),c=r.main.events.tooltip,s=c.afterShow,u=c.afterHide,f=function(){var e=a.get(\"collected\");return{expando:i,nodes:e.nodes,meta:e.meta}};return oe(!0,l,{settings:{filter:function(e){return Oo({chart:t,config:r,expando:i,internal:o,nodes:e})},extract:function(e){return a.set(\"collected\",e.node),e},content:function(e){var o=e.h,a=e.data,l=e.style;return Vo({chart:t,translator:n,config:r,expando:i,h:o,data:a,style:l})},placement:function(e){var t=e.nodes;return r.main.placement({meta:t[0].meta})},afterShow:function(){return s(f())},afterHide:function(){return u(f())}},style:{arrow:{color:r.style.background},content:r.style}})}function Bo(e){var t=e.config,n=t.legend.keys;if(!n.tooltip||!n.component)return!1;if(\"categorical\"!==t.getColorSettings().type)return!1;var r=bo({key:n.tooltip,rtl:t.rtl,duration:t.duration});return oe(!0,r,{settings:{filter:function(e){return e.filter((function(e){return e.data&&e.key===n.component}))},extract:function(e){return e},content:function(e){var t=e.h,n=e.data;return[t(\"tr\",{},[t(\"td\",{style:l(l({},e.style.cell||{}),{\"font-weight\":\"bold\",\"text-align\":\"left\"}),colspan:2},n[0].node.data.label)])]},placement:\"pointer\"},style:{arrow:{color:t.style.background},content:t.style}})}function Ko(e){var t=e.config.main.triggers.reduce((function(e,t){return t.keys.forEach((function(n){var r=t.distance||0;e.distance[n]=r,e.distances.includes(r)||e.distances.push(r),e.key[n]=!0,e.keys[r]||(e.keys[r]=[]),e.keys[r].push(n)})),e}),{distance:{},distances:[],key:{},keys:{}});return function(e){return e.components.filter((function(e){return t.key[e.key]})).reduce((function(e,n){e.any=!0,e.components.push(n.key);var r=t.distance[n.key];return 0===r?e.position.push(n.key):(e.distances.includes(r)||(e.distances.push(r),e.distanceKeys[r]=[]),e.distanceKeys[r].push(n.key)),e}),{any:!1,components:[],position:[],distances:[],distanceKeys:{}})}}var $o=function(){return!0};function Yo(e){var t=e.config.main.triggers.reduce((function(e,t){var n=t.filter;return t.keys.forEach((function(t){e[t]=\"function\"==typeof n?n:$o})),e}),{});return function(e){var n=t[e.key];return!n||n(e)}}function Uo(e){var t=e.chart,n=e.event,r=e.component,i={absolute:{x:0,y:0},relative:{x:0,y:0}},o=t.element.getBoundingClientRect(),a=o.left,l=o.top;i.absolute.x=(void 0===n.clientX?Math.floor(n.srcEvent.clientX):n.clientX)-a,i.absolute.y=(void 0===n.clientY?Math.floor(n.srcEvent.clientY):n.clientY)-l;var c=t.component(r);if(c){var s=c.rect.computedInner;i.relative.x=i.absolute.x-s.x,i.relative.y=i.absolute.y-s.y}return i}function Go(e){var t=e.chart,n=e.filter,r=e.hits,i=e.position,o=[];if(r.position.length&&o.push.apply(o,f(t.shapesAt(i.absolute,{components:r.position.map((function(e){return{key:e}}))}).filter(n))),!o.length&&r.distances.length){var a=[];r.distances.forEach((function(e){a.push.apply(a,f(t.shapesAt({cx:i.absolute.x,cy:i.absolute.y,r:e},{components:r.distanceKeys[e].map((function(e){return{key:e}}))}).filter(n)))})),a.length&&o.push(function(e){var t=e.nodes,n=e.origin,r=t.find((function(e){return\"path\"===e.type}));if(r)return r;var i=function(e){var t=Math.abs(n.x-(e.localBounds.x+e.localBounds.width/2)),r=Math.abs(n.y-(e.localBounds.y+e.localBounds.height/2));return Math.sqrt(t*t+r*r)};return t.slice(1).reduce((function(e,t){var n=i(t);return n<e.distance&&(e.distance=n,e.node=t),e}),{node:t[0],distance:i(t[0])}).node}({nodes:a,origin:i.relative}))}return o}function Wo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,a=e.facade,l=n.delay.tap,c=Ko({config:n}),s=Yo({config:n}),d=n.main.triggers.reduce((function(e,t){return e.push.apply(e,f(t.keys)),e}),[]);return{key:\"event:\".concat(\"tooltipTap\"),type:\"Tap\",options:{event:\"tooltipTap\",enable:function(e,r){return!r||!!n.enable({event:r})&&t.componentsFromPoint({x:r.center.x,y:r.center.y}).filter((function(e){return-1!==d.indexOf(e.key)})).length>0}},recognizeWith:\"tap\",events:o({},\"tooltipTap\",(function(e){if(e.preventDefault(),\"mouse\"!==e.pointerType&&!n.main.suppress({event:e})){var o=t.component(n.main.key);if(o&&o.show){var f=t.componentsFromPoint({x:e.center.x,y:e.center.y}),d=c({components:f});if(d.any){var p=u(d.components,1)[0],h=Uo({chart:t,event:e,component:p});i.set(xo,h);var m=Go({chart:t,filter:s,hits:d,position:h});if(m.length){var v=m[0].key;n.main.events.tooltip.beforeShow({expando:r,event:e,collectNodes:function(){return a.collectNodes({nodes:m})},meta:{triggerer:v,position:h}}).then((function(){o.emit(\"show\",e,{nodes:m,delay:l})})).catch((function(){}))}else o.emit(\"hide\")}else o.emit(\"hide\")}}}))}}function Xo(e){var t=e.config,n=e.expando,r=e.internal,i=e.facade,o=t.main.events.tooltip.beforeShow,a=t.delay.hover,l={ongoing:{},latest:void 0};return function(e){var t=e.event,c=e.tooltip,s=e.nodes,u=function(e){var t=e.nodes;return JSON.stringify(t.map((function(e){var t;return{key:e.key,bounds:e.bounds,value:null===(t=e.data)||void 0===t?void 0:t.value}})))}({nodes:s});if(!l.ongoing[u]){l.ongoing[u]=!0,l.latest=u;var f=s[0].key;o({expando:n,event:t,collectNodes:function(){return i.collectNodes({nodes:s})},meta:{triggerer:f,position:r.get(xo)}}).then((function(){u===l.latest&&c.emit(\"show\",t,{nodes:s,delay:a})})).catch((function(){c.emit(\"show\")})).finally((function(){delete l.ongoing[u],u===l.latest&&(l.latest=void 0)}))}}}function Zo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=e.facade,a=Ko({config:n}),l=Yo({config:n}),c=Xo({config:n,expando:r,internal:i,facade:o}),s=[n.main.key,n.legend.keys.tooltip].filter(Boolean),f=function(){s.forEach((function(e){var n=t.component(e);null!=n&&n.show&&n.emit(\"hide\")}))};return{type:\"native\",events:{mousemove:function(e){if(n.enable({event:e})&&!n.main.suppress({event:e})){var r=t.componentsFromPoint({x:e.clientX,y:e.clientY}),o=t.component(n.main.key);if(o&&o.show){var s=a({components:r});if(s.any){var f=u(s.components,1)[0],d=Uo({chart:t,event:e,component:f});i.set(xo,d);var p=Go({chart:t,filter:l,hits:s,position:d});if(!p.length)return void o.emit(\"hide\");c({event:e,tooltip:o,nodes:p})}else o.emit(\"hide\")}var h=n.legend;if(h.keys.tooltip&&h.keys.component){var m=t.component(h.keys.tooltip);m&&m.show&&(r.some((function(e){return e.key===h.keys.component}))?m.emit(\"show\",e):m.emit(\"hide\"))}}},mouseup:function(e){2===e.button&&f()},mouseleave:function(){n.main.events.interaction.mouseleave({expando:r}),f()},wheel:function(){f()}}}}function Jo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=function(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal;return{collectNodes:function(e){var o=e.nodes,a=u(Oo({chart:t,config:n,expando:r,internal:i,nodes:o}),1)[0];return(void 0===a?{nodes:[]}:a).nodes}}}({chart:t,config:n,expando:r,internal:i});return{gestures:[Wo({chart:t,config:n,expando:r,internal:i,facade:o})],native:Zo({chart:t,config:n,expando:r,internal:i,facade:o})}}function Qo(e){var t=e.chart,n=e.translator,r=function(e){var t=e.config;return oe(!0,{},{rtl:!1,enable:mo.FALSE,getColorSettings:mo.OBJECT,style:{fontSize:void 0,fontFamily:void 0,color:void 0,background:void 0},delay:{hover:500,tap:0},duration:8e3,main:{key:void 0,suppress:mo.FALSE,getGroupByValue:mo.NOOP,collectibles:[],triggers:[],placement:function(){return{type:\"bounds\"}},placements:{collectible:\"combine\"},showDuplicateMeasures:!1,layout:{rows:7,grouping:!1,single:!1},section:mo.ARRAY,sections:mo.NOOP,events:{tooltip:{beforeShow:function(){return Promise.resolve()},afterShow:mo.NOOP,afterHide:mo.NOOP},interaction:{mouseleave:mo.NOOP}}},legend:{keys:{tooltip:void 0,component:void 0}}},void 0===t?{}:t)}({config:e.config}),i=dn(),o=dn(),a={components:void 0,interactions:void 0};return{getComponents:function(){return a.components||(a.components=function(e){var t=e.chart,n=e.translator,r=e.config;return[_o({chart:t,translator:n,config:r,expando:e.expando,internal:e.internal}),Bo({config:r})].filter(Boolean)}({chart:t,translator:n,config:r,expando:i,internal:o})),a.components},getInteractions:function(){return a.interactions||(a.interactions=Jo({chart:t,config:r,expando:i,internal:o})),a.interactions},expando:i}}var ea=\"AVERAGE\",ta=\"LINEAR\",na=\"POLYNOMIAL2\",ra=\"POLYNOMIAL3\",ia=\"POLYNOMIAL4\",oa=\"EXPONENTIAL\",aa=\"LOG\",la=\"POWER\";function ca(e){var t=e.dimValue,n=e.value,r=e.qTrendLine,i=r.qType,o=r.qCoeff,a={x:t,y:o[2]*Math.pow(n,2)+o[1]*n+o[0]};switch(i){case na:return a;case ra:return a.y+=o[3]*Math.pow(n,3),a;case ia:return a.y+=o[4]*Math.pow(n,4)+o[3]*Math.pow(n,3),a;default:return a}}var sa={average:function(e){return{x:e.dimValue,y:e.qTrendLine.qCoeff[0]}},linear:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:r.qCoeff[1]*n+r.qCoeff[0]}},polynomial2:ca,polynomial3:ca,polynomial4:ca,exponential:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:Math.exp(r.qCoeff[0]+n*r.qCoeff[1])}},log:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:r.qCoeff[1]+r.qCoeff[0]*Math.log(n)}},power:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:Math.pow(10,r.qCoeff[0]+r.qCoeff[1]*Math.log(n)*Math.LOG10E)}}};function ua(e,t){for(var n=sa[t.qType.toLowerCase()],r=Math.max(1,e/500),i=1/0,o=-1/0,a=0;a<e;a+=r){var l=n({dimValue:null,value:a+1,qTrendLine:t}).y;i=Math.min(l,i),o=Math.max(l,o)}return{min:i,max:o}}function fa(e){return sa[e.qType.toLowerCase()]}function da(e,t){return e.meta.isContinuous?function(e,t){return{generate:function(e,n,r){var i=[],o=fa(e),a=t({qTrendLine:e,measureIndex:r}),l=a.min,c=a.max,s=(c-l)/100;if(s>0){for(var u=function(t){var a=o({dimValue:t,value:t,qTrendLine:e});if(a.layerId=n,a.measureIndex=r,a.dimValue=t,e.flipXY){var l=a.x;a.x=a.y,a.y=l,a.dimValue=a.x}i.push(a)},f=l,d=l;d<=c;d+=s)u(d),f=d;f!==c&&u(c)}return i},calculate:function(e,t){return fa(e)({dimValue:t,value:t,qTrendLine:e})},findMinMax:function(e,t){var n=this.generate(t).map((function(e){return e.y}));return{min:Math.min.apply(Math,f(n)),max:Math.max.apply(Math,f(n))}}}}(0,t):e.meta.mode.K?function(e){return{generate:function(t,n,r){for(var i=[],o=e.getDataPages()[0],a=o.qData[0].qSubNodes,l=o.qArea.qTop,c=sa[t.qType.toLowerCase()],s=0;s<a.length;s++){var u=a[s],f=c({dimValue:u.qElemNo,value:s+l+1,qTrendLine:t});f.layerId=n,f.measureIndex=r,f.dimValue=u.qText,i.push(f)}return i},findMinMax:ua}}(e):function(e){return{generate:function(t,n,r){for(var i=[],o=e.getDataPages()[0],a=o.qMatrix,l=o.qArea.qTop,c=sa[t.qType.toLowerCase()],s=0;s<a.length;s++){var u=a[s][0],f=s+l+1,d=c({dimValue:u.qElemNumber,value:f,qTrendLine:t});d.layerId=n,d.measureIndex=r,d.dimValue=u.qText,i.push(d)}return i},calculate:function(e,t,n){return(0,sa[e.qType.toLowerCase()])({dimValue:n,value:t,qTrendLine:e})},findMinMax:ua}}(e)}var pa={TYPES:{AVERAGE:\"properties.trendlines.types.average\",LINEAR:\"properties.trendlines.types.linear\",POLYNOMIAL2:\"properties.trendlines.types.polynomial2\",POLYNOMIAL3:\"properties.trendlines.types.polynomial3\",POLYNOMIAL4:\"properties.trendlines.types.polynomial4\",EXPONENTIAL:\"properties.trendlines.types.exponential\",LOG:\"properties.trendlines.types.logarithmic\",POWER:\"properties.trendlines.types.power\"},STYLE:{DASHED:\"properties.trendlines.style.dashed\"},TYPE:\"properties.trendlines.type\",HEADER:\"properties.trendlines\",ADD_BUTTON:\"properties.trendlines.button.add\"},ha={color:\"#f93f17\",index:9},ma={x:NaN,y:NaN,dimValue:NaN,layerId:NaN,measureIndex:NaN},va=function(e){var t=e.layoutService,n=e.getMinMax,r=e.colorModel,i=e.chart,o=e.translator,a=e.keys.colorScale,l=e.isEnabled,c=void 0===l?function(){return!0}:l,s=[ma],u=[],d=[],p=da(t,n);t.getLayoutValue(\"qHyperCube.qMeasureInfo\",[]).forEach((function(e,t){Array.isArray(e.qTrendLines)&&(u.push.apply(u,f(e.qTrendLines)),d.push.apply(d,f(e.qTrendLines.map((function(){return t})))))}));var h=pn((function(e){var t=(u[e]||{}).style,n=r.settings();if(t.autoColor){if(\"measure\"===n.mode){var o=d[e],l=i.scale(a)(o);return function(e){return rt(e).l<70}(l)?function(e){var t=rt(e);return t.l<30?t.l+=15:t.l<50?t.l+=10:t.l+=5,t.toString()}(l):function(e){var t=rt(e);return t.l-=5,t.toString()}(l)}return r.resolveUIColor(ha)}return t.paletteColor?r.resolveUIColor(t.paletteColor):\"none\"}));return{query:{hasTrendLines:function(){return!!u.length&&c()},getData:function(){return s},getStroke:h,getLineDash:function(e){return(u[e]||{}).style.lineDash},getLabel:function(e){return(u[e]||{}).label},getExpression:function(e){var t=(u[e]||{}).qExpression;return u[e].flipXY&&(t=t.replace(/[xy]/g,(function(e){return\"x\"===e?\"y\":\"x\"}))),t},isFlipped:function(e){return u[e].flipXY},getType:function(e){var t=(u[e]||{}).qType;return o.get(pa.TYPES[t])},getMinMax:function(){var e=1/0,n=-1/0;return u.forEach((function(r){var i=p.findMinMax(t.meta.size.y,r);e=Math.min(i.min,e),n=Math.max(i.max,n)})),{min:e,max:n}},getCalculatedValue:function(e,t,n){var r=u[e];return p.calculate(r,t,n)}},command:{update:function(){s.length=0,u.forEach((function(e,t){var n=p.generate(e,t,d[t]);s.push.apply(s,f(n))}))}}}},ga={source:\"trend\",extract:{field:\"x\",props:{minor:{field:\"y\"},layer:{field:\"layerId\"},measureIndex:{field:\"measureIndex\"},dimValue:{field:\"dimValue\"}}}},ya=function(e){var t=e.meta;return t.isContinuous?function(e){return(0,e.scale)(e.datum.value)}:t.isGroupedByMeasure?function(e){var t=e.scale,n=e.datum;return t([n.value,n.measureIndex.value])+t.bandwidth()/2}:function(e){var t=e.scale;return t(e.datum.value)+t.bandwidth()/2}},ba=function(e,t){var n=t.animations,r=t.layoutService,i=t.trendLineModel,o=t.orientation;if(!i.query.hasTrendLines())return[];var a=function(e,t){var n=e.trendlines,r=e.majorScale,i=e.minorScale,o=t.animations,a=t.trendLineModel,l=t.layoutService,c=t.orientation,s=ya(l);return{key:n,type:\"line\",layout:{dock:\"center\"},data:ga,animations:o,settings:{connect:!0,orientation:c,coordinates:{major:{scale:r,fn:s},minor:{scale:i},layerId:{ref:\"layer\"}},layers:{curve:\"monotone\",line:{strokeWidth:2,stroke:function(e){var t=e.datum;return a.query.getStroke(t.layer.value)},strokeDasharray:function(e){var t=e.datum;return a.query.getLineDash(t.layer.value)}}}}}}(e,{animations:n,trendLineModel:i,layoutService:r,orientation:o}),l=[a];if(e.tooltipOverlay){var c=function(e,t){var n=e.majorScale,r=e.minorScale,i=e.tooltipOverlay,o=t.layoutService,a=\"horizontal\"===t.orientation,l={scale:n,fn:ya(o)},c={scale:r,ref:\"minor\"};return{key:i,type:\"point\",layout:{dock:\"center\"},data:ga,settings:{x:a?l:c,y:a?c:l,opacity:0,size:1,sizeLimits:{maxPx:8,minPx:8}}}}(e,{layoutService:r,orientation:o});l.push(c)}return l},xa=function(e){e.style.dashed?e.style.lineDash=\"8, 4\":e.style.lineDash=\"\"},qa=function(e){xa(e),e.qMultiDimMode=\"Sum\",e.qXColIx=0};function wa(e,t){return{x:e.x-t.x,y:e.y-t.y}}function ka(e){return Math.pow(e.x,2)+Math.pow(e.y,2)}function Ca(e,t,n){var r=wa(n,e),i=wa(t,e),o=ka(i);if(0===o)return e;var a,l,c,s,u=(l=i,((a=r).x*l.x+a.y*l.y)/o);return u<=0?e:u>=1?t:function(e,t){return{x:e.x+t.x,y:e.y+t.y}}(e,(s=u,{x:(c=i).x*s,y:c.y*s}))}function Ma(e){var t,n,r=e.keys,i=e.model,o=e.chart,a=e.pos,l=e.lineNode,c=i,s=o.component(r.trendlines),u=o.scale(r.majorScale),f=o.scale(r.minorScale),d=l.data.layer.value,p=function(e,t){var n=1/0,r=null;if(1===e.length)return e[0];for(var i=0;i<e.length-1;++i){var o=Ca(e[i],e[i+1],t),a=ka(wa(o,t));a<n&&(n=a,r=o)}return r}(l.data.points.map((function(e){return{x:u(e.dimValue.value)*s.rect.computed.width,y:f(e.minor.value)*s.rect.computed.height}})),a);return c.query.isFlipped(d)?(n=f.invert(p.y/s.rect.computed.height),t=c.query.getCalculatedValue(d,n).y,p.x=u(t)*s.rect.computed.width):(t=u.invert(p.x/s.rect.computed.width),n=c.query.getCalculatedValue(d,t).y,p.y=f(n)*s.rect.computed.height),{key:l.key,children:[],data:{layer:d,x:t,y:n},bounds:{x:p.x,y:p.y,width:0,height:0}}}function Sa(e){var t=e.animations,n=e.chart,r=e.colorService,i=e.isEnabled,o=e.keys,a=void 0===o?{}:o,l=e.layoutService,c=e.orientation,s=e.translator,u=e.getMinMax;a.trendlines||(a.trendlines=\"trend-lines\");var f=va({layoutService:l,getMinMax:u,colorModel:{settings:function(){return r.getSettings()},resolveUIColor:function(e){return r.getPaletteColor(e)}},chart:n,translator:s,keys:a,isEnabled:i});return{getComponents:function(){return ba(a,{animations:t,layoutService:l,trendLineModel:f,orientation:c})},getData:function(){return f.query.hasTrendLines()?[{key:\"trend\",data:f.query.getData()}]:[]},collectNodes:function(e){var t=e.nodes,r=e.meta;return function(e){var t=e.keys,n=e.model,r=e.chart,i=e.nodes,o=e.meta;return i.length?[Ma({keys:t,model:n,chart:r,pos:o.position.relative,lineNode:i[0]})]:[]}({keys:a,model:f,chart:n,nodes:t,meta:r})},getModel:function(){return f},update:function(){return f.command.update()}}}Sa.propertyPanelProperties=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.translator,n=function(e){var n=d(e.label);return\"string\"===n&&e.label?e.label:\"object\"===n?e.label.qStringExpression?e.label.qStringExpression.qExpr:e.label.qValueExpression.qExpr:t.get(pa.TYPES[e.qType])};return{type:\"array\",ref:\"qTrendLines\",titleTranslation:pa.HEADER,itemTitleRef:n,max:8,allowAdd:!0,allowRemove:!0,allowMove:!1,addTranslation:pa.ADD_BUTTON,add:qa,items:{label:{ref:\"label\",type:\"string\",expression:\"optional\",translation:\"Common.Label\",defaultValue:\"\"},type:{ref:\"qType\",type:\"string\",component:\"dropdown\",translation:pa.TYPE,options:[{value:ea,translation:pa.TYPES.AVERAGE},{value:ta,translation:pa.TYPES.LINEAR},{value:na,translation:pa.TYPES.POLYNOMIAL2},{value:ra,translation:pa.TYPES.POLYNOMIAL3},{value:ia,translation:pa.TYPES.POLYNOMIAL4},{value:oa,translation:pa.TYPES.EXPONENTIAL},{value:aa,translation:pa.TYPES.LOG},{value:la,translation:pa.TYPES.POWER}],defaultValue:ea},autoColor:{ref:\"style.autoColor\",type:\"boolean\",translation:\"properties.colors\",component:\"switch\",defaultValue:!0,options:[{value:!0,translation:\"Common.Auto\"},{value:!1,translation:\"Common.Custom\"}]},paletteColor:{ref:\"style.paletteColor\",translation:\"properties.color\",type:\"object\",component:\"color-picker\",dualOutput:!0,defaultValue:ha,show:function(e){return!e.style.autoColor}},dashed:{ref:\"style.dashed\",translation:pa.STYLE.DASHED,type:\"boolean\",defaultValue:!0,change:xa}}}};export{h as COLORS,ne as alternativeService,y as asHSL,b as asHSLA,q as asHSV,x as asHSVObject,g as asHex,w as asRGB,k as asRGBA,dn as cache,$t as colorService,D as createColor,mn as debouncer,Zt as disclaimerService,cn as dockService,_ as fontResolver,L as getAvailableFonts,I as getBestContrast,A as getBlendedColor,O as getContrastRatio,E as getContrastingColor,M as getLuminance,sn as getValue,S as isDark,qn as layoutService,U as mapFromQTypeToSprout,pn as memoize,kn as pluginService,ro as selectionService,fn as setValue,hn as storage,ho as themeService,vn as throttler,Qo as tooltipService,Sa as trendlinesService};\n","const ChartStyleComponent = (fontResolver, theme, chartId) => {\n const propertyDefs = {};\n propertyDefs.getOptions = (key, ref) => {\n const getFontFamilyComponent = () => ({\n ref: `${ref}.fontFamily`,\n component: 'dropdown',\n options: () => fontResolver.getOptions(`${ref}.fontFamily`),\n defaultValue: () => fontResolver.getDefaultValue(`${ref}.fontFamily`),\n });\n\n const getFontSizeComponent = () => ({\n ref: `${ref}.fontSize`,\n component: 'dropdown',\n width: true,\n options: () => fontResolver.getOptions(`${ref}.fontSize`),\n defaultValue: () => fontResolver.getDefaultValue(`${ref}.fontSize`),\n });\n\n const getColorComponent = (theme, chartId) => ({\n ref: `${ref}.fontColor`,\n component: 'color-picker',\n width: false,\n defaultValue: () => {\n const color = theme.getStyle(chartId, `${ref}.color`, 'color');\n const palette = theme.getDataColorPickerPalettes()[0].colors;\n const index = palette.indexOf(color);\n return { color, index };\n },\n });\n\n const getFontWrapperComponent = (theme, chartId) => ({\n fontWrapper: {\n component: 'inline-wrapper',\n items: {\n fontSize: {\n ...getFontSizeComponent(),\n },\n fontColor: {\n ...getColorComponent(theme, chartId),\n },\n },\n },\n });\n return {\n labelSection: {\n component: 'items',\n ref: 'components',\n key,\n items: {\n fontFamily: {\n ...getFontFamilyComponent(),\n },\n ...getFontWrapperComponent(theme, chartId),\n },\n },\n };\n };\n return propertyDefs;\n};\n\nexport const getChartFontResolver = (theme, translator, chartId, createFontResolver, flags) =>\n createFontResolver({\n theme,\n translator,\n flags,\n config: {\n id: chartId,\n paths: ['axis.title', 'axis.label.name', 'label.value', 'legend.title', 'legend.label'],\n },\n });\n\nconst overrides = (key, layout) => (layout.components || []).find((c) => c.key === key);\n\nexport const getAxisTitleStyle = (chartId, theme, layout) => {\n const axis = overrides('axis', layout)?.axis;\n return {\n text: {\n fontFamily: axis?.title?.fontFamily || theme.getStyle(chartId, 'axis.title', 'fontFamily'),\n fontSize: axis?.title?.fontSize || theme.getStyle(chartId, 'axis.title', 'fontSize'),\n fill: axis?.title?.fontColor?.color || theme.getStyle(chartId, 'axis.title', 'color'),\n },\n };\n};\nexport const getAxisLabelStyle = (chartId, theme, layout) => {\n const axis = overrides('axis', layout)?.axis;\n return {\n labels: {\n fontFamily: axis?.label?.name?.fontFamily || theme.getStyle(chartId, 'axis.label.name', 'fontFamily'),\n fontSize: axis?.label?.name?.fontSize || theme.getStyle(chartId, 'axis.label.name', 'fontSize'),\n fill: axis?.label?.name?.fontColor?.color || theme.getStyle(chartId, 'axis.label.name', 'color'),\n },\n };\n};\n\nexport const getValueLabelStyle = (chartId, styles, layout) => {\n const value = overrides('value', layout)?.label;\n const fontFamily = value?.value?.fontFamily || styles.label.value.fontFamily;\n let fontSize = value?.value?.fontSize || styles.label.value.fontSize;\n fontSize = parseFloat(fontSize);\n const fill = value?.value?.fontColor?.color;\n return {\n fontFamily,\n fontSize,\n fill,\n };\n};\n\nexport const getLegendTitleStyle = (chartId, theme, layout, flags) => {\n const legend = flags.isEnabled('CLIENT_IM_3051') ? overrides('legend', layout)?.legend : {};\n return {\n fontFamily: legend?.title?.fontFamily || theme.getStyle(chartId, 'legend.title', 'fontFamily'),\n fontSize: legend?.title?.fontSize || theme.getStyle(chartId, 'legend.title', 'fontSize'),\n color: legend?.title?.fontColor?.color || theme.getStyle(chartId, 'legend.title', 'color'),\n };\n};\n\nexport const getLegendLabelStyle = (chartId, theme, layout, flags) => {\n const legend = flags.isEnabled('CLIENT_IM_3051') ? overrides('legend', layout)?.legend : {};\n return {\n fontFamily: legend?.label?.fontFamily || theme.getStyle(chartId, 'legend.label', 'fontFamily'),\n fontSize: legend?.label?.fontSize || theme.getStyle(chartId, 'legend.label', 'fontSize'),\n color: legend?.label?.fontColor?.color || theme.getStyle(chartId, 'legend.label', 'color'),\n };\n};\n\nexport default ChartStyleComponent;\n","const CHART_ID = 'object.waterfallChart';\n\nfunction getShapeColor(layout, theme, name, defaultColor, defaultIndex) {\n const layoutColor = layout.color || layout.qDef.color;\n if (!layoutColor || layoutColor.auto || !layoutColor[name]) {\n const color = theme.getStyle(CHART_ID, `shape.${name}`, 'fill') || defaultColor;\n const index = defaultIndex; // chartStyleUtils.Theme.currentPalette.indexOf(color);\n return { index, color };\n }\n\n return layoutColor[name].paletteColor;\n}\n\nfunction getColorForPositiveValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'positiveValue', null, 6));\n}\n\nfunction getColorForNegativeValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'negativeValue', '#cc6677', -1));\n}\n\nfunction getColorForSubtotal(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'subtotal', '#c3c3c3', -1));\n}\n\nconst waterfallUtils = {\n valueTypes: {\n NORMAL: 'NORMAL',\n INVERSE: 'INVERSE',\n SUBTOTAL: 'SUBTOTAL',\n },\n chartID: CHART_ID,\n getColorForPositiveValue,\n getColorForNegativeValue,\n getColorForSubtotal,\n};\n\nObject.freeze(waterfallUtils.valueTypes);\nObject.freeze(waterfallUtils);\n\nexport default waterfallUtils;\n","/**\n * Gets definition of items that should be in the styling panel for the chart.\n * @param {*} flags\n * @param {*} styleOptions\n * @returns definition or undefined if nothing is toggled on by feature flags\n */\nconst getStylingItems = (flags, styleOptions) => {\n const items = {\n axisLabelSection: {\n translation: 'properties.axis.label',\n component: 'panel-section',\n items: styleOptions.getOptions('axis', 'axis.label.name'),\n },\n valueLabelSection: {\n translation: 'properties.value.label',\n component: 'panel-section',\n items: styleOptions.getOptions('value', 'label.value'),\n },\n };\n\n if (flags?.isEnabled('CLIENT_IM_3051')) {\n items.legendLabelSection = {\n translation: 'properties.legend.label',\n component: 'panel-section',\n items: styleOptions.getOptions('legend', 'legend.label'),\n };\n }\n\n return Object.keys(items).length > 0 ? items : undefined;\n};\n\nconst getStylingPanelDefinition = (bkgOptionsEnabled, styleOptions, flags) => ({\n component: 'styling-panel',\n chartTitle: 'Object.WaterfallChart',\n translation: 'LayerStyleEditor.component.styling',\n subtitle: 'LayerStyleEditor.component.styling',\n ref: 'components',\n useGeneral: true,\n useBackground: bkgOptionsEnabled,\n items: getStylingItems(flags, styleOptions),\n});\n\nexport default getStylingPanelDefinition;\n","import extend from 'extend';\nimport { fontResolver as createFontResolver, getValue } from 'qlik-chart-modules';\n// import defaultProperties from '../../../assets/client/property-panel/default-properties';\nimport ChartStyleComponent, { getChartFontResolver } from '@qlik/common/extra/chart-style-component';\nimport waterfallUtils from './waterfallchart-utils';\nimport getStylingPanelDefinition from './styling-panel-property-definiton';\n\nfunction colorIsNotAuto(data) {\n return !data.color.auto;\n}\n\nexport default function propertyDefinition(env) {\n const { flags, translator } = env;\n // feature flags\n const stylingPanelEnabled = env.flags.isEnabled('SENSECLIENT_IM_2020_STYLINGPANEL_WATERFALLCHART');\n const bkgOptionsEnabled = env.flags.isEnabled('SENSECLIENT_IM_2020_WATERFALLCHART_BG');\n const data = {\n uses: 'data',\n addTranslation: 'Properties.AddData',\n items: {\n measures: {\n disabledRef: '',\n items: {\n numberFormatting: {\n show: false,\n },\n valueType: {\n type: 'string',\n component: 'dropdown',\n ref: 'qDef.valueType',\n translation: 'properties.waterfall.measureOperation',\n options: [\n {\n value: waterfallUtils.valueTypes.NORMAL,\n translation: 'properties.waterfall.measureOperation.add',\n },\n {\n value: waterfallUtils.valueTypes.INVERSE,\n translation: 'properties.waterfall.measureOperation.subtract',\n },\n {\n value: waterfallUtils.valueTypes.SUBTOTAL,\n translation: 'properties.waterfall.measureOperation.subtotal',\n },\n ],\n defaultValue: waterfallUtils.valueTypes.NORMAL,\n },\n subTotal: {\n ref: 'qDef.subtotal.enable',\n type: 'boolean',\n defaultValue: false,\n translation: 'properties.waterfall.measureOperation.subtotal',\n show(data) {\n return data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL;\n },\n },\n subTotalLabel: {\n translation: 'properties.waterfall.subtotalLabel',\n component: 'string',\n expression: 'optional',\n ref: 'qDef.subtotal.label',\n defaultValue() {\n return translator.get('properties.waterfall.measureOperation.subtotal');\n },\n show(data) {\n return (\n data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n data.qDef.subtotal &&\n data.qDef.subtotal.enable\n );\n },\n },\n },\n },\n },\n };\n\n const theme = env.anything.sense.theme;\n const fontResolver = getChartFontResolver(theme, translator, waterfallUtils.chartID, createFontResolver, flags);\n const styleOptions = ChartStyleComponent(fontResolver, theme, waterfallUtils.chartID);\n const presentation = {\n type: 'items',\n translation: 'properties.presentation',\n grouped: true,\n items: {\n stylingPanel: stylingPanelEnabled && getStylingPanelDefinition(bkgOptionsEnabled, styleOptions, flags),\n gridLines: {\n type: 'items',\n snapshot: {\n tid: 'property-gridLines',\n },\n items: {\n showGridLines: {\n ref: 'gridlines.auto',\n type: 'boolean',\n translation: 'properties.gridLine.spacing',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n },\n gridSpacing: {\n ref: 'gridlines.spacing',\n type: 'number',\n component: 'dropdown',\n defaultValue: 2,\n options: [\n {\n value: 0,\n translation: 'properties.gridLine.noLines',\n },\n {\n value: 2,\n translation: 'properties.gridLine.medium',\n },\n {\n value: 3,\n translation: 'properties.gridLine.narrow',\n },\n ],\n show(data) {\n return data.gridlines && !data.gridlines.auto;\n },\n },\n },\n },\n showLabels: {\n ref: 'dataPoint.showLabels',\n type: 'boolean',\n translation: 'properties.dataPoints.labelmode',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n snapshot: {\n tid: 'property-dataPoints',\n },\n },\n },\n };\n\n const autoColor = {\n ref: 'color.auto',\n type: 'boolean',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n };\n const positiveValueColor = {\n ref: 'color.positiveValue.paletteColor',\n translation: 'properties.waterfall.color.positiveValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: 6, color: null },\n show: colorIsNotAuto,\n };\n const negativeValueColor = {\n ref: 'color.negativeValue.paletteColor',\n translation: 'properties.waterfall.color.negativeValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#cc6677' },\n show: colorIsNotAuto,\n };\n const subtotalColor = {\n ref: 'color.subtotal.paletteColor',\n translation: 'properties.waterfall.color.subtotalColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#c3c3c3' },\n show: colorIsNotAuto,\n };\n\n const simpleColors = {\n classification: {\n section: 'color',\n tags: ['simple'],\n exclusive: true,\n },\n type: 'items',\n items: {\n simpleItems: {\n items: {\n autoColor: {\n ...autoColor,\n label: (data) => translator.get(data.color?.auto ? 'Common.Auto' : 'Common.Custom'),\n },\n positiveValueColor,\n negativeValueColor,\n subtotalColor,\n },\n },\n },\n };\n\n const colors = {\n translation: 'properties.colorsAndLegend',\n type: 'items',\n grouped: true,\n items: {\n colors: {\n type: 'items',\n items: {\n autoColor: {\n ...autoColor,\n translation: 'properties.colors',\n },\n positiveValueColor,\n negativeValueColor,\n subtotalColor,\n },\n },\n simpleColors,\n legend: {\n type: 'items',\n items: {\n show: {\n ref: 'legend.show',\n type: 'boolean',\n translation: 'properties.legend.show',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n },\n dock: {\n type: 'string',\n component: 'dropdown',\n ref: 'legend.dock',\n translation: 'properties.legend.position',\n options: [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'right',\n translation: 'properties.dock.right',\n },\n {\n value: 'bottom',\n translation: 'Common.Bottom',\n },\n {\n value: 'left',\n translation: 'properties.dock.left',\n },\n {\n value: 'top',\n translation: 'Common.Top',\n },\n ],\n defaultValue: 'auto',\n show(data) {\n return getValue(data, 'legend.show', true);\n },\n },\n },\n },\n },\n };\n\n const measureAxis = {\n uses: 'axis.picasso.measureAxis',\n label: translator.get('properties.yAxis'),\n items: {\n axis: {\n items: {\n measureAxisTitle: {\n component: 'header',\n type: 'string',\n label: translator.get('properties.yAxis'),\n classification: {\n section: 'axis',\n tags: ['simple'],\n exclusive: true,\n },\n },\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n },\n },\n },\n };\n\n const dimensionAxis = {\n uses: 'axis.picasso.dimensionAxis',\n items: {\n othersGroup: {\n items: {\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n label: {\n options: flags.isEnabled('SENSECLIENT_LAYERED_LABELS')\n ? [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'horizontal',\n translation: 'Common.Horizontal',\n },\n {\n value: 'tilted',\n translation: 'properties.labels.tilted',\n },\n {\n value: 'layered',\n translation: 'properties.labels.layered',\n },\n ]\n : undefined,\n },\n },\n },\n },\n };\n\n const simpleLabels = {\n items: {\n labels: {\n items: {\n header: {\n show(props) {\n return props.qHyperCubeDef.qMeasures?.length;\n },\n },\n pointLabels: {\n component: 'checkbox',\n ref: 'dataPoint.showLabels',\n type: 'boolean',\n defaultValue: true,\n translation: 'Simple.Label.Value',\n show(props) {\n return props.qHyperCubeDef.qMeasures?.length;\n },\n },\n },\n },\n },\n };\n\n const settings = {\n uses: 'settings',\n items: {\n simpleLabels,\n presentation,\n colors,\n measureAxis,\n dimensionAxis,\n },\n };\n\n const addons = {\n type: 'items',\n component: 'expandable-items',\n translation: 'properties.addons',\n items: {\n dataHandling: {\n uses: 'dataHandling',\n items: {\n suppressZero: null,\n calcCond: {\n uses: 'calcCond',\n },\n },\n },\n refLines: {\n uses: 'reflines',\n items: {\n colorBackground: {\n show: false,\n },\n },\n },\n },\n };\n const numberFormatting = {\n translation: 'properties.numberFormatting',\n type: 'items',\n globalChange(data) {\n data.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = data.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, data.qDef.qNumFormat);\n });\n },\n items: {\n numberFormatting: {\n uses: 'measures.items.numberFormatting',\n items: { numberFormattingType: undefined },\n },\n },\n };\n\n return {\n type: 'items',\n component: 'accordion',\n items: {\n data,\n numberFormatting,\n addons,\n settings,\n },\n };\n}\n","import pp from './waterfallchart-properties';\nimport dataDefinition from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default function ext(env) {\n if (!env.anything?.sense) {\n return undefined;\n }\n\n return {\n definition: pp(env),\n support: {\n cssScaling: false,\n snapshot: true,\n export: true,\n exportData: true,\n sharing: true,\n viewData: true,\n },\n importProperties(exportFormat, initialProperties, extension) {\n extension.mapProperties();\n\n const defaultPropertyValues = {\n defaultDimension: extension.getDefaultDimensionProperties(),\n defaultMeasure: extension.getDefaultMeasureProperties(),\n };\n return importProperties({\n dataDefinition: dataDefinition(env),\n defaultPropertyValues,\n exportFormat,\n initialProperties,\n });\n },\n exportProperties(propertyTree, hyperCubePath, viewDataMode) {\n return exportProperties({ propertyTree, viewDataMode });\n },\n };\n}\n","/*\n* qlik-chart-modules v0.67.0\n* Copyright (c) 2024 QlikTech International AB\n* Released under the MIT license.\n*/\n\nfunction e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){l(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(){n=function(){return t};var e,t={},r=Object.prototype,o=r.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},a=\"function\"==typeof Symbol?Symbol:{},l=a.iterator||\"@@iterator\",u=a.asyncIterator||\"@@asyncIterator\",c=a.toStringTag||\"@@toStringTag\";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},\"\")}catch(e){s=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var o=t&&t.prototype instanceof y?t:y,a=Object.create(o.prototype),l=new E(r||[]);return i(a,\"_invoke\",{value:S(e,n,l)}),a}function d(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}t.wrap=f;var p=\"suspendedStart\",h=\"executing\",m=\"completed\",v={};function y(){}function g(){}function b(){}var x={};s(x,l,(function(){return this}));var q=Object.getPrototypeOf,w=q&&q(q(A([])));w&&w!==r&&o.call(w,l)&&(x=w);var M=b.prototype=y.prototype=Object.create(x);function k(e){[\"next\",\"throw\",\"return\"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(r,i,a,l){var u=d(e[r],e,i);if(\"throw\"!==u.type){var c=u.arg,s=c.value;return s&&\"object\"==typeof s&&o.call(s,\"__await\")?t.resolve(s.__await).then((function(e){n(\"next\",e,a,l)}),(function(e){n(\"throw\",e,a,l)})):t.resolve(s).then((function(e){c.value=e,a(c)}),(function(e){return n(\"throw\",e,a,l)}))}l(u.arg)}var r;i(this,\"_invoke\",{value:function(e,o){function i(){return new t((function(t,r){n(e,o,t,r)}))}return r=r?r.then(i,i):i()}})}function S(t,n,r){var o=p;return function(i,a){if(o===h)throw new Error(\"Generator is already running\");if(o===m){if(\"throw\"===i)throw a;return{value:e,done:!0}}for(r.method=i,r.arg=a;;){var l=r.delegate;if(l){var u=D(l,r);if(u){if(u===v)continue;return u}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(o===p)throw o=m,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);o=h;var c=d(t,n,r);if(\"normal\"===c.type){if(o=r.done?m:\"suspendedYield\",c.arg===v)continue;return{value:c.arg,done:r.done}}\"throw\"===c.type&&(o=m,r.method=\"throw\",r.arg=c.arg)}}}function D(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,\"throw\"===r&&t.iterator.return&&(n.method=\"return\",n.arg=e,D(t,n),\"throw\"===n.method)||\"return\"!==r&&(n.method=\"throw\",n.arg=new TypeError(\"The iterator does not provide a '\"+r+\"' method\")),v;var i=d(o,t.iterator,n.arg);if(\"throw\"===i.type)return n.method=\"throw\",n.arg=i.arg,n.delegate=null,v;var a=i.arg;return a?a.done?(n[t.resultName]=a.value,n.next=t.nextLoc,\"return\"!==n.method&&(n.method=\"next\",n.arg=e),n.delegate=null,v):a:(n.method=\"throw\",n.arg=new TypeError(\"iterator result is not an object\"),n.delegate=null,v)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(I,this),this.reset(!0)}function A(t){if(t||\"\"===t){var n=t[l];if(n)return n.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function n(){for(;++r<t.length;)if(o.call(t,r))return n.value=t[r],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}throw new TypeError(typeof t+\" is not iterable\")}return g.prototype=b,i(M,\"constructor\",{value:b,configurable:!0}),i(b,\"constructor\",{value:g,configurable:!0}),g.displayName=s(b,c,\"GeneratorFunction\"),t.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===g||\"GeneratorFunction\"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s(e,c,\"GeneratorFunction\")),e.prototype=Object.create(M),e},t.awrap=function(e){return{__await:e}},k(C.prototype),s(C.prototype,u,(function(){return this})),t.AsyncIterator=C,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var a=new C(f(e,n,r,o),i);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},k(M),s(M,c,\"Generator\"),s(M,l,(function(){return this})),s(M,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=A,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=e,this.tryEntries.forEach(O),!t)for(var n in this)\"t\"===n.charAt(0)&&o.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(r,o){return l.type=\"throw\",l.arg=t,n.next=r,o&&(n.method=\"next\",n.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],l=a.completion;if(\"root\"===a.tryLoc)return r(\"end\");if(a.tryLoc<=this.prev){var u=o.call(a,\"catchLoc\"),c=o.call(a,\"finallyLoc\");if(u&&c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!c)throw new Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var i=r;break}}i&&(\"break\"===e||\"continue\"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method=\"next\",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;O(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,n,r){return this.delegate={iterator:A(t),resultName:n,nextLoc:r},\"next\"===this.method&&(this.arg=e),v}},t}function r(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}function o(e){return o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o(e)}function i(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function l(e){i(a,r,o,l,u,\"next\",e)}function u(e){i(a,r,o,l,u,\"throw\",e)}l(void 0)}))}}function l(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,a,l=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,t)||f(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function s(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||f(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(e,t){if(e){if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var p=[\"American Typewriter, serif\",\"Andalé Mono, monospace\",\"Arial Black, sans-serif\",\"Arial, sans-serif\",\"Bradley Hand, cursive\",\"Brush Script MT, cursive\",\"Comic Sans MS, cursive\",\"Courier, monospace\",\"Didot, serif\",\"Georgia, serif\",\"Impact, sans-serif\",\"Lucida Console, monospace\",\"Luminari, fantasy\",\"Monaco, monospace\",\"QlikView Sans, sans-serif\",\"Source Sans Pro, sans-serif\",\"Tahoma, sans-serif\",\"Times New Roman, serif\",\"Trebuchet MS, sans-serif\",\"Verdana, sans-serif\"],h=[\"Abril Fatface, serif\",\"Bangers, fantasy\",\"Bebas Neue, sans serif\",\"EB Garamond, serif\",\"Fredoka One, fantasy\",\"Graduate, fantasy\",\"Gravitas One, serif\",\"Indie Flower, fantasy\",\"Inter, sans-serif\",\"Lobster, fantasy\",\"Montserrat, sans-serif\",\"Nixie One, sans-serif\",\"Noto Sans, sans-serif\",\"Open Sans, sans-serif\",\"PT Serif, serif\",\"Pacifico, cursive\",\"Permanent Marker, fantasy\",\"QlikView Sans, sans-serif\",\"Raleway, sans-serif\",\"Rammetto One, fantasy\",\"Roboto, sans-serif\",\"Source Sans Pro, sans-serif\",\"Titan One, fantasy\",\"Yanone Kaffeesatz, sans-serif\"];function m(e){return null!=e&&e.isEnabled(\"PS_20852_WYSIWYG_FONT_SUPPORT\")?h:p}var v=function(e){return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),groupHeader:!1,disabled:!1,styles:{fontFamily:e}}};function y(e){var t=e.theme,n=e.translator,r=e.defaultValue,o=e.flags,i=[],a=t.getStyle(\"\",\"\",\"fontFamilies\");return Array.isArray(a)&&a.length?i.push.apply(i,s(new Set([r].concat(s(a.map((function(e){return e.split(\",\").map((function(e){return e.trim()})).map((function(e){return e.replace(/\\s+/g,\" \").trim()})).filter(Boolean).join(\", \")}))))))):i.push(r),[{value:\"ThemeHeader\",label:n.get(\"properties.themeFonts\"),metaText:n.get(\"properties.theme\"),groupHeader:!0}].concat(s(i.map((function(e){return v(e)}))),[{value:\"DefaultHeader\",label:n.get(\"properties.allFonts\"),metaText:n.get(\"properties.default\"),groupHeader:!0}],s(m(o).map((function(e){return v(e)}))))}function g(e){var t=e.theme,n=e.translator,r=e.id,o=e.path,i=e.flags,a=function(){return t.getStyle(r,o,\"fontFamily\")};return{getDefaultValue:function(){return a()},getOptions:function(){return y({theme:t,translator:n,defaultValue:a(),flags:i})}}}var b=[\"10px\",\"11px\",\"12px\",\"13px\",\"14px\",\"15px\",\"16px\",\"17px\",\"18px\",\"19px\",\"20px\",\"21px\",\"22px\",\"23px\",\"24px\"],x=function(e){return{value:e,label:e,groupHeader:!1,disabled:!1}};function q(e){var t=e.theme,n=e.translator,r=e.id,o=e.path,i=function(){return t.getStyle(r,o,\"fontSize\")};return{getDefaultValue:function(){return i()},getOptions:function(){return function(e){var t=e.theme,n=e.translator,r=e.defaultValue,o=[],i=t.getStyle(\"\",\"\",\"fontSizes\");return Array.isArray(i)&&i.length?o.push.apply(o,s(new Set([r].concat(s(i))))):o.push(r),[{value:\"ThemeHeader\",label:n.get(\"properties.themeFontSizes\"),metaText:n.get(\"properties.theme\"),groupHeader:!0}].concat(s(o.map((function(e){return x(e)}))),[{value:\"DefaultHeader\",label:n.get(\"properties.allFontSizes\"),metaText:n.get(\"properties.default\"),groupHeader:!0}],s(b.map((function(e){return x(e)}))))}({theme:t,translator:n,defaultValue:i()})}}}function w(e){var t=e.theme,n=e.translator,r=e.id,o=e.path;return{fontFamily:g({theme:t,translator:n,id:r,path:o,flags:e.flags}),fontSize:q({theme:t,translator:n,id:r,path:o})}}function M(e){var t=e.theme,n=e.translator,r=e.config,o=void 0===r?{}:r,i=e.flags,a=function(e){var t=e.config,n=void 0===t?{}:t,r=n.id,o=n.paths;return{id:void 0===r?\"object\":\"\".concat(\"object\",\".\").concat(r),paths:Array.isArray(o)?o:[]}}({config:o}),l=a.id,u=a.paths,c={};u.forEach((function(e){for(var r=e.split(\".\"),o=c,a=0;a<r.length;a++){var u=r[a];a===r.length-1?o[u]=w({theme:t,translator:n,id:l,path:e,flags:i}):void 0===o[u]&&(o[u]={}),o=o[u]}}));var s=function(e){for(var t=e.split(\".\"),n=c,r=0;r<t.length;r++){var o=t[r];if(void 0===n[o])throw new Error(\"font-resolver: Path '\".concat(e,\"' could not be resolved.\"));n=n[o]}return n};return c.getDefaultValue=function(e){return s(e).getDefaultValue()},c.getOptions=function(e){return s(e).getOptions()},c}function k(e){return C.apply(this,arguments)}function C(){return(C=a(n().mark((function e(t){var r,o,i,a;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.app,o=t.items,e.next=3,Promise.all(o.filter((function(e){var t;return!(null===(t=e.qCalcCondition)||void 0===t||null===(t=t.qCond)||void 0===t||!t.qv)})).map((function(e){var t=e.qCalcCondition.qCond.qv;return r.evaluate(t).then((function(t){return\"0\"===t?e.qDef.cId:void 0})).catch((function(){return e.qDef.cId}))})));case 3:return i=e.sent,a=i.filter(Boolean),e.abrupt(\"return\",o.filter((function(e){return!a.includes(e.qDef.cId)})));case 6:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function S(e){var t=e.app,n=e.translator,r=e.dimension,o=r.qLibraryId;if(o)return t.getDimension(o).then((function(e){return e.getLayout()})).catch((function(){})).then((function(e){if(!e)return{id:r.qDef.cId,text:n.get(\"Object.ErrorMessage.MissingDimension\")};var t=e.qDim.qLabelExpression,o=\"H\"===e.qDim.qGrouping;return{id:r.qDef.cId,text:t&&!o?t:e.qDim.title}}));var i=r.qDef,a=i.cId,l=i.qLabelExpression,u=i.qFieldLabels,c=i.qFieldDefs;return l?t.evaluate(l).then((function(e){return{id:a,text:e}})):{id:a,text:u[0]||c[0]}}function D(e){return I.apply(this,arguments)}function I(){return(I=a(n().mark((function e(t){var r,o,i,a,l,u,c,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.app,i=t.translator,a=t.properties,l=(null==a||null===(r=a.qHyperCubeDef)||void 0===r||null===(r=r.qLayoutExclude)||void 0===r?void 0:r.qHyperCubeDef)||{},u=l.qDimensions,(c=void 0===u?[]:u).length){e.next=4;break}return e.abrupt(\"return\",Promise.resolve([]));case 4:return e.next=6,k({app:o,items:c});case 6:return s=e.sent,e.abrupt(\"return\",Promise.all(s.map((function(e){return S({app:o,translator:i,dimension:e})}))));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function O(e){var t=e.app,n=e.translator,r=e.measure,o=r.qLibraryId;if(o)return t.getMeasure(o).then((function(e){return e.getLayout()})).catch((function(){})).then((function(e){if(!e)return{text:n.get(\"Object.ErrorMessage.MissingMeasure\"),id:r.qDef.cId};var t=e.qMeasure.qLabelExpression;return{id:r.qDef.cId,text:t||e.qMeasure.qLabel||e.qMeasure.qDef}}));var i=r.qDef,a=i.cId,l=i.qLabelExpression,u=i.qLabel,c=i.qDef;return l?t.evaluate(l).then((function(e){return{id:a,text:e}})):{id:a,text:u||c}}function E(e){return A.apply(this,arguments)}function A(){return(A=a(n().mark((function e(t){var r,o,i,a,l,u,c,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.app,i=t.translator,a=t.properties,l=(null==a||null===(r=a.qHyperCubeDef)||void 0===r||null===(r=r.qLayoutExclude)||void 0===r?void 0:r.qHyperCubeDef)||{},u=l.qMeasures,(c=void 0===u?[]:u).length){e.next=4;break}return e.abrupt(\"return\",Promise.resolve([]));case 4:return e.next=6,k({app:o,items:c});case 6:return s=e.sent,e.abrupt(\"return\",Promise.all(s.map((function(e){return O({app:o,translator:i,measure:e})}))));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function N(e){var t,r=e.app,o=e.translator,i={initialized:!1,dimensions:[],measures:[]};return{initialize:(t=a(n().mark((function e(t){var a,l,u,s,f,d,p;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.properties,!i.initialized){e.next=3;break}return e.abrupt(\"return\");case 3:return u=[D(l={app:r,translator:o,properties:a}),E(l)],e.next=7,Promise.all(u);case 7:s=e.sent,f=c(s,2),d=f[0],p=f[1],i.dimensions=d,i.measures=p,i.initialized=!0;case 12:case\"end\":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)}),getAlternatives:function(){return{dimensions:s(i.dimensions),measures:s(i.measures)}}}}function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var T=Object.prototype.hasOwnProperty,P=Object.prototype.toString,j=Object.defineProperty,F=Object.getOwnPropertyDescriptor,H=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===P.call(e)},z=function(e){if(!e||\"[object Object]\"!==P.call(e))return!1;var t,n=T.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&T.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||T.call(e,t)},R=function(e,t){j&&\"__proto__\"===t.name?j(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},V=function(e,t){if(\"__proto__\"===t){if(!T.call(e,t))return;if(F)return F(e,t).value}return e[t]},_=function e(){var t,n,r,o,i,a,l=arguments[0],u=1,c=arguments.length,s=!1;for(\"boolean\"==typeof l&&(s=l,l=arguments[1]||{},u=2),(null==l||\"object\"!=typeof l&&\"function\"!=typeof l)&&(l={});u<c;++u)if(null!=(t=arguments[u]))for(n in t)r=V(l,n),l!==(o=V(t,n))&&(s&&o&&(z(o)||(i=H(o)))?(i?(i=!1,a=r&&H(r)?r:[]):a=r&&z(r)?r:{},R(l,{name:n,newValue:e(s,a,o)})):void 0!==o&&R(l,{name:n,newValue:o}));return l},B=L(_);function Y(e,t){return{range:function(e){var n=e.resources,r=e.data,o=n.theme.palette(\"categorical\",0===t?r.items.length:t);return r.items.map((function(e){return o[e.value%o.length]}))},valueAccessor:e.value}}function $(e,t){return{range:function(e){var n=e.resources,r=e.data,o=n.theme.palette(\"categorical\",0===t?r.items.length:t);return r.items.map((function(e){return o[e.row.value%o.length]}))},valueAccessor:e.value}}function U(e,t,n,r,o){var i,a,l=o.byRow,u=o.byElemNo;if(r&&(t.input.persistent||e.hc.qDimensionInfo.length>1||void 0===n.activeDimensionIndex&&e.hc.qSize.qcy>(i=e.hc,(null===(a=i.qDataPages[0]||i.qStackedDataPages[0])||void 0===a?void 0:a.qArea.qHeight)||0)))return u(r,r.raw().qCardinal);if(r){var c=t.pic.extract({field:r.key(),trackBy:r.value}).length;return l(r,c)}return{}}function K(e,t){var n=e.hc.qDimensionInfo,r=t.input.byDimDef||{activeDimensionIndex:n.length-1};if(r.activeDimensionIndex>=0){var o=n[r.activeDimensionIndex];r=o.coloring&&o.coloring.colorMapRef?{type:\"libraryItem\",key:o.coloring.colorMapRef,activeDimensionIndex:r.activeDimensionIndex}:{activeDimensionIndex:r.activeDimensionIndex}}return r}function G(e,t){var n;return t.activeDimensionIndex>=0?n=e.pic.fields().filter((function(e){return\"dimension\"===e.type()}))[t.activeDimensionIndex]:\"libraryItem\"===t.type?!1===(n=t.key?e.pic.field((function(e){return e.raw().colorMapRef===t.key})):void 0)&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n}function W(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function X(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Z(){}var J=1/.7,Q=\"\\\\s*([+-]?\\\\d+)\\\\s*\",ee=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",te=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",ne=/^#([0-9a-f]{3,8})$/,re=new RegExp(`^rgb\\\\(${Q},${Q},${Q}\\\\)$`),oe=new RegExp(`^rgb\\\\(${te},${te},${te}\\\\)$`),ie=new RegExp(`^rgba\\\\(${Q},${Q},${Q},${ee}\\\\)$`),ae=new RegExp(`^rgba\\\\(${te},${te},${te},${ee}\\\\)$`),le=new RegExp(`^hsl\\\\(${ee},${te},${te}\\\\)$`),ue=new RegExp(`^hsla\\\\(${ee},${te},${te},${ee}\\\\)$`),ce={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function se(){return this.rgb().formatHex()}function fe(){return this.rgb().formatRgb()}function de(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=ne.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?pe(t):3===n?new ye(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?he(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?he(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=re.exec(e))?new ye(t[1],t[2],t[3],1):(t=oe.exec(e))?new ye(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ie.exec(e))?he(t[1],t[2],t[3],t[4]):(t=ae.exec(e))?he(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=le.exec(e))?Me(t[1],t[2]/100,t[3]/100,1):(t=ue.exec(e))?Me(t[1],t[2]/100,t[3]/100,t[4]):ce.hasOwnProperty(e)?pe(ce[e]):\"transparent\"===e?new ye(NaN,NaN,NaN,0):null}function pe(e){return new ye(e>>16&255,e>>8&255,255&e,1)}function he(e,t,n,r){return r<=0&&(e=t=n=NaN),new ye(e,t,n,r)}function me(e){return e instanceof Z||(e=de(e)),e?new ye((e=e.rgb()).r,e.g,e.b,e.opacity):new ye}function ve(e,t,n,r){return 1===arguments.length?me(e):new ye(e,t,n,null==r?1:r)}function ye(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function ge(){return`#${we(this.r)}${we(this.g)}${we(this.b)}`}function be(){const e=xe(this.opacity);return`${1===e?\"rgb(\":\"rgba(\"}${qe(this.r)}, ${qe(this.g)}, ${qe(this.b)}${1===e?\")\":`, ${e})`}`}function xe(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function qe(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function we(e){return((e=qe(e))<16?\"0\":\"\")+e.toString(16)}function Me(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ce(e,t,n,r)}function ke(e){if(e instanceof Ce)return new Ce(e.h,e.s,e.l,e.opacity);if(e instanceof Z||(e=de(e)),!e)return new Ce;if(e instanceof Ce)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,l=i-o,u=(i+o)/2;return l?(a=t===i?(n-r)/l+6*(n<r):n===i?(r-t)/l+2:(t-n)/l+4,l/=u<.5?i+o:2-i-o,a*=60):l=u>0&&u<1?0:a,new Ce(a,l,u,e.opacity)}function Ce(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function Se(e){return(e=(e||0)%360)<0?e+360:e}function De(e){return Math.max(0,Math.min(1,e||0))}function Ie(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}W(Z,de,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:se,formatHex:se,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return ke(this).formatHsl()},formatRgb:fe,toString:fe}),W(ye,ve,X(Z,{brighter(e){return e=null==e?J:Math.pow(J,e),new ye(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new ye(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ye(qe(this.r),qe(this.g),qe(this.b),xe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ge,formatHex:ge,formatHex8:function(){return`#${we(this.r)}${we(this.g)}${we(this.b)}${we(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:be,toString:be})),W(Ce,(function(e,t,n,r){return 1===arguments.length?ke(e):new Ce(e,t,n,null==r?1:r)}),X(Z,{brighter(e){return e=null==e?J:Math.pow(J,e),new Ce(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new Ce(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new ye(Ie(e>=240?e-240:e+120,o,r),Ie(e,o,r),Ie(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new Ce(Se(this.h),De(this.s),De(this.l),xe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=xe(this.opacity);return`${1===e?\"hsl(\":\"hsla(\"}${Se(this.h)}, ${100*De(this.s)}%, ${100*De(this.l)}%${1===e?\")\":`, ${e})`}`}}));const Oe=Math.PI/180,Ee=180/Math.PI,Ae=4/29,Ne=6/29,Le=3*Ne*Ne;function Te(e){if(e instanceof Pe)return new Pe(e.l,e.a,e.b,e.opacity);if(e instanceof _e)return Be(e);e instanceof ye||(e=me(e));var t,n,r=ze(e.r),o=ze(e.g),i=ze(e.b),a=je((.2225045*r+.7168786*o+.0606169*i)/1);return r===o&&o===i?t=n=a:(t=je((.4360747*r+.3850649*o+.1430804*i)/.96422),n=je((.0139322*r+.0971045*o+.7141733*i)/.82521)),new Pe(116*a-16,500*(t-a),200*(a-n),e.opacity)}function Pe(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function je(e){return e>.008856451679035631?Math.pow(e,1/3):e/Le+Ae}function Fe(e){return e>Ne?e*e*e:Le*(e-Ae)}function He(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function ze(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Re(e){if(e instanceof _e)return new _e(e.h,e.c,e.l,e.opacity);if(e instanceof Pe||(e=Te(e)),0===e.a&&0===e.b)return new _e(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Ee;return new _e(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Ve(e,t,n,r){return 1===arguments.length?Re(e):new _e(e,t,n,null==r?1:r)}function _e(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function Be(e){if(isNaN(e.h))return new Pe(e.l,0,0,e.opacity);var t=e.h*Oe;return new Pe(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}W(Pe,(function(e,t,n,r){return 1===arguments.length?Te(e):new Pe(e,t,n,null==r?1:r)}),X(Z,{brighter(e){return new Pe(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new Pe(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new ye(He(3.1338561*(t=.96422*Fe(t))-1.6168667*(e=1*Fe(e))-.4906146*(n=.82521*Fe(n))),He(-.9787684*t+1.9161415*e+.033454*n),He(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),W(_e,Ve,X(Z,{brighter(e){return new _e(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new _e(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return Be(this).rgb()}}));var Ye=e=>()=>e;function $e(e){return 1==(e=+e)?Ue:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):Ye(isNaN(t)?n:t)}}function Ue(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):Ye(isNaN(e)?t:e)}var Ke=function e(t){var n=$e(t);function r(e,t){var r=n((e=ve(e)).r,(t=ve(t)).r),o=n(e.g,t.g),i=n(e.b,t.b),a=Ue(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+\"\"}}return r.gamma=e,r}(1),Ge=/^class(-pyramid)?/,We=function(e,t,n,r){var o=void 0!==n.min?n.min:r.min(),i=void 0!==n.max?n.max:r.max(),a=o,l=i,u=t.limits,c={},f=\"percent\"===t.limitType?u.map((function(e){return o+(i-o)*e})):u,d=t.colors.map((function(t){return e.resolveUIColor(t)}));if(o=Math.min.apply(Math,[o].concat(s(f))),i=Math.max.apply(Math,[i].concat(s(f))),c.min=o,c.max=i,t.breakTypes&&-1===t.breakTypes.indexOf(!0))c.type=\"categorical\",Object.assign(c,function(e){var t=e.min,n=e.max,r=e.limits,o=e.range,i=[],a=[];if(r.length)if(r[r.length-1]<t)a.push(t,n),i.push(o[o.length-1],o[o.length-1],o[o.length-1]);else if(r[0]>n)a.push(t,n),i.push(o[0],o[0],o[0]);else{if(r[0]>t)a.push(t),i.push(o[0]);else{a.push(t);for(var l=0;l<r.length;l++)if(t<r[l]){i.push(o[l]);break}}for(var u=0;u<r.length;u++)t<r[u]&&r[u]<n&&(a.push(r[u]),i.push(o[u]));if(r[r.length-1]<n)a.push(n),i.push(o[r.length]),i.push(o[r.length]);else{a.push(n);for(var c=0;c<r.length;c++)if(r[c]>n){i.push(o[c]),i.push(o[c]);break}}}else i.push(o[0]);return{min:t,max:n,range:i,domain:a}}({min:\"percent\"===t.limitType?o:a,max:\"percent\"===t.limitType?i:l,range:d,limits:\"percent\"===t.limitType?f:u}));else if(t.breakTypes){var p=t.breakTypes;c.type=\"continuous\",c.domain=[o],c.range=[d[0]];for(var h=0;h<f.length;h+=1)if(p[h]){var m=d[h],v=d[h+1],y=Ke(m,v)(.5);c.range.push(y),c.domain.push(f[h]),h<f.length-1&&p[h+1]&&(c.range.push(d[h+1]),c.domain.push((f[h]+f[h+1])/2))}else c.range.push(d[h]),c.range.push(d[h+1]),c.domain.push(f[h]),c.domain.push(f[h]+Math.min(1e-6,(i-o)/1e6));c.range.push(d[d.length-1]),c.domain.push(i)}else c.domain=f,c.range=d;return c};function Xe(e,t,n,r,o){var i,a,l,u=0,c=[],s=(e-t)/(r+1);if(0===s)return 1;for(i=0;i<n.length;i+=1)a=.99*(n[i]-t),l=n[i]>e?Math.floor(e/s):n[i]<t?0:Math.floor(a/s),Number.isNaN(l)||(c[l]?c[l]+=1:c[l]=1);for(i=0;i<c.length;i+=1)c[i]&&(u+=1);return u<=r||u>=o?Math.max(u,r):Xe(e,t,n,r+1,o)}var Ze=function(e,t,n,r){var o,i,a=t.theme,l=t.hc,u=r.f,c={mode:\"field\",fieldType:\"measure\",field:u?u.key():void 0,reverse:n.input.reverseScheme||!1,type:\"continuous\",range:function(e){return e.resources.theme.palette(\"quant\")}},f=[],d=!0;if(u){if(Number.isNaN(+u.min())||Number.isNaN(+u.max()))return{invalid:!0};(d=!(\"S\"===(o=n.pic.raw()).qMode&&(o.qDataPages[0]&&o.qSize.qcy>o.qDataPages[0].qArea.qHeight||!o.qDataPages.length&&o.qSize.qcy>0)||\"K\"===o.qMode&&o.qStackedDataPages[0]&&o.qSize.qcy>o.qStackedDataPages[0].qArea.qHeight||\"T\"===o.qMode&&o.qSize.qcy>o.qTreeDataPages[0].qGroupSize))&&(f=n.pic.extract({field:0,props:{num:{field:u.key()},exclude:{fields:l.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return Math.min.apply(Math,s(e))<0}}}}).filter((function(e){return e.value>=0&&!e.exclude.value})).map((function(e){return e.num.value})).filter((function(e){return\"number\"==typeof e})))}if(!1===n.input.autoMinMax){if(c.min=n.input.measureMin,c.max=n.input.measureMax,c.max<c.min)return{invalid:!0}}else if(u&&!d)c.min=u.min(),c.max=u.max();else if(u){if(!f.length)return{invalid:!0};c.min=Math.min.apply(Math,s(f)),c.max=Math.max.apply(Math,s(f))}if(n.input.measureScheme&&(c.palettes={quant:n.input.measureScheme}),a){var p=a.getDataColorScales().filter((function(e){return e.key===n.input.measureScheme}))[0];c.type=p&&Ge.test(p.type)?\"categorical\":\"continuous\",\"categorical\"===c.type&&(i=p.colors.some((function(e){return Array.isArray(e)}))?Math.max.apply(Math,s(p.colors.map((function(e){return e?e.length:0})))):p.colors.length)}if(\"categorical\"===c.type){for(var h=d?Xe(c.max,c.min,f,1,i):i,m=(c.max-c.min)/h,v=[],y=0;y<h+1;y+=1)v.push(c.min+m*y);c.domain=v,c.range=function(e){for(var t=e.resources.theme.palette(\"quant\",h),n=Math.max(1,Math.floor(t.length/h)),r=[],o=0;o<h;o+=1)r.push(t[o*n]);return[r[0]].concat(r,[r[r.length-1]])}}return c};function Je(e,t){var n;return t.activeMeasureIndex>=0?n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[t.activeMeasureIndex]:\"libraryItem\"===t.type?n=e.pic.field((function(e){return e.raw().colorMapRef===t.key&&void 0!==t.key})):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n||(n=e.pic.field((function(e){return void 0!==e.raw().matchMeasure})))&&(n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[n.raw().matchMeasure]),n}function Qe(e){var n,r=e.cm,o=e.defaults,i=e.index,a=e.input,l=e.pic;if(!a||!a.on)return null;var u=null!==(n=a.mode)&&void 0!==n?n:\"primary\";return\"primary\"===u?function(e,n,r){var o=r.primary;return void 0!==n.paletteColor&&n.paletteColor&&(o=e.resolveUIColor(n.paletteColor)),t(t({},r),{},{mode:\"constant\",type:\"constant\",primary:o})}(r,a,o):\"byExpression\"===u?function(e,n,r){var o=\"qMeasureInfo/\".concat(e,\"/\"),i=n.field((function(e){return e.id().startsWith(o)&&\"colorByMeasureExpression\"===e.raw().id})),a=i;return t(t({},r),{},a?{mode:\"field\",fieldType:\"expression\",field:i?i.key():void 0,type:\"color\"}:{mode:\"constant\",type:\"constant\",primary:r.nil})}(i,l,o):null}function et(e){e.measureOverrides.every((function(e){return!e}))&&(e.measureOverrides=null)}function tt(e,t){for(var n=(null==t?void 0:t.domain)||[],r=(null==t?void 0:t.range)||[],o=[],i=0;i<e.length;++i){var a=e[i];if(\"constant\"===(null==a?void 0:a.mode)){var l=n.indexOf(i);-1===l?(n.push(i),r.push(a.primary)):r[l]=a.primary,e[i]=null}else if(a){o.push(i);var u=n.indexOf(i);-1!==u&&(n.splice(u,1),r.splice(u,1))}}return{domain:n,range:r,exclude:o}}function nt(e,t,n,r){if(t.input&&!t.input.auto){if(\"byMeasure\"===t.input.mode)return function(e,t,n){var r=t.theme,o=t.hc,i=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).getCField,a=void 0===i?Je:i,l=n.input.byMeasureDef||{activeMeasureIndex:0},u=a(n,l),c=Ze(0,{theme:r,hc:o},n,{f:u});if(c.invalid)return c;\"expression\"===l.type&&(l.activeMeasureIndex<0||void 0===l.activeMeasureIndex)&&(c.label=l.label,u&&\"color.altLabel\"===u.raw().labelExpRef&&(c.label=n.input.altLabel)),!c.label&&u&&(c.label=u.title());var s=l.activeMeasureIndex>=0?u:null;if(!s&&u&&void 0!==u.raw().matchMeasure&&u.raw().matchMeasure>-1&&(s=n.pic.fields().filter((function(e){return\"measure\"===e.type()}))[u.raw().matchMeasure]),n.input.useMeasureGradient&&\"libraryItem\"===l.type)if(s){var f=s.raw().coloring;f&&f.gradient&&B(c,We(e,f.gradient,c,s))}else c.auxiliary=l;return c}(e,n,t);if(\"byDimension\"===t.input.mode)return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=r.getCDef,i=void 0===o?K:o,a=r.getCByField,l=void 0===a?G:a,u=r.getPersistence,c=void 0===u?U:u,s=i(t,n),f=l(n,s),d=f?f.raw():{},p=n&&n.pic?n.pic.raw():{};if(d.qError||d.qSize&&0===d.qSize.qcy&&!p.qHasOtherValues)return{invalid:!0};var h={mode:\"field\",fieldType:\"dimension\",type:\"categorical\",field:f?f.key():void 0,isFieldLocked:d.qLocked};return(\"expression\"===s.type||s.activeDimensionIndex<0)&&(h.label=s.label,\"color.altLabel\"===d.labelExpRef&&(h.label=n.input.altLabel)),!h.label&&f&&(h.label=f.title()),n.input.dimensionScheme&&(h.palettes={categorical:n.input.dimensionScheme}),n.input.useDimColVal&&\"libraryItem\"===s.type&&(h.auxiliary=s),B(h,c(t,n,s,f,{byRow:$,byElemNo:Y})),h}(e,n,t);if(\"byExpression\"===t.input.mode)return function(e,t,n,r){var o=t.hc,i=t.theme,a=t.translator,l=n.pic.field((function(e){return\"colorByExpression\"===e.raw().id}));if(!l||!l.raw().qFallbackTitle&&!n.input.colorExpression||!(Number.isFinite(l.raw().qMin)&&Number.isFinite(l.raw().qMax)||n.input.expressionIsColor))return{mode:\"constant\",type:\"constant\",primary:r.nil};if(n.input.expressionIsColor)return{mode:\"field\",fieldType:\"expression\",field:l?l.key():void 0,type:\"color\"};var u=Ze(0,{hc:o,theme:i},n,{f:l});return u.invalid||(u.label=n.input.expressionLabel||a.get(\"Object.ChartTooltip.ColorExpression\")),u}(0,n,t,r);if(\"byMultiple\"===t.input.mode||\"primary\"===t.input.mode)return function(e,t,n,r){var o=t.hc,i=t.theme,a=t.translator,l=n.input.useBaseColors;if((\"byMultiple\"===n.input.mode||\"primary\"===n.input.mode&&\"measure\"===n.input.useBaseColors)&&o.qMeasureInfo.length>1&&(l=\"measure\"),\"measure\"===l){var u=[],c=[];\"measure\"===n.input.useBaseColors&&o.qMeasureInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){u.push(n);var o=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===o?c.push(r.primary):c.push(o)}}));var s=n.input.dimensionScheme?{categorical:n.input.dimensionScheme}:void 0,f=i?i.getDataColorPalettes()[0]:void 0;return\"measure\"===n.input.useBaseColors&&f&&(s={categorical:f.key}),{mode:\"measure\",type:\"categorical\",palettes:s,label:a?a.get(\"Common.Measures\"):void 0,explicit:u.length?{domain:u,range:c}:void 0}}if(\"dimension\"===l){var d=[],p=[];return o.qDimensionInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){d.push(n);var o=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===o?p.push(r.primary):p.push(o)}})),{mode:\"dimension\",type:\"categorical\",field:d.length?d[0]:void 0,explicit:d.length?{domain:d,range:p}:void 0}}var h=r.primary;if(void 0!==n.input.paletteColor)n.input.paletteColor&&(h=e.resolveUIColor(n.input.paletteColor));else{var m=n.input.singleColor;\"number\"!=typeof m||Number.isNaN(m)||(h=[\"#b0afae\",\"#7b7a78\",\"#545352\",\"#4477aa\",\"#7db8da\",\"#b6d7ea\",\"#46c646\",\"#f93f17\",\"#ffcf02\",\"#276e27\",\"#ffffff\",\"#000000\"][m])}return{mode:\"constant\",type:\"constant\",primary:h}}(e,n,t,r)}return{}}function rt(e,t,n,r){var o,i=nt(e,t,n,r);return null!==(o=t.input)&&void 0!==o&&o.measureOverrides?(i.measureOverrides=t.input.measureOverrides.map((function(n,o){return Qe({cm:e,input:n,defaults:r,index:o,pic:t.pic})})),function(e,t){var n,r,o,i=t.translator;if(et(e),1===(null===(n=e.measureOverrides)||void 0===n?void 0:n.length))return e.measureOverrides[0];if(\"measure\"===e.mode&&e.measureOverrides&&(e.explicit=tt(e.measureOverrides,e.explicit),et(e)),null!==(r=e.measureOverrides)&&void 0!==r&&r.every((function(e){return\"constant\"===(null==e?void 0:e.mode)}))){var a={mode:\"measure\",type:\"categorical\",label:null==i?void 0:i.get(\"Common.Measures\")};return a.explicit=tt(e.measureOverrides),a}return null!==(o=e.measureOverrides)&&void 0!==o&&o.every((function(e){return e}))?{invalid:!0,measureOverrides:e.measureOverrides}:e}(i,n)):i}function ot(e){var n=t({hc:null,colorProps:null,layout:null,theme:null},e),r={},o={auto:function(){return{mode:\"primary\"}},getDimensionColorMap:function(){return Promise.reject()},getMeasure:function(){return Promise.reject()},getAttributeDimension:function(){return Promise.reject()}},i={auto:function(e){return e?(o.auto=e,i):o.auto},getDimensionColorMap:function(e){return e?(o.getDimensionColorMap=e,i):o.getDimensionColorMap},getAttributeDimension:function(e){return e?(o.getAttributeDimension=e,i):o.getAttributeDimension},getMeasure:function(e){return e?(o.getMeasure=e,i):o.getMeasure},set:function(e){var t;if(!e.colorProps)throw new Error('Missing \"colorProps\"');if(B(n,e),(r={pic:n.picasso.data(\"q\")({data:n.hc,config:{localeInfo:n.localeInfo}}),input:n.colorProps}).input.auto){var i=o.auto(e.layout);r.input=B(!0,{},r.input,i,{auto:!1});var a=n.theme?n.theme.getDataColorPalettes():[];a[0]&&(r.input.dimensionScheme=a[0].key);var l=0;r.input.byDimDef&&+r.input.byDimDef.activeDimensionIndex>=0&&(l=+r.input.byDimDef.activeDimensionIndex),n.hc&&n.hc.qDimensionInfo[l]&&n.hc.qDimensionInfo[l].coloring&&n.hc.qDimensionInfo[l].coloring.colorMapRef&&r.input.byDimDef&&(r.input.byDimDef.type=\"libraryItem\",r.input.byDimDef.key=n.hc.qDimensionInfo[l].coloring.colorMapRef)}null!==(t=r.input.measureOverrides)&&void 0!==t&&t.every((function(e){return!e||!e.on}))&&(r.input=B(!1,{},r.input,{measureOverrides:null}))},palettes:function(){if(!r.palettes){var e=n.theme,t=[];(e&&e.getDataColorPickerPalettes()||[]).forEach((function(e){t.push({key:\"ui\",colors:e.colors})})),r.palettes=t}return r.palettes},getAuxiliaryData:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/qHyperCubeDef\";if(!e.auxiliary&&!/qAttrDimInfo/.test(e.field))return Promise.resolve();var r=e.auxiliary||{},i=r.key;if(\"measure\"===e.fieldType)return o.getMeasure(i,n).catch((function(){}));if(\"dimension\"===e.fieldType){var a=\"\".concat(t,\"/\").concat(e.field).replace(\"qDimensionInfo\",\"qDimensions\").replace(\"qAttrDimInfo\",\"qAttributeDimensions\");return Promise.all([/qAttrDimInfo/.test(e.field)?o.getAttributeDimension(a,n).catch((function(){})):Promise.resolve(),i?o.getDimensionColorMap(i,n).catch((function(){})):Promise.resolve()])}return Promise.resolve()},getAuxiliarySettings:function(e,o){var i=this;return e.auxiliary||/qAttrDimInfo/.test(e.field)?(this.palettes(),this.getAuxiliaryData(e,o).then((function(o){if(!o)return{};if(\"measure\"===e.fieldType){if(o.coloring&&o.coloring.gradient){var a=r.pic.field(e.field);return We(i,o.coloring.gradient,e,a)}return{}}if(\"dimension\"===e.fieldType){var l={nil:e.nil,others:e.others},u=o[0],c=o[1]?o[1].colorMap:null;if(u){var s=n.picasso.data(\"q\")({data:{qDimensionInfo:[r.pic.field(e.field).raw(),r.pic.field(e.field).raw()],qMeasureInfo:[],qDataPages:u,qInterColumnSortOrder:[0,1],qMode:\"S\"}});l.legendDataset=s}return c?function(e,n,r,o){var i=o.external,a=o.field,l=t({},e);B(l,Y(a,a.raw().qCardinal));var u=i.theme?i.theme.getDataColorPalettes()[0]:null;return n.nul&&(l.nil=r.resolveUIColor(n.nul)),n.oth&&(l.others=r.resolveUIColor(n.oth)),n.usePal?(l.palettes={categorical:n.pal},u&&!n.pal&&(l.palettes.categorical=u.key,B(l,Y(a)))):!1===n.autoFill&&n.single?l.range=[r.resolveUIColor(n.single)]:n.autoFill&&(u&&(l.palettes={categorical:u.key}),B(l,Y(a))),n.colors&&n.colors.length&&(l.explicit=function(e,t,n){for(var r={},o=0;o<e.length;o+=1)r[e[o].value]=e[o].baseColor;var i=[];return{domain:function(e){var o=e.data,a=[];i=[];for(var l=0;l<o.items.length;l++){var u=o.items[l],c=(u.text||u).label;r[c]&&-1===a.indexOf(u.value)&&(a.push(u.value),i.push(t.resolveUIColor(r[c])))}return a.push(-3,-2),i.push(n.others),i.push(n.nil),a},range:function(){return i}}}(n.colors,r,l)),l}(l,c,i,{external:n,field:r.pic.field(e.field)}):l}return{}}))):Promise.resolve()},resolveUIColor:function(e){if(e.index<0||void 0===e.index)return e.color;if(void 0===r.uiPalette&&(r.uiPalette=this.palettes().filter((function(e){return\"ui\"===e.key}))[0]||!1),!r.uiPalette)return e.color;var t=\"none\"===r.uiPalette.colors[0]?e.index:e.index-1;return void 0===r.uiPalette.colors[t]?e.color:r.uiPalette.colors[t]},settings:function(){if(this.palettes(),!r.settings){var e={primary:\"steelblue\",others:\"#aaa\",nil:\"#ddd\"},o=n.theme;o&&(e=t(t({},e),o.getDataColorSpecials())),r.settings=B(e,rt(this,r,n,e))}return r.settings}};return i}var it=function(e,t){var n=e.fieldType,r={};if(t)if(\"measure\"===n){var o=t.coloring;o&&(r.measureGradient=o.gradient)}else if(\"dimension\"===n){var i=t[0],a=t[1];i&&(r.legendDataPage=i),a&&(r.dimValsData=a.colorMap)}return r},at=function(e){throw e.isHandled=!0,e},lt=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.dimValsData?Promise.resolve({colorMap:n.snapshotData.content.chartData.dimValsData}):Promise.reject():r&&r.getObject?r.getObject(\"ColorMapModel_\".concat(e)).then((function(e){return e.getLayout()})):Promise.reject()},ut=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.measureGradient?Promise.resolve({coloring:{gradient:n.snapshotData.content.chartData.measureGradient}}):Promise.reject():r&&r.getMeasure?r.getMeasure(e).then((function(e){return e.getMeasure()})):Promise.reject()},ct=function(e,t){var n=t.layout,r=t.model,o=t.app;if(n&&n.snapshotData)return n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.legendDataPage?Promise.resolve(n.snapshotData.content.chartData.legendDataPage):Promise.reject();if(r&&r.session&&o){return r.getHyperCubeData(e,[{qHeight:100,qLeft:0,qTop:0,qWidth:2}]).catch(at)}return Promise.reject()};function st(e){var t=e.hc,n=e.source,r=e.coloring,o={data:{extract:[{source:\"dummy\",field:0,filter:function(){return o.expando=t.qDataPages[0]?t.qDataPages[0].qArea.qTop:0,!1}},{source:n,field:r.field,trackBy:r.valueAccessor,reduce:\"first\",props:{row:{reduce:function(){return o.expando++}},text:{value:function(e){return e.qText},reduce:\"first\"}}}]},expando:0};return o}function ft(e){return function(t){return\"object\"===o(t.datum[e])?t.datum[e].value:void 0}}function dt(e){return\"object\"===o(e.datum.isNull)?e.datum.isNull.value:-2===e.datum.value}function pt(e){return-3===e.datum.value}var ht={TITLE:{COLOR:void 0,FONT_SIZE:\"16px\",FONT_FAMILY:\"'Source Sans Pro', 'Arial', 'sans-serif'\"},LABEL:{COLOR:void 0,FONT_SIZE:void 0,FONT_FAMILY:\"'Source Sans Pro', 'Arial', 'sans-serif'\"}};function mt(e){var t=e.theme,n=e.key,r=e.styleOverrides,o={title:{color:ht.TITLE.COLOR,fontSize:ht.TITLE.FONT_SIZE,fontFamily:ht.TITLE.FONT_FAMILY},label:{color:ht.LABEL.COLOR,fontSize:ht.LABEL.FONT_SIZE,fontFamily:ht.LABEL.FONT_FAMILY}};if(!t&&!r)return o;var i=r||{},a=i.title,l=i.label,u=function(e){var t=e.theme,n=e.key;return function(e,r,o,i){return void 0!==e?e:t?t.getStyle(n,r,o):i}}({theme:t,key:n});return o.title.color=u(null==a?void 0:a.color,\"legend.title\",\"color\",ht.TITLE.COLOR),o.title.fontSize=u(null==a?void 0:a.fontSize,\"legend.title\",\"fontSize\",ht.TITLE.FONT_SIZE),o.title.fontFamily=u(null==a?void 0:a.fontFamily,\"legend.title\",\"fontFamily\",ht.TITLE.FONT_FAMILY),o.label.color=u(null==l?void 0:l.color,\"legend.label\",\"color\",ht.LABEL.COLOR),o.label.fontSize=u(null==l?void 0:l.fontSize,\"legend.label\",\"fontSize\",ht.LABEL.FONT_SIZE),o.label.fontFamily=u(null==l?void 0:l.fontFamily,\"legend.label\",\"fontFamily\",ht.LABEL.FONT_FAMILY),o}var vt=function(e,t,n){var r=e&&e.dock||void 0;if(\"auto\"!==r)return r||\"right\";if(t){var o=t.element.getBoundingClientRect();if(o.height>o.width)return\"bottom\"}return n?\"left\":\"right\"},yt=function(e,t,n){return!(n.invalid||\"color\"===n.type||\"measure\"===n.mode&&t.qMeasureInfo.length<=1||\"dimension\"===n.mode)&&(\"function\"==typeof e.show?e.show():!1!==e.show)};function gt(e,t){var n=e.styleReference,r=e.styleOverrides,o=e.chart,i=e.rtl,a=t.legendProps,l=t.coloring,u=t.theme,c=t.hc,s=mt({theme:u,key:n,styleOverrides:r});return{layout:{minimumLayoutMode:\"MEDIUM\",dock:vt(a,o,i)},show:\"function\"==typeof a.show?function(){return yt(a,c,l)}:yt(a,c,l),renderer:\"svg\",mounted:function(e){e.childNodes[0].style.pointerEvents=\"none\",e.style.overflow=\"hidden\"},settings:{title:{show:!1!==a.showTitle,wordBreak:\"break-word\",maxLines:2,lineHeight:1.2,text:l.label||\"\",fill:s.title.color,fontSize:s.title.fontSize,fontFamily:s.title.fontFamily}}}}function bt(e,n,r){return\"categorical\"===n.coloring.type?function(e,n,r){var o=gt(e,n);if(!o.show)return!1;var i,a=e.key,l=e.styleReference,u=e.styleOverrides,c=e.viewState,s=e.rtl,f=e.settings,d=e.style,p=n.scaleKey,h=n.theme,m=n.scales,v=mt({theme:h,key:l,styleOverrides:u}),y=o.layout.dock,g=\"left\"===y||\"right\"===y?{maxLines:2,wordBreak:\"break-word\"}:{},b={up:\"M13.6,11 L2.4,11 C2.28954305,11 2.2,10.9104569 2.2,10.8 C2.2,10.756726 2.21403557,10.7146192 2.24,10.68 L7.84,3.21333333 C7.90627417,3.12496777 8.03163444,3.10705916 8.12,3.17333333 C8.13516113,3.18470418 8.14862915,3.1981722 8.16,3.21333333 L13.76,10.68 C13.8262742,10.7683656 13.8083656,10.8937258 13.72,10.96 C13.6853808,10.9859644 13.643274,11 13.6,11 Z\",down:\"M2.4,4 L13.6,4 C13.7104569,4 13.8,4.08954305 13.8,4.2 C13.8,4.24327404 13.7859644,4.28538077 13.76,4.32 L8.16,11.7866667 C8.09372583,11.8750322 7.96836556,11.8929408 7.88,11.8266667 C7.86483887,11.8152958 7.85137085,11.8018278 7.84,11.7866667 L2.24,4.32 C2.17372583,4.23163444 2.19163444,4.10627417 2.28,4.04 C2.31461923,4.01403557 2.35672596,4 2.4,4 Z\",left:\"M11,2.4 L11,13.6 C11,13.7104569 10.9104569,13.8 10.8,13.8 C10.756726,13.8 10.7146192,13.7859644 10.68,13.76 L3.21333333,8.16 C3.12496777,8.09372583 3.10705916,7.96836556 3.17333333,7.88 C3.18470418,7.86483887 3.1981722,7.85137085 3.21333333,7.84 L10.68,2.24 C10.7683656,2.17372583 10.8937258,2.19163444 10.96,2.28 C10.9859644,2.31461923 11,2.35672596 11,2.4 Z\",right:\"M4,13.6 L4,2.4 C4,2.28954305 4.08954305,2.2 4.2,2.2 C4.24327404,2.2 4.28538077,2.21403557 4.32,2.24 L11.7866667,7.84 C11.8750322,7.90627417 11.8929408,8.03163444 11.8266667,8.12 C11.8152958,8.13516113 11.8018278,8.14862915 11.7866667,8.16 L4.32,13.76 C4.23163444,13.8262742 4.10627417,13.8083656 4.04,13.72 C4.01403557,13.6853808 4,13.643274 4,13.6 Z\"};\"dimension\"===n.coloring.fieldType&&(i=function(e){return e.datum.value>=0||-3===e.datum.value});var x=\"\".concat(p,\"Legend\");return B(!0,o,{type:\"legend-cat\",key:\"\".concat(a,\"-cat\"),scale:x in m?x:p,settings:{layout:{scrollOffset:function(){return c?c.get(\"legendScrollOffset\"):void 0},size:-1!==[\"top\",\"bottom\"].indexOf(o.layout.dock)?2:1,direction:s?\"rtl\":\"ltr\",horizontal:20},item:{show:i,label:t({fill:v.label.color,fontSize:v.label.fontSize,fontFamily:v.label.fontFamily},g)},navigation:{disabled:r,button:{content:function(e,t){var n=t.direction;return e(\"i\",{style:{\"pointer-events\":\"none\",fontSize:\"12px\",display:\"inline-block\",fontStyle:\"normal\",lineHeight:\"0\",textAlign:\"center\",textTransform:\"none\",verticalAlign:\"-0.125em\",textRendering:\"optimizelegibility\",margin:\"0px\"}},[e(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 16 16\",fill:\"currentColor\"},[e(\"path\",{d:b[n]})])])}}}},brush:{consume:[{context:\"selection\",data:[\"\",a],style:{inactive:{opacity:.3}}}]}},{settings:f,style:d})}(e,n,r):\"continuous\"===n.coloring.type&&function(e,t){var n,r=e.key,o=e.styleReference,i=e.styleOverrides,a=e.rtl,l=e.settings,u=e.style,c=t.scaleKey,s=t.theme,f=\"\".concat(c,\"Range\"),d=gt(e,t);if(!d.show)return!1;var p=mt({theme:s,key:o,styleOverrides:i}),h=d.layout.dock,m=\"right\"===h||\"left\"===h,v=null===(n=t.scales)||void 0===n?void 0:n[f];return m&&v&&(v.invert=!0),B(!0,d,{type:\"legend-seq\",key:\"\".concat(r,\"-seq\"),settings:{fill:c,major:f,length:1,tick:{fill:p.label.color,fontSize:p.label.fontSize,fontFamily:p.label.fontFamily},title:{anchor:!a||\"top\"!==d.layout.dock&&\"bottom\"!==d.layout.dock?void 0:\"right\",padding:parseFloat(d.settings.title.fontSize)||16}}},{settings:l,style:u})}(e,n)}function xt(e,t,n){var r=[],o=[],i=bt(e,t,n&&n.navigationDisabled);return r.push(i),i&&\"legend-cat\"===i.type&&(o.push(function(e){var t=e.key,n=e.requireFailure,r=e.recognizeWith,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:tap-\".concat(t),type:\"Tap\",requireFailure:n,recognizeWith:r,options:{event:\"legendtap\",interval:10,pointers:1,enable:function(e,n){var r;if(!n)return!0;if(null!=o&&null!==(r=o.interact)&&void 0!==r&&r.enabled&&!o.interact.enabled())return!1;if(!this.chart.componentsFromPoint({x:n.center.x,y:n.center.y}).some((function(e){return e.key===\"\".concat(t,\"-cat\")})))return!1;var i=n.srcEvent.target;return!!(i&&i.hasAttribute(\"data-action\")&&i.hasAttribute(\"data-component-key\"))||!(!i||!i.childNodes[0]||\"BUTTON\"!==i.childNodes[0].nodeName)}},events:{legendtap:function(e){e.preventDefault();var t=e.srcEvent.target;t&&t.hasAttribute(\"data-action\")&&t.hasAttribute(\"data-component-key\")&&this.chart.component(t.getAttribute(\"data-component-key\")).emit(t.getAttribute(\"data-action\"))}}}}(e,n)),o.push(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,n=e.key,r=e.requireFailure,o=e.recognizeWith,i=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:pan-\".concat(n),type:\"Pan\",requireFailure:r,recognizeWith:o,options:{event:t,pointers:1,threshold:10,enable:function(e,r){var o;return this.started===t||!r||!(null!=i&&null!==(o=i.interact)&&void 0!==o&&o.enabled&&!i.interact.enabled())&&this.chart.componentsFromPoint({x:r.center.x,y:r.center.y}).some((function(e){return e.key===\"\".concat(n,\"-cat\")}))}},events:l(l(l({},\"\".concat(t,\"start\"),(function(e){e.preventDefault(),this.started!==t&&(this.started=t,this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panstart\",e))})),\"\".concat(t,\"move\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panmove\",e)})),\"\".concat(t,\"end\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panend\",e),this.started=!1}))}}(e,n))),{interactions:o,components:r}}var qt=function(e){return\"rgba(\".concat([(16711680&e)>>16,(65280&e)>>8,255&e,((4278190080&e)>>>24)/255].join(\",\"),\")\")};function wt(e){var n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.auto,n=ot(e.resources).auto(t||function(){return{mode:\"byDimension\",persistent:!1,useDimColVal:!0,byDimDef:{activeDimensionIndex:0,type:\"expression\",label:\"\"}}}).getDimensionColorMap((function(e,t){var n=t.layout,r=t.app;return lt(e,{layout:n,app:r})})).getMeasure((function(e,t){var n=t.layout,r=t.app;return ut(e,{layout:n,app:r})})).getAttributeDimension((function(e,t){var n=t.layout,r=t.model,o=t.app;return ct(e,{layout:n,model:r,app:o})}));return n.getSnapshotData=it,n}({resources:e}),r={},o={},i=function(e){return o.settings||(e||console.warn(\"settings() called before auxiliarySettings()\"),o.settings=n.settings()),o.settings},a={config:function(i){if(r=t({},i),o={},!r.key)throw new Error(\"Missing key\");n.set(t(t({},e),r))},auto:function(e){return e?(n.auto(e),a):n.auto()},getAuxiliarySettings:function(e){return o.auxiliarySettings?Promise.resolve(o.auxiliarySettings):n.getAuxiliarySettings(i(!0),e).then((function(e){return o.auxiliarySettings=e||{},o.settings=t(t({},o.settings),o.auxiliarySettings),o.scales=void 0,o.color=void 0,o.auxiliarySettings}))},getAuxiliaryData:function(){return n.getAuxiliaryData(i())},getSnapshotData:function(e){var t=i();return n.getAuxiliaryData(t,e).then((function(e){return n.getSnapshotData(t,e)}))},resolveUIColor:function(e){return n.resolveUIColor(e)},settings:function(){var e=i();return{mode:e.mode,type:e.type,label:e.label,field:e.field,fieldType:e.fieldType,nil:e.nil,others:e.others,primary:e.primary}},settingsForMeasure:function(e){var t,n=null===(t=i().measureOverrides)||void 0===t?void 0:t[e];return n||this.settings()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return function(e,t){var n=t.isMeasureSelectionLocked;return\"field\"!==e.mode||(\"dimension\"===e.fieldType?e.isFieldLocked:\"measure\"!==e.fieldType||n)}(i(),{isMeasureSelectionLocked:t})},palettes:function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.colorProps,n=e.coloring,r=e.theme,o=[];if(n&&n.palettes&&r){var i=n.palettes.categorical||t.dimensionScheme,a=r.getDataColorPalettes().filter((function(e){return e.key===i}))[0]||r.getDataColorPalettes()[0];i&&a&&o.push({key:\"categorical\",colors:a.colors});var l=n.palettes.metric||t.measureScheme,u=r.getDataColorScales().filter((function(e){return e.key===l}))[0]||r.getDataColorScales()[0];if(u){var c=u.colors[0]?u.colors:[[]].concat(s(u.colors.slice(1)));c=Array.isArray(c[0])?c.map((function(e){return e.slice().reverse()})):c.slice().reverse(),o.push({key:\"quant\",colors:c})}}return o}({coloring:i(),colorProps:r.colorProps,theme:r.theme})},scales:function(){return o.scales=o.scales||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.hc,r=e.coloring,o=e.rtl,i=e.key,a=e.source,l=e.picasso,u={},c=i;if(r){var f={override:!0,domain:r.explicit&&\"function\"==typeof r.explicit.domain?r.explicit.domain:[].concat(s((r.explicit||{}).domain||[]),[-3,-2]),range:r.explicit&&\"function\"==typeof r.explicit.range?r.explicit.range:[].concat(s((r.explicit||{}).range||[]),[r.others,r.nil])};if(\"field\"===r.mode){if(\"dimension\"===r.fieldType){var d,p=st({hc:n,source:a,coloring:r}).data;if(r.legendDataset){var h=0,m={};l.data(\"q\")({data:n}).extract({field:r.field,trackBy:r.valueAccessor,reduce:function(e){var t=e[0];return m[t]=h++,e[0]}}),d={source:\"attrDim\",extract:{field:\"qDimensionInfo/0\",filter:function(e){return e.qElemNumber>=0},props:{row:{value:function(e){return m[e.qElemNumber]}}}}}}var v={data:p,range:r.range,domain:r.domain,explicit:f,type:\"categorical-color\",label:function(e){return e.datum.text&&e.datum.text.value?e.datum.text.value:e.datum.label}};u[c]=v,d&&(u[\"\".concat(c,\"Legend\")]=t(t({},v),{},{data:d})),n&&n.qHasOtherValues&&d&&((d||v.data).amend=[{label:n.qDimensionInfo[0].othersLabel,source:{key:\"qHyperCube\",field:\"qDimensionInfo/0\"},row:{value:-3},value:-3}])}else if(\"measure\"===r.fieldType){var y={data:{field:r.field},min:r.min,max:r.max};u[c]=B({},y,{type:\"categorical\"===r.type?\"threshold-color\":\"sequential-color\",range:r.range,domain:r.domain,invert:r.reverse}),\"sequential-color\"===u[c].type&&(u[\"\".concat(c,\"Range\")]=B({},y,{invert:!!o}))}else if(\"color\"!==r.type)throw new Error(\"UNUSED FIELD\")}else if(\"dimension\"===r.mode){var g={data:n.qDimensionInfo.map((function(e,t){return t})),label:function(e){return n.qDimensionInfo[e.datum.value].qFallbackTitle},explicit:f,type:\"categorical-color\"};u[c]=g}else if(\"measure\"===r.mode){var b={data:n.qMeasureInfo.map((function(e,t){return t})).filter((function(e){var t;return!(null!==(t=r.explicit)&&void 0!==t&&null!==(t=t.exclude)&&void 0!==t&&t.includes(e))})),label:function(e){return n.qMeasureInfo[e.datum.value].qFallbackTitle},explicit:f,type:\"categorical-color\"};u[c]=b}}return u}({hc:r.hc,coloring:i(),key:r.key,source:r.source,picasso:e.picasso}),o.scales},color:function(){return o.color=o.color||function(e){var t=e.coloring,n=e.scales,r=e.key,o=ft(r),i=ft(\"\".concat(r,\"IsAnOther\")),a=function(e,t){var r=e.fieldType,a=e.invalid,l=e.mode,u=e.nil,c=e.others,s=e.primary,f=e.type;return a?function(e){return pt(e)||i(e)?c:u}:n[t]?function(e){return pt(e)?c:dt(e)||-2===o(e)&&\"dimension\"===r||\"NaN\"===o(e)?u:i(e)?c:e.resources.scale(t)(o(e))||c}:\"constant\"===l?function(e){return pt(e)||i(e)?c:dt(e)?u:s}:\"color\"===f?function(e){return pt(e)||i(e)?c:dt(e)?u:o(e)||c}:null},l=a(t,r);if(t.measureOverrides){var u=ft(\"\".concat(r,\"MeasureIdx\")),c=t.measureOverrides.map((function(e){return e&&a(e)}));return function(e){var t=u(e);return c[t]?c[t](e):l(e)}}return l}({coloring:i(),scales:this.scales(),key:r.key}),o.color},datumProps:function(e){return function(e){var t,n,r=e.hc,o=e.coloring,i=e.scales,a=e.key,u=e.addMeasureIx,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=a,f=o.nil;\"field\"===o.mode&&o.field?t=o.field:i[a]&&\"field\"===o.mode&&(t=i[a].data.field||o.field),t?(n={field:t,reduce:\"first\"},\"color\"===o.type&&(n.value=function(e){return\"NaN\"!==e.qNum?qt(e.qNum):e.qText&&de(e.qText)?e.qText:f})):\"dimension\"===o.mode?n=void 0!==o.field?o.field:r.qDimensionInfo.length-1:\"measure\"===o.mode&&(n=c);var d=l({},s,n);return r.qDimensionInfo.length>1&&(d[\"\".concat(s,\"IsAnOther\")]={fields:r.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return-1!==e.indexOf(-3)}}),u&&(d[\"\".concat(s,\"MeasureIdx\")]=c),d}({coloring:this.settingsForMeasure(e),scales:this.scales(),key:r.key,hc:r.hc,addMeasureIx:i().measureOverrides},e)},data:function(){var e=i(),t={key:\"dummy\",data:[[\"field\"],[\"a\"]]};return e.legendDataset?[t,{type:\"q\",key:\"attrDim\",data:e.legendDataset.raw(),config:{localeInfo:r.localeInfo}}]:[t]},legend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,n=e.key,o=e.viewState,a=e.chart,l=e.rtl,u=e.styleReference,c=void 0===u?\"object.legend\":u,s=e.styleOverrides,f=e.settings,d=void 0===f?{}:f,p=e.style,h=void 0===p?{}:p,m=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return xt({eventName:t,key:n,rtl:l,viewState:o,chart:a,styleReference:c,styleOverrides:s,settings:d,style:h},{legendProps:r.legendProps,scaleKey:r.key,coloring:i(),theme:r.theme,hc:r.hc,scales:this.scales()},m)}};return a}var Mt=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function kt(e){var t=e.qHyperCube,n=t.qDimensionInfo,r=t.qMeasureInfo,o=n.some(Mt),i=r.some(Mt),a=e.color.useBaseColors;return\"measure\"===a&&!i||\"dimension\"===a&&!o?\"off\":a}function Ct(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t(t(t({},e),n),{},{colorProps:t(t({},e.colorProps),n.colorProps||{})});return r}var St=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Dt(e){var t,n=e.qHyperCube.qDimensionInfo.some(St),r=e.qHyperCube.qMeasureInfo.some(St),o=n?\"dimension\":void 0;return{mode:\"primary\",useBaseColors:null!==(t=null!=o?o:r?\"measure\":void 0)&&void 0!==t?t:\"off\",paletteColor:null}}var It=function(){};function Ot(e){var n,r,o,i,a=e.picasso,l=e.model,u=e.app,c=e.translator,s=e.layoutService,f=void 0===s?void 0:s,d=e.createConfig,p=void 0===d?It:d,h=e.config,m=void 0===h?{}:h,v=e.custom,y=void 0===v?{}:v,g=m.localeInfo,b=m.key,x=m.theme,q=void 0===x?void 0:x,w=m.auto,M=void 0===w?void 0:w,k=m.definitionPath,C=null==f||null===(n=f.getLayout)||void 0===n?void 0:n.call(f),S={theme:q,key:b,localeInfo:g,layout:C,hc:null==f||null===(r=f.getHyperCube)||void 0===r?void 0:r.call(f),legendProps:null==f||null===(o=f.getLayoutValue)||void 0===o?void 0:o.call(f,\"legend\"),colorProps:t(t({},null==f||null===(i=f.getLayoutValue)||void 0===i?void 0:i.call(f,\"color\")),{},{useBaseColors:C?kt(C):void 0})},D=wt({picasso:a,model:l,app:u,translator:c,auto:M});!1!==M&&D.auto((function(e){return M?M({layout:e,defaultAuto:Dt}):Dt(e)}));var I=!1,O={getColor:function(){return D.color()},getPaletteColor:function(e){var t=e.index,n=e.color;return D.resolveUIColor({index:t,color:n})},getData:function(){return D.data()},getDatumProps:function(e){return D.datumProps(e)},getSnapshotData:function(){return D.getSnapshotData(k)},getSettingsForMeasure:function(e){return D.settingsForMeasure(e)},getSettings:function(){return D.settings()},getLegend:function(e,t){return D.legend(e,t)},getScales:function(){return D.scales()},getPalettes:function(){return D.palettes()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return D.isSelectionLocked({isMeasureSelectionLocked:t})},isInitialized:function(){return I},custom:t({},y),initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.createConfig,n=void 0===t?p:t,r=n({getUseBaseColors:kt}),o=Ct(S,r);D.config(o);var i=D.getAuxiliarySettings(k).then((function(){I=!0}));return i}};return O}function Et(e){var t=e.chart,n=e.logicalSize;if(n)return n;var r=t?t.element.getBoundingClientRect():{};return{width:r.width,height:r.height}}var At=[{key:\"FULL\",size:{width:550,height:450}},{key:\"MEDIUM\",size:{width:400,height:220}},{key:\"SMALL\",size:{width:300,height:150}},{key:\"XSMALL\",size:{width:150,height:75}}];function Nt(e){var t=e.width,n=e.height,r=At.filter((function(e){return t>=e.size.width&&n>=e.size.height})).shift();return r?r.key:\"SPARK\"}var Lt={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\",near:\"far\",far:\"near\"};function Tt(e){var t=e.orientation,n=e.dock,r=e.btt,o=e.rtl,i=\"horizontal\"===t?function(e){return\"bottom\"===e||\"near\"===e?\"bottom\":\"top\"}(n):function(e,t){var n=\"left\"===e||\"near\"===e?\"left\":\"right\";return t?Lt[n]:n}(n,o),a=function(e,t,n){return\"vertical\"===e?t?\"bottom\":\"top\":n?\"right\":\"left\"}(t,r,o);return{current:i,opposite:Lt[i],start:a,end:Lt[a]}}function Pt(e){var n=e.chart,r=e.layoutService,o=e.config,i=void 0===o?{}:o,a=i.logicalSize,l=void 0!==a&&a,u=i.rtl,c=void 0!==u&&u,s={chart:{size:void 0,mode:void 0},x:{dock:void 0,opposite:void 0,size:void 0},y:{dock:void 0,opposite:void 0,size:void 0}},f={type:\"x-y\",config:t({},i),meta:s,update:function(e){s.chart.size={width:e.width,height:e.height},s.chart.mode=Nt(e);var t=Tt({orientation:\"horizontal\",dock:r.getLayoutValue(\"xAxis.dock\"),btt:!1,rtl:c}),n=t.current,o=t.opposite;s.x.dock=n,s.x.opposite=o,s.x.size=e.width;var i=Tt({orientation:\"vertical\",dock:r.getLayoutValue(\"yAxis.dock\"),btt:!0,rtl:c}),a=i.current,l=i.opposite;s.y.dock=a,s.y.opposite=l,s.y.size=e.height}};return f.update(Et({chart:n,logicalSize:l})),f}var jt=\"vertical\",Ft=\"horizontal\";function Ht(e){var n=e.chart,r=e.layoutService,o=e.config,i=void 0===o?{}:o,a=e.typeConfig,l=void 0===a?{}:a,u=i.logicalSize,c=void 0!==u&&u,s=i.rtl,f=void 0!==s&&s,d=l.fallback===jt?jt:Ft,p=!!l.invert,h=l.measureAxes||[{ref:\"measureAxis\",name:\"minor\"}],m={chart:{orientation:void 0,size:void 0,mode:void 0},major:{orientation:void 0,dock:void 0,opposite:void 0,size:void 0}},v={type:\"major-minor\",config:t({},i),meta:m,update:function(e){m.chart.orientation=r.getLayoutValue(\"orientation\",d),m.chart.size={width:e.width,height:e.height},m.chart.mode=Nt(e),m.major.orientation=function(e){var t=e.layoutService,n=e.chartOrientation,r=e.invert;return t.meta.isContinuous?Ft:r?n===jt?Ft:jt:n}({layoutService:r,chartOrientation:m.chart.orientation,invert:p});var t=Tt({orientation:m.major.orientation,dock:r.getLayoutValue(\"dimensionAxis.dock\"),btt:!1,rtl:f}),n=t.current,o=t.opposite;m.major.dock=n,m.major.opposite=o,m.major.size=m.major.orientation===jt?e.height:e.width,h.forEach((function(t){var n={};n.orientation=m.major.orientation===jt?Ft:jt;var o=Tt({orientation:n.orientation,dock:r.getLayoutValue(\"\".concat(t.ref,\".dock\")),btt:!0,rtl:f}),i=o.current,a=o.opposite,l=o.start,u=o.end;n.dock=i,n.opposite=a,n.start=l,n.end=u,n.size=n.orientation===jt?e.height:e.width,m[t.name]=n}))}};return v.update(Et({chart:n,logicalSize:c})),v}function zt(e){var t=e.chart,n=e.layoutService,r=e.config,o=void 0===r?{}:r,i=e.typeConfig,a=void 0===i?{}:i;return(\"x-y\"===a.type?Pt:Ht)({chart:t,layoutService:n,config:o,typeConfig:a})}function Rt(e,t,n){if(void 0===e||void 0===t)return n;for(var r=t.split(\".\"),o=e,i=0;i<r.length;++i){var a=r[i];if(void 0===o[a])return n;o=o[a]}return o}var Vt=[\"__proto__\",\"constructor\"];function _t(e,t,n){if(void 0!==e&&void 0!==t){var r=t.split(\".\"),o=r[r.length-1];if(!Vt.some((function(e){return r.includes(e)}))){for(var i=e,a=0;a<r.length-1;++a){var l=r[a];void 0===i[l]&&(i[l]=Number.isNaN(+r[a+1])?{}:[]),i=i[l]}void 0!==n?i[o]=n:delete i[o]}}}function Bt(){var e={};return{get:function(t){return e[t]},set:function(t,n){return e[t]=n,n},has:function(t){return t in e},remove:function(t){delete e[t]},empty:function(){e={}}}}function Yt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Bt();return function(r){var o=t(r);return n.has(o)?n.get(o):n.set(o,e(r))}}function $t(e){var n=t({},e),r={},o={},i=!1,a={get:function(e){return n[e]},set:function(e,t){var a=n[e];!i&&r[e]?n[e]=r[e](t,a):n[e]=t,!i&&o[e]&&o[e](n[e],a)},preventSet:function(e,t){i=!0,a.set(e,t),i=!1},intercept:function(e,t){r[e]=t},onChanged:function(e,t){o[e]=t}};return a}function Ut(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;return function(){for(var r=this,o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];var l=function(){return e.apply(r,i)};clearTimeout(t),t=setTimeout(l,n)}}function Kt(e){var t,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,i=0;return function(){t=this;for(var a=arguments.length,l=new Array(a),u=0;u<a;u++)l[u]=arguments[u];n=l;var c=Date.now()-i,s=function(){i=Date.now(),r=0,e.apply(t,n)};r||(c>=o?s():r=setTimeout(s,o-c))}}var Gt={ERROR_CODES:[7005],DIMENSION:\"qDimensionInfo\",MEASURE:\"qMeasureInfo\"},Wt=function(e,t){return e[t].reduce((function(e,t,n){var r;return(r=t,Gt.ERROR_CODES.some((function(e){var t;return e===(null===(t=r.qError)||void 0===t?void 0:t.qErrorCode)})))?e.filtered.push(n):e.reduced.push(t),e}),{reduced:[],filtered:[]})};function Xt(e){var t;return((null==e||null===(t=e.qHyperCube)||void 0===t?void 0:t.qDimensionInfo)||[]).map((function(e){var t,n=null===(t=e.qCardinalities)||void 0===t?void 0:t.qHypercubeCardinal;if(n)return n;var r=e.qStateCounts||{},o=r.qLocked,i=void 0===o?0:o,a=r.qOption,l=void 0===a?0:a,u=r.qSelected;return i+l+(void 0===u?0:u)}))}function Zt(e){switch(e.qHyperCube.qMode){case\"S\":return function(e){var t=e.qHyperCube.qSize;return{refs:{dataPages:\"qHyperCube.qDataPages\"},size:{x:t.qcx,y:t.qcy,dimensions:Xt(e)}}}(e);case\"K\":return function(e){var t=Xt(e);return{refs:{dataPages:\"qHyperCube.qStackedDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);case\"T\":return function(e){var t=Xt(e);return{refs:{dataPages:\"qHyperCube.qTreeDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);default:throw new Error(\"Mode not supported\")}}function Jt(e){var n=e.source,r=e.metaAdditionsFn,o=e.experimental,i=void 0===o?{filter:!1}:o,a=B(!0,{},n),l=i.filter?function(e){var t=e.qHyperCube,n=Wt(t,Gt.DIMENSION),r=n.reduced,o=n.filtered;t[Gt.DIMENSION]=r;var i=Wt(t,Gt.MEASURE),a=i.reduced,l=i.filtered;return t[Gt.MEASURE]=a,{dimensions:o,measures:l}}(a):{dimensions:[],measures:[]},u=Zt(a),c=function(){var e=function(e){var n=e.layout,r=e.additionsFn,o=void 0===r?function(){return{}}:r,i=e.additionsProps,a=void 0===i?{}:i,l=n.qHyperCube,u=l.qDimensionInfo,c=l.qMeasureInfo,s=l.qMode,f=u.length,d=c.length,p=t({mode:{S:\"S\"===s,P:\"P\"===s,K:\"K\"===s,T:\"T\"===s},dimensionCount:f,measureCount:d,hasMultipleDimensions:f>1,hasMultipleMeasures:d>1,isOneDimensional:1===f,isTwoDimensional:2===f},a);return t(t({},p),o({layout:n,meta:p}))}({layout:a,additionsFn:r,additionsProps:{size:u.size}});return e.filteredFields=l,e},s={refs:t({},u.refs),meta:c(),getLayout:function(){return a},getLayoutValue:function(e,t){return Rt(a,e,t)},setLayoutValue:function(e,t){_t(a,e,t),u=Zt(a),s.meta=c()},getHyperCube:function(){return a.qHyperCube},getHyperCubeValue:function(e,t){return Rt(a.qHyperCube,e,t)},setHyperCubeValue:function(e,t){_t(a.qHyperCube,e,t),u=Zt(a),s.meta=c()},getDataPages:function(){return Rt(a,u.refs.dataPages)},setDataPages:function(e){_t(a,u.refs.dataPages,e),s.meta=c()}};return s}function Qt(e){var t=e.originalArray,n=e.newArray,r=e.matchKey;return Array.isArray(t)&&t.length?(n.forEach((function(e){var n=-1;t.some((function(t,o){return t[r]&&t[r]===e[r]&&(n=o),n})),n>-1?t[n]=e:t.push(e)})),t):n}function en(e){var r=e.picassoInstance,i=e.plugins,l=e.pluginArgs,u=void 0===l?{}:l,f={initialized:!1,definitions:[]};return{initialize:function(){return a(n().mark((function e(){var l,c,d,p;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!f.initialized){e.next=2;break}return e.abrupt(\"return\");case 2:return c=Promise.all(i.filter((function(e){return\"custom-component\"===e.info.type})).map(function(){var e=a(n().mark((function e(i){var a;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i.info.componentName){e.next=2;break}throw new Error(\"plugin-service: Custom component is missing componentName\");case 2:return e.next=4,i.fn(t({},u));case 4:if(\"object\"===o(a=e.sent)){e.next=7;break}throw new Error(\"plugin-service: Custom component needs to be an object\");case 7:r.component(i.info.componentName,a);case 8:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())),d=Promise.all(i.filter((function(e){return\"component-definition\"===e.info.type})).map((function(e){return e.fn(t({},u))}))),e.next=6,Promise.all([c,d]);case 6:p=e.sent,f.initialized=!0,(l=f.definitions).push.apply(l,s(p[1]));case 9:case\"end\":return e.stop()}}),e)})))()},extendComponents:function(e){return f.initialized?(f.definitions.filter(Boolean).forEach((function(t){var n=c(e.filter((function(e){return e.key&&e.key===t.key})),1)[0];if(n){var r=B(!0,{},n.brush);B(!0,n,t),t.brush&&(n.brush=function(e,t){return\"object\"===o(e)&&Object.keys(e).length?(Array.isArray(t.consume)&&(e.consume=Qt({originalArray:e.consume,newArray:t.consume,matchKey:\"context\"})),Array.isArray(t.trigger)&&(e.trigger=Qt({originalArray:e.trigger,newArray:t.trigger,matchKey:\"on\"})),e):t}(r,t.brush))}else e.push(t)})),e):e}}}function tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tn(Object(n),!0).forEach((function(t){on(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rn(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:String(t)}function on(e,t,n){return(t=rn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var an=Object.prototype.hasOwnProperty,ln=Object.prototype.toString,un=Object.defineProperty,cn=Object.getOwnPropertyDescriptor,sn=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===ln.call(e)},fn=function(e){if(!e||\"[object Object]\"!==ln.call(e))return!1;var t,n=an.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&an.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||an.call(e,t)},dn=function(e,t){un&&\"__proto__\"===t.name?un(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},pn=function(e,t){if(\"__proto__\"===t){if(!an.call(e,t))return;if(cn)return cn(e,t).value}return e[t]},hn=function e(){var t,n,r,o,i,a,l=arguments[0],u=1,c=arguments.length,s=!1;for(\"boolean\"==typeof l&&(s=l,l=arguments[1]||{},u=2),(null==l||\"object\"!=typeof l&&\"function\"!=typeof l)&&(l={});u<c;++u)if(null!=(t=arguments[u]))for(n in t)r=pn(l,n),l!==(o=pn(t,n))&&(s&&o&&(fn(o)||(i=sn(o)))?(i?(i=!1,a=r&&sn(r)?r:[]):a=r&&fn(r)?r:{},dn(l,{name:n,newValue:e(s,a,o)})):void 0!==o&&dn(l,{name:n,newValue:o}));return l};function mn(e,t,n,r){if(!e)return-1;const o=n.cache,i=e.origin?e.origin():null;i&&(e=i);let a=o.fields.indexOf(e),l=-1,u=-1;if(-1===a)for(let t=0;t<o.wrappedFields.length;t++)if(u=o.wrappedFields[t].attrDims.map((e=>e.instance)).indexOf(e),l=o.wrappedFields[t].attrExps.map((e=>e.instance)).indexOf(e),-1!==u||-1!==l){a=t;break}if(Array.isArray(r)&&r.some(((e,t)=>e!==t))){const e=r.indexOf(a);-1!==e&&(a=e)}return a-=t.qArea.qLeft,a<0||a>=t.qArea.qWidth?-1:u>=0?e=>e[a].qAttrDims.qValues[u]:l>=0?e=>e[a].qAttrExps.qValues[l]:e=>e[a]}function vn(e,t,n){let{key:r}=n;const o={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return o.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(o.value),e.field&&(o.source={key:r,field:e.field.key()}),o}function yn(e){let{cache:t,f:n,mainCell:r,p:o,prop:i,page:a,rowIdx:l,row:u,sourceKey:c,target:s,targetProp:f,columnOrder:d}=e,p=r;if(o.field&&o.field!==n){const e=mn(o.field,a,{cache:t},d);if(-1===e)return;p=hn({qRow:l},e(u))}s[f]=vn(o,p,{key:c})}function gn(e,t,n,r){const o=Array.isArray(e)?e:[e];let i=[];for(let e=0;e<o.length;e++)if(void 0!==o[e].field){const a=t.raw(),l=t.key(),u=\"object\"==typeof o[e].field?o[e].field:t.field(o[e].field),{props:c,main:s}=r.normalizeConfig(o[e],t),f=Object.keys(c),d=!!o[e].trackBy,p=typeof o[e].trackBy,h={},m=[],v=[];for(let t=0;t<a.qDataPages.length;t++){const i=mn(u,a.qDataPages[t],{cache:n},a.qColumnOrder);if(-1!==i)for(let y=0;y<a.qDataPages[t].qMatrix.length;y++){const g=a.qDataPages[t].qArea.qTop+y,b=hn({qRow:g},i(a.qDataPages[t].qMatrix[y])),x=vn(s,b,{key:l});if(!(s.filter&&!s.filter(b))){for(let e=0;e<f.length;e++){const r=c[f[e]];let o=r.fields||[r];r.fields&&(x[f[e]]=[]);for(let i=0;i<o.length;i++)yn({cache:n,f:u,mainCell:b,p:o[i],prop:f[e],props:c,page:a.qDataPages[t],rowIdx:g,row:a.qDataPages[t].qMatrix[y],sourceKey:l,target:r.fields?x[f[e]]:x,targetProp:r.fields?i:f[e],columnOrder:a.qColumnOrder});if(r.fields){const t=x[f[e]].map((e=>e.value)),n=x[f[e]].map((e=>e.label));x[f[e]]={value:\"function\"==typeof r.value?r.value(t):void 0!==r.value?r.value:t,label:\"function\"==typeof r.label?r.label(n):void 0!==r.label?String(r.label):String(x[f[e]].value)}}}d&&r.track({cfg:o[e],itemData:b,obj:x,target:m,tracker:h,trackType:p}),v.push(x)}}}const y=d?r.collect(m,{main:s,propsArr:f,props:c}):v;i=[...i,...y]}return i}function bn(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function xn(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=wn)):void 0===t&&(t=qn);for(var n,r,o,i,a,l=new Cn(e),u=[l];n=u.pop();)if((o=t(n.data))&&(a=(o=Array.from(o)).length))for(n.children=o,i=a-1;i>=0;--i)u.push(r=o[i]=new Cn(o[i])),r.parent=n,r.depth=n.depth+1;return l.eachBefore(kn)}function qn(e){return e.children}function wn(e){return Array.isArray(e)?e[1]:null}function Mn(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function kn(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Cn(e){this.data=e,this.depth=this.height=0,this.parent=null}function Sn(e){return null==e?null:function(e){if(\"function\"!=typeof e)throw new Error;return e}(e)}Cn.prototype=xn.prototype={constructor:Cn,count:function(){return this.eachAfter(bn)},each:function(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this},eachAfter:function(e,t){for(var n,r,o,i=this,a=[i],l=[],u=-1;i=a.pop();)if(l.push(i),n=i.children)for(r=0,o=n.length;r<o;++r)a.push(n[r]);for(;i=l.pop();)e.call(t,i,++u,this);return this},eachBefore:function(e,t){for(var n,r,o=this,i=[o],a=-1;o=i.pop();)if(e.call(t,o,++a,this),n=o.children)for(r=n.length-1;r>=0;--r)i.push(n[r]);return this},find:function(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,o=r&&r.length;--o>=0;)n+=r[o].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),o=null;e=n.pop(),t=r.pop();for(;e===t;)o=e,e=n.pop(),t=r.pop();return o}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var o=r.length;e!==n;)r.splice(o,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return xn(this).eachBefore(Mn)},[Symbol.iterator]:function*(){var e,t,n,r,o=this,i=[o];do{for(e=i.reverse(),i=[];o=e.pop();)if(yield o,t=o.children)for(n=0,r=t.length;n<r;++n)i.push(t[n])}while(i.length)}};var Dn={depth:-1},In={},On={};function En(e){return e.id}function An(e){return e.parentId}function Nn(){var e,t=En,n=An;function r(r){var o,i,a,l,u,c,s,f,d=Array.from(r),p=t,h=n,m=new Map;if(null!=e){const t=d.map(((t,n)=>function(e){let t=(e=`${e}`).length;Tn(e,t-1)&&!Tn(e,t-2)&&(e=e.slice(0,-1));return\"/\"===e[0]?e:`/${e}`}(e(t,n,r)))),n=t.map(Ln),o=new Set(t).add(\"\");for(const e of n)o.has(e)||(o.add(e),t.push(e),n.push(Ln(e)),d.push(On));p=(e,n)=>t[n],h=(e,t)=>n[t]}for(a=0,o=d.length;a<o;++a)i=d[a],c=d[a]=new Cn(i),null!=(s=p(i,a,r))&&(s+=\"\")&&(f=c.id=s,m.set(f,m.has(f)?In:c)),null!=(s=h(i,a,r))&&(s+=\"\")&&(c.parent=s);for(a=0;a<o;++a)if(s=(c=d[a]).parent){if(!(u=m.get(s)))throw new Error(\"missing: \"+s);if(u===In)throw new Error(\"ambiguous: \"+s);u.children?u.children.push(c):u.children=[c],c.parent=u}else{if(l)throw new Error(\"multiple roots\");l=c}if(!l)throw new Error(\"no root\");if(null!=e){for(;l.data===On&&1===l.children.length;)l=l.children[0],--o;for(let e=d.length-1;e>=0&&(c=d[e],c.data===On);--e)c.data=null}if(l.parent=Dn,l.eachBefore((function(e){e.depth=e.parent.depth+1,--o})).eachBefore(kn),l.parent=null,o>0)throw new Error(\"cycle\");return l}return r.id=function(e){return arguments.length?(t=Sn(e),r):t},r.parentId=function(e){return arguments.length?(n=Sn(e),r):n},r.path=function(t){return arguments.length?(e=Sn(t),r):e},r}function Ln(e){let t=e.length;if(t<2)return\"\";for(;--t>1&&!Tn(e,t););return e.slice(0,t)}function Tn(e,t){if(\"/\"===e[t]){let n=0;for(;t>0&&\"\\\\\"===e[--t];)++n;if(0==(1&n))return!0}return!1}function Pn(e,t){\"/\"===e.charAt(0)&&(e=e.substring(1));const n=e.split(\"/\");let r,o=t;for(let e=0;e<n.length;e++){if(\"*\"===n[e]&&Array.isArray(o)){const t=[];r=n.slice(e+1).join(\"/\");for(let e=0;e<o.length;e++){let n=Pn(r,o[e]);Array.isArray(n)?t.push(...n):t.push(n)}return t}if(!n[e]&&Array.isArray(o)){const t=new Array(o.length);r=n.slice(e+1).join(\"/\");for(let e=0;e<o.length;e++)t[e]=Pn(r,o[e]);return t}n[e]in o&&(o=o[n[e]])}return o}function jn(e,t,n){let r=[];if(!e||!e.length)return r;if(t<=0){const t=n>=0?[e[n]]:e;r=[...r,...t]}else for(let o=0;o<e.length;o++)e[o].children&&e[o].children.length&&(r=[...r,...jn(e[o].children,t-1,n)]);return r}function Fn(e,t,n){if(e===t)return e=>e;if(e>t){const n=Math.max(0,Math.min(100,e-t));return e=>{let t=e;for(let e=0;e<n;++e)t=t.parent;return t}}if(t>e){const r=Math.max(0,Math.min(100,t-e));return e=>jn(e.children,r-1,n)}return!1}function Hn(e,t){let{cache:n}=t;if(\"number\"==typeof e)return n.fields[e];const r=n.allFields;if(\"function\"==typeof e){for(let t=0;t<r.length;t++)if(e(r[t]))return r[t];return!1}if(\"string\"==typeof e){for(let t=0;t<r.length;t++)if(r[t].key()===e||r[t].title()===e)return r[t]}else if(e&&-1!==r.indexOf(e))return e;throw Error(\"Field not found: \".concat(e))}const zn=/^qDimensionInfo(?:\\/(\\d+))?/,Rn=/^\\/?qMeasureInfo\\/(\\d+)/,Vn=/\\/qAttrExprInfo\\/(\\d+)/,_n=/\\/qAttrDimInfo\\/(\\d+)/;function Bn(e){return(e.qColumnOrder&&e.qColumnOrder.length?e.qColumnOrder:e.qDimensionInfo.map(((e,t)=>t))).filter((t=>t<e.qDimensionInfo.length))}function Yn(e,t){let{cube:n}=t;if(!e)return-1;let r=e.origin&&e.origin()?e.origin().key():e.key(),o=!1,i=-1,a=-1,l=-1,u=-1,c=-1,s=-1,f=r;const d=n.qEffectiveInterColumnSortOrder,p=Bn(n);return zn.test(f)&&(o=!0,i=+zn.exec(f)[1],f=r.replace(zn,\"\")),Rn.test(f)&&(\"K\"===n.qMode?c=+Rn.exec(f)[1]:d&&-1!==d.indexOf(-1)?(c=+Rn.exec(f)[1],s=0):s=+Rn.exec(f)[1],f=f.replace(Rn,\"\")),f&&(_n.exec(f)?l=+_n.exec(f)[1]:Vn.exec(f)&&(a=+Vn.exec(f)[1])),u=o?\"S\"===n.qMode?p[i]:d?d.indexOf(i):i:d&&-1!==d.indexOf(-1)?d.indexOf(-1):n.qDimensionInfo.length-(\"K\"===n.qMode?0:1),{fieldDepth:u+1,pseudoMeasureIndex:c,measureIdx:s,attrDimIdx:l,attrIdx:a}}function $n(e,t){let n,r,o=Fn(e.fieldDepth,t.fieldDepth,t.pseudoMeasureIndex);return n=t.measureIdx>=0?e=>e.data.qValues[t.measureIdx]:e=>e.data,t.attrDimIdx>=0?r=e=>{var n;return null==e||null===(n=e.qAttrDims)||void 0===n?void 0:n.qValues[t.attrDimIdx]}:t.attrIdx>=0&&(r=e=>{var n;return null==e||null===(n=e.qAttrExps)||void 0===n?void 0:n.qValues[t.attrIdx]}),{nodeFn:o,attrFn:r,valueFn:n}}function Un(e,t,n){let{key:r}=n;const o={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return o.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(o.value),e.field&&(o.source={key:r,field:e.field.key()}),o}function Kn(e){let{propsArr:t,props:n,item:r,itemData:o,ret:i,sourceKey:a}=e;for(let e=0;e<t.length;e++){const l=n[t[e]],u=l.fields||[l];let c,s;l.fields&&(c=[],s=[]);for(let n=0;n<u.length;n++){const f=u[n];let d,p,h,m,v,y;if(\"primitive\"===f.type?(h=f.value,y=String(f.value)):(\"function\"==typeof f.value&&(d=e=>f.value(e,r)),\"function\"==typeof f.label&&(p=e=>f.label(e,r)),f.accessor?(m=f.accessor(r),Array.isArray(m)?(v=m.map(f.valueAccessor),f.attrAccessor&&(v=v.map(f.attrAccessor)),d&&(h=v.map(d),d=null),p&&(y=v.map(p),p=null),h=f.reduce?f.reduce(h):h,y=f.reduceLabel?f.reduceLabel(y,h):String(h)):(h=f.attrAccessor?f.attrAccessor(f.valueAccessor(m)):f.valueAccessor(m),y=h)):(h=o,y=o)),l.fields){const e=d?d(h):h;c.push(e),s.push(p&&null!=y?p(y):null!=y?y:String(e))}else{const n=d?d(h):h;i[t[e]]={value:n,label:p?p(y):null!=y?y:String(n)},f.field&&(i[t[e]].source={field:f.field.key(),key:a})}}c&&(i[t[e]]={value:\"function\"==typeof l.value?l.value(c,r):c,label:\"function\"==typeof l.label?l.label(s,r):s})}}const Gn=(e,t,n)=>{const r=\"K\"===e.qMode?\"/qStackedDataPages/*/qData\":\"/qTreeDataPages/*\",o=\"K\"===e.qMode?\"qSubNodes\":\"qNodes\",i=Pn(r,e);return i&&i[0]?(t.tree=xn(i[0],n.children||(e=>e[o])),t.tree):null};function Wn(e){const t=e.raw().qDataPages.length?e.raw().qDataPages[0].qMatrix:[],n=function(e){const t=e.raw().qColumnOrder,n=e.fields();return t&&t.length===n.length?t:n.map(((e,t)=>t))}(e),r=e.fields(),o=e.fields().filter((e=>\"dimension\"===e.type())).map((e=>n.indexOf(r.indexOf(e)))),i=e.fields().filter((e=>\"measure\"===e.type())).map((e=>n.indexOf(r.indexOf(e)))),a={__root:{__id:\"__root\",qValues:[]}};for(let e=0;e<t.length;e++){const n=t[e];let r=\"__root\",u=!1;for(let e=0;e<o.length;e++){var l;const t=n[o[e]],i=\"\".concat(r,\"__\").concat(null!==(l=t.qElemNumber)&&void 0!==l?l:t.qElemNo);a[i]||(a[i]=nn({__id:i,__parent:r,qValues:[]},t),u=!0),r=i}if(u)for(let e=0;e<i.length;e++){const t=n[i[e]];a[r].qValues.push(t)}}const u=Object.keys(a).map((e=>a[e]));return Nn().id((e=>e.__id)).parentId((e=>e.__parent))(u)}const Xn=e=>{let{propsArr:t,props:n,cube:r,cache:o,itemDepthObject:i,f:a}=e;for(let e=0;e<t.length;e++){const l=n[t[e]],u=l.fields?l.fields:[l];for(let e=0;e<u.length;e++){const t=u[e];if(t.field!==a){const e=$n(i,Yn(t.field,{cube:r,cache:o}));t.accessor=e.nodeFn,t.valueAccessor=e.valueFn,t.attrAccessor=e.attrFn}}}};function Zn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;const o=t.raw(),i=t.key(),a=\"S\"===o.qMode?Wn(t):Gn(o,n,e);if(!a)return null;const l=a.height,u=[];for(let i=0;i<=l;i++){let a=null;if(i>0)if(\"S\"===o.qMode){let e=Bn(o)[i-1];a=n.fields[e]}else{let e=o.qEffectiveInterColumnSortOrder[i-1];i>o.qEffectiveInterColumnSortOrder.length&&(e=o.qDimensionInfo.length),a=n.fields[e]}const{props:l,main:c}=r.normalizeConfig(nn(nn({},e),{},{field:a?a.key():void 0}),t),s=Object.keys(l);u[i]={propsArr:s,props:l,main:c};const f=a?Yn(a,{cube:o,cache:n}):{fieldDepth:0};Xn({propsArr:s,props:l,cube:o,cache:n,itemDepthObject:f,f:a})}const c=a.copy(),s=c.descendants(),f=a.descendants();for(let e=0;e<f.length;e++){const t=u[f[e].depth].propsArr,n=u[f[e].depth].props,r=u[f[e].depth].main,o=s[e],a=o.data,l=Un(r,a,{key:i});Kn({propsArr:t,props:n,item:o,itemData:a,ret:l,sourceKey:i,isTree:!0}),f[e].data=l}return a}function Jn(e,t,n,r){const o=Array.isArray(e)?e:[e];let i=[];for(let a=0;a<o.length;a++)if(void 0!==o[a].field){const l=t.raw(),u=t.key();if(!Gn(l,n,e))continue;const c=\"object\"==typeof o[a].field?o[a].field:t.field(o[a].field),{props:s,main:f}=r.normalizeConfig(o[a],t),d=Object.keys(s),p=Yn(c,{cube:l,cache:n}),{nodeFn:h,attrFn:m,valueFn:v}=$n({fieldDepth:0},p);Xn({propsArr:d,props:s,cube:l,cache:n,itemDepthObject:p,f:c});const y=!!o[a].trackBy,g=typeof o[a].trackBy,b={},x=[],q=h(n.tree),w=[];for(let e=0;e<q.length;e++){const t=q[e],n=m?m(v(t)):v(t);if(f.filter&&!f.filter(n))continue;const i=Un(f,n,{key:u});Kn({propsArr:d,props:s,item:t,itemData:n,ret:i,sourceKey:u}),y&&r.track({cfg:o[a],itemData:n,obj:i,target:x,tracker:b,trackType:g}),w.push(i)}const M=y?r.collect(x,{main:f,propsArr:d,props:s}):w;i=[...i,...M]}return i}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;var Qn,er,tr=(Qn=function(e){\n/*! javascript-number-formatter - v1.1.11 - http://mottie.github.com/javascript-number-formatter/ * © ecava */\ne.exports=function(e,t){if(!e||isNaN(+t))return t;var n,r,o,i,a,l,u,c,s,f,d=e.length,p=e.search(/[0-9\\-\\+#]/),h=p>0?e.substring(0,p):\"\",m=e.split(\"\").reverse().join(\"\"),v=m.search(/[0-9\\-\\+#]/),y=d-v,g=e.substring(y,y+1),b=y+(\".\"===g||\",\"===g?1:0),x=v>0?e.substring(b,d):\"\";if(n=(t=\"-\"===(e=e.substring(p,b)).charAt(0)?-t:+t)<0?t=-t:0,o=(r=e.match(/[^\\d\\-\\+#]/g))&&r[r.length-1]||\".\",i=r&&r[1]&&r[0]||\",\",e=e.split(o),t=+(t=t.toFixed(e[1]&&e[1].length))+\"\",l=e[1]&&e[1].lastIndexOf(\"0\"),(!(c=t.split(\".\"))[1]||c[1]&&c[1].length<=l)&&(t=(+t).toFixed(l+1)),s=e[0].split(i),e[0]=s.join(\"\"),(a=e[0]&&e[0].indexOf(\"0\"))>-1)for(;c[0].length<e[0].length-a;)c[0]=\"0\"+c[0];else 0==+c[0]&&(c[0]=\"\");if((t=t.split(\".\"))[0]=c[0],u=s[1]&&s[s.length-1].length){for(m=\"\",y=(f=t[0]).length%u,d=f.length,b=0;b<d;b++)m+=f.charAt(b),!((b-y+1)%u)&&b<d-u&&(m+=i);t[0]=m}return t[1]=e[1]&&t[1]?o+t[1]:\"\",\"0\"!==(r=t.join(\"\"))&&\"\"!==r||(n=!1),h+(n?\"-\":\"\")+r+x}},Qn(er={exports:{}},er.exports),er.exports);function nr(e){return e.replace(/[-[\\]/{}()*+?.\\\\^$|]/g,\"\\\\$&\")}const rr={3:\"k\",6:\"M\",9:\"G\",12:\"T\",15:\"P\",18:\"E\",21:\"Z\",24:\"Y\",\"-3\":\"m\",\"-6\":\"μ\",\"-9\":\"n\",\"-12\":\"p\",\"-15\":\"f\",\"-18\":\"a\",\"-21\":\"z\",\"-24\":\"y\"},or=/%\\)?$/,ir=/^\\(r(0[2-9]|[12]\\d|3[0-6])\\)/i,ar=/^\\(oct\\)/i,lr=/^\\(dec\\)/i,ur=/^\\(hex\\)/i,cr=/^\\(bin\\)/i,sr=/^\\(rom\\)/i,fr=/^(\\(rom\\)|\\(bin\\)|\\(hex\\)|\\(dec\\)|\\(oct\\)|\\(r(0[2-9]|[12]\\d|3[0-6])\\))/i,dr=/#|0/g;function pr(e,t,n,r){return e=e.toString(t),n[1]===n[1].toUpperCase()&&(e=e.toUpperCase()),e.length-e.indexOf(\".\")>10&&(e=e.slice(0,e.indexOf(\".\")+11)),e.replace(\".\",r||\".\")}function hr(e,t,n){let r;return ir.test(t)?e=pr(e,Number(/\\d{2}/.exec(t)[0]),t,n):ar.test(t)?e=pr(e,8,t,n):lr.test(t)?e=pr(e,10,t,n):ur.test(t)?e=pr(e,16,t,n):cr.test(t)?e=pr(e,2,t,n):sr.test(t)&&(r=\"\",e<0&&(r=\"-\",e=-e),0===(e=Math.floor(e))?e=\"0\":e<=5e5?(e=function(e,t){let n,r=\"\",o=Number(String(e).slice(-3)),i=(e-o)/1e3,a=[0,1,4,5,9,10,40,50,90,100,400,500,900].reverse(),l=[\"0\",\"I\",\"IV\",\"V\",\"IX\",\"X\",\"XL\",\"L\",\"XC\",\"C\",\"CD\",\"D\",\"CM\"].reverse();for(;o>0;)for(n=0;n<a.length;n++)if(a[n]<=o){r+=l[n],o-=a[n];break}for(n=0;n<i;n++)r=\"M\".concat(r);return t[1]!==t[1].toUpperCase()&&(r=r.toLowerCase()),r}(e,t),e=r+e):e=t+r+e.toExponential(0)),e}function mr(e,t,n){const r=nr(e);return n?r:new RegExp(r||\"\",t)}function vr(e,t,n,r){let o,i,a,l,u,c,s,f,d,p=e.pattern;var h,m;r&&(e.abbreviate=!0),h=t,(m=n)&&(m=nr(m)),h&&(h=nr(h)),d=new RegExp(\"(?:[#0]+\".concat(h,\")?[#0]+(?:\").concat(m,\"[#0]+)?\")),a=p.match(d),a=a?a[0]:\"\",l=a?p.substr(0,p.indexOf(a)):p,u=a?p.substring(p.indexOf(a)+a.length):\"\",a||(a=p?\"#\":\"##########\"),t&&t===n&&(o=a.split(n),i=o.pop(),a=o.join(\"\")+n+i,t=\"\"),c=t,t=/,/.test(n)?\"¤\":\",\",c&&(a=a.replace(mr(c,\"g\"),t)),s=n,n=\".\",s&&(a=a.replace(mr(s,\"g\"),n)),f=a.match(/#/g),f=f?f.length:0;const v=p.split(s);let y;v[1]&&(y=v[1].match(dr)),e.prefix=l||\"\",e.postfix=u||\"\",e.pattern=p,e.maxPrecision=y?y.length:2,e.percentage=or.test(p),e.numericPattern=a||\"\",e.numericRegex=new RegExp(\"\".concat(mr(t,null,!0),\"|\").concat(mr(n,null,!0)),\"g\"),e.groupTemp=c,e.decTemp=s,e.t=t,e.d=n,e.temp=f}class yr{constructor(e,t,n,r,o){this.localeInfo=e,this.pattern=t,this.thousandDelimiter=n||\",\",this.decimalDelimiter=r||\".\",this.type=o||\"numeric\",this.patternSeparator=\";\",this.abbreviations=function(e,t){if(!e||!e.qNumericalAbbreviation)return rr;const n={};return e.qNumericalAbbreviation.split(t).forEach((e=>{let t=e.split(\":\");2===t.length&&(n[t[0]]=t[1])})),n}(e,this.patternSeparator),this.prepare()}clone(){const e=new yr(this.localeInfo,this.pattern,this.thousandDelimiter,this.decimalDelimiter,this.type);return e.subtype=this.subtype,e}format(e,t,n,r){return this.prepare(t,n,r),this.formatValue(e)}prepare(e,t,n){let r;if(void 0===e&&(e=this.pattern),void 0===t&&(t=this.thousandDelimiter),void 0===n&&(n=this.decimalDelimiter),!e)return void(this._prepared={pattern:!1});this._prepared={positive:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},negative:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},zero:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"}},r=this._prepared,e=e.split(this.patternSeparator),r.positive.pattern=e[0],r.negative.pattern=e[1],r.zero.pattern=e[2],fr.test(e[0])&&(r.positive.isFunctional=!0),e[1]?fr.test(e[1])&&(r.negative.isFunctional=!0):r.negative=!1,e[2]?fr.test(e[2])&&(r.zero.isFunctional=!0):r.zero=!1;const o=\"U\"===this.type;r.positive.isFunctional||vr(r.positive,t,n,o),r.negative&&!r.negative.isFunctional&&vr(r.negative,t,n,o),r.zero&&!r.zero.isFunctional&&vr(r.zero,t,n,o)}formatValue(e){let t,n,r,o,i,a,l,u,c,s=this._prepared,f=\"\",d=\"\",p=e;if(isNaN(e))return\"\".concat(p);if(e=+e,!1===s.pattern)return e.toString();if(0===e&&s.zero)return s=s.zero,s.pattern;if(e<0&&s.negative?(s=s.negative,e=-e):s=s.positive,i=s.d,a=s.t,s.isFunctional)e=hr(e,s.pattern,i);else{if(s.percentage&&(e*=100),s.abbreviate){const t=Object.keys(this.abbreviations).map((e=>parseInt(e,10))).sort(((e,t)=>e-t));let r,o,i=t[0];for(l=0,n=Number(Number(e).toExponential().split(\"e\")[1]);i<=n&&l<t.length;)l++,i=t[l];l>0&&(r=t[l-1]),r&&n>0&&r>0?o=r:(n<0&&r<0||!r)&&(i<0&&i-n<=s.maxPrecision?o=i:r<=n&&!(i>0&&-n<=s.maxPrecision)&&(o=r)),o&&(f=this.abbreviations[o],e/=10**o)}if(r=Math.abs(e),t=s.temp,u=s.numericPattern,c=u.split(i)[1],\"I\"===this.type&&(e=Math.round(e)),o=e,c||\"#\"!==u.slice(-1)[0])if(r>=1e15||r>0&&r<=1e-14)e=r?r.toExponential(15).replace(/\\.?0+(?=e)/,\"\"):\"0\";else{const t=Number(e.toFixed(Math.min(20,c?c.length:0)).split(\".\")[0]);let n=u.split(i)[0];if(n+=i,e=tr(n,t)||\"0\",c){const t=Math.max(0,Math.min(14,c.length)),n=c.replace(/#+$/,\"\").length;let o=(\"I\"===this.type?0:r%1+1e-15).toFixed(t).slice(2).replace(/0+$/,\"\");for(l=o.length;l<n;l++)o+=\"0\";o&&(e+=i+o)}else 0===t&&(o=0)}else if(r>=10**t||r<1||r<1e-4)0===e?e=\"0\":r<1e-4||r>=1e20?(e=(e=o.toExponential(Math.max(1,Math.min(14,t))-1)).replace(/\\.?0+(?=e)/,\"\"),d=\"\"):(e=e.toPrecision(Math.max(1,Math.min(14,t)))).indexOf(\".\")>=0&&(e=(e=e.replace(e.indexOf(\"e\")<0?/0+$/:/\\.?0+(?=e)/,\"\")).replace(\".\",i));else{for(u+=i,t=Math.max(0,Math.min(20,t-Math.ceil(Math.log(r)/Math.log(10)))),l=0;l<t;l++)u+=\"#\";e=tr(u,e)}e=e.replace(s.numericRegex,(e=>e===a?s.groupTemp:e===i?s.decTemp:\"\")),o<0&&!/^-/.test(e)&&(e=\"-\".concat(e))}return s.prefix+e+d+f+s.postfix}static getStaticFormatter(){return{prepare(){},formatValue:e=>\"\".concat(e)}}}function gr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{size:n=5e3,multipleArguments:r=!1,toKey:o=(e=>e)}=t;let i,a,l=Object.create(null),u=Object.create(null),c=0,s=0;return i=r?function(){return a=o(...arguments),i.has(a)?i.get(a):i.set(a,e(...arguments))}:t=>(a=o(t),i.has(a)?i.get(a):i.set(a,e(t))),i.set=(e,t)=>(c>=n&&(delete l[u[s]],delete u[s],c--,s++),l[e]=t,u[c]=e,c++,t),i.get=e=>l[e],i.has=e=>e in l,i.clear=()=>{l=Object.create(null),u=Object.create(null),c=0,s=0},i.size=()=>c,i}function br(e,t,n,r,o){const i=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new yr(...t)}(o,e,t,n,r),a=gr(i.formatValue.bind(i),{toKey:e=>isNaN(e)?e:+e});function l(e){return a(e)}return l.format=function(e,t,n,r){return a.clear(),i.format(t,e,n,r)},l.pattern=function(e){return e&&(a.clear(),i.pattern=e,i.prepare()),i.pattern},l}const xr=\"D\",qr=\"T\",wr=\"TS\",Mr=\"IV\",kr=[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],Cr=[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"],Sr=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],Dr=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Ir(e,t){for(let n=e.length;n<t;n++)e=\"0\".concat(e);return e}function Or(e){let t=e.toString().split(\".\");return t[1]?(t=Number(\"0.\".concat(t[1])),t):0}function Er(e,t){let n,r=function(e){const t=e,n=24*Or(t),r=60*Or(n),o=60*Or(r),i=1e3*Or(o);return{d:Math.floor(t),h:Math.floor(n),m:Math.floor(r),s:Math.floor(o),f:Math.round(i)}}(e),o=r.d,i=r.h,a=r.m,l=r.s,u=r.f,c=0;/w+|t+/gi.test(t)&&(n=new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,Math.round(86400*(e-Math.floor(e))))),isNaN(n.getTime())&&(n=null)),/D+/gi.test(t)||(i+=24*o),/h+/gi.test(t)||(a+=60*i),/m+/gi.test(t)||(l+=60*a),/w+/gi.test(t)&&(c=n?n.getDay()-1:0,c<0&&(c=6));let s=\"\";return n&&(s=n.getUTCHours()>=12?\"pm\":\"am\"),{year:0,month:0,day:c,date:o,h:i,m:a,s:l,f:u,t:s}}class Ar{constructor(e,t,n){const r=e||{};if(r.qCalendarStrings||(r.qCalendarStrings={qLongDayNames:kr,qDayNames:Cr,qLongMonthNames:Sr,qMonthNames:Dr}),this.localeInfo=r,this.locale_days=r.qCalendarStrings.qLongDayNames.slice(),this.locale_days_abbr=r.qCalendarStrings.qDayNames.slice(),this.locale_months=r.qCalendarStrings.qLongMonthNames.slice(),this.locale_months_abbr=r.qCalendarStrings.qMonthNames.slice(),!t){t={[qr]:r.qTimeFmt||\"hh:mm:ss\",[xr]:r.qDateFmt||\"YYYY-MM-DD\",[wr]:r.qTimestampFmt||\"YYYY-MM-DD hh:mm:ss\"}[n]}this.pattern=t}clone(){const e=new Ar(this.localeInfo,this.pattern);return e.subtype=this.subtype,e}format(e,t){t||(t=this.pattern?this.pattern:\"YYYY-MM-DD hh:mm:ss\"),t=t.replace(/\\[.+]|\\[|]/g,\"\");const n=/t+/gi.test(t);let r;e instanceof Date?r=function(e,t){let n=e.getUTCHours(),r=e.getUTCDay()-1;return t&&(n%=12,n||(n=12)),r<0&&(r=6),{year:e.getUTCFullYear(),month:e.getUTCMonth(),day:r,date:e.getUTCDate(),h:n,m:e.getUTCMinutes(),s:e.getUTCSeconds(),f:e.getUTCMilliseconds(),t:e.getUTCHours()>=12?\"pm\":\"am\"}}(e,n):(e<0&&(e=-e,t=\"-\".concat(t)),r=Er(e,t));const o=(i=this,a=r,{\"Y+|y+\":{Y:\"\".concat(Number(\"\".concat(a.year).slice(-2))),YY:Ir(\"\".concat(a.year).slice(-2),2),YYY:Ir(\"\".concat(a.year).slice(-3),3),def:e=>Ir(\"\".concat(a.year),e.length)},\"M+\":{M:a.month+1,MM:Ir(\"\".concat(a.month+1),2),MMM:i.locale_months_abbr[a.month],def:i.locale_months[a.month]},\"W+|w+\":{W:a.day,WW:Ir(\"\".concat(a.day),2),WWW:i.locale_days_abbr[a.day],def:i.locale_days[a.day]},\"D+|d+\":{D:a.date,def:e=>Ir(\"\".concat(a.date),e.length)},\"h+|H+\":{h:a.h,def:e=>Ir(\"\".concat(a.h),e.length)},\"m+\":{m:a.m,def:e=>Ir(\"\".concat(a.m),e.length)},\"s+|S+\":{s:a.s,def:e=>Ir(\"\".concat(a.s),e.length)},\"f+|F+\":{def(e){let t=\"\".concat(a.f),n=e.length-t.length;if(n>0)for(let e=0;e<n;e++)t+=\"0\";else n<0&&(t=t.slice(0,e.length));return t}},\"t{1,2}|T{1,2}\":{def(e){let t=a.t;return e[0].toUpperCase()===e[0]&&(t=t.toUpperCase()),t=t.slice(0,e.length),t}}});var i,a;const l=[];for(const e in o)Object.prototype.hasOwnProperty.call(o,e)&&l.push(e);const u=new RegExp(l.join(\"|\"),\"g\");return t.replace(u,(e=>{let t,n,r;for(n in o)if(Object.prototype.hasOwnProperty.call(o,n)&&(t=new RegExp(n),t.test(e)))break;if(!t)return\"\";for(const t in o[n])if(t===e||t.toLowerCase()===e){r=o[n][t],void 0===r&&(r=o[n][t.toLowerCase()]);break}return void 0===r&&(r=o[n].def),\"function\"==typeof r&&(r=r(e)),r}))}}function Nr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Ar(...t)}function Lr(e){return new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,0,Math.round(864e5*(e-Math.floor(e)))))}function Tr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"TS\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=Nr(n,e,t),o=gr(r.format.bind(r),{toKey:e=>\"object\"==typeof e&&\"function\"==typeof e.getTime?e.getTime():e});function i(e){return t!==Mr?Lr(e):e}function a(e){return e=i(e),o(e)}return a.format=function(e,t){return o.clear(),t=i(t),r.format(t,e)},a.locale=function(n){return r=Nr(n,e,t),o=gr(r.format.bind(r),{toKey:e=>\"object\"==typeof e?e.getTime():e}),this},a.qtype=function(e){return void 0!==e&&(t=e,o.clear()),t},a}function Pr(e,t){if(e&&e.qNumFormat&&-1!==[\"D\",\"T\",\"TS\",\"IV\"].indexOf(e.qNumFormat.qType))return Tr(e.qNumFormat.qFmt,e.qNumFormat.qType,t);let n=\"#\",r=t&&void 0!==t.qThousandSep?t.qThousandSep:\",\",o=t&&void 0!==t.qDecimalSep?t.qDecimalSep:\".\",i=\"U\",a=e&&!!e.qIsAutoFormat;return e&&e.qNumFormat?(n=e.qNumFormat.qFmt||n,r=e.qNumFormat.qThou||r,o=e.qNumFormat.qDec||o,i=e.qNumFormat.qType||i,a=a&&-1===[\"M\"].indexOf(e.qNumFormat.qType)):a=!0,(a||\"U\"===i)&&(n=\"#\".concat(o,\"##\"),i=\"U\"),br(n,r,o,i,t)}function jr(){let e,{meta:t,id:n,key:r,localeInfo:o,fieldExtractor:i,value:a,type:l,sourceField:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const c=a||(\"dimension\"===l?e=>null==e?void 0:e.qElemNo:e=>null==e?void 0:e.qValue),s=e=>(null==e?void 0:e.qText)||\"\",f=\"dimension\"===l?\"first\":\"avg\",d=Pr(t,o),p=\"dimension\"===l?\"first\":(e,t)=>d(t),h={id:()=>n,key:()=>r,raw:()=>t,title:()=>t.qFallbackTitle||t.label,type:()=>l,origin:()=>u,items:()=>(e||(e=i(h)),e),min:()=>t.qMin,max:()=>t.qMax,value:c,label:s,reduce:f,reduceLabel:p,formatter:()=>d,tags:()=>t.qTags};return h}function Fr(e,t,n,r,o){return(t[e]||[]).map(((t,i)=>{const a=\"\".concat(r?\"\".concat(r,\"/\"):\"\").concat(e,\"/\").concat(i),l={instance:jr(hn({id:\"\".concat(n?\"\".concat(n,\"/\"):\"\").concat(a),key:a,meta:t},o))};return l.attrDims=Fr(\"qAttrDimInfo\",t,n,a,hn({},o,{value:e=>null==e?void 0:e.qElemNo,type:\"dimension\"})),l.attrExps=Fr(\"qAttrExprInfo\",t,n,a,hn({},o,{value:e=>null==e?void 0:e.qNum,type:\"measure\"})),l.measures=Fr(\"qMeasureInfo\",t,n,a,hn({},o,{value:e=>null==e?void 0:e.qValue,type:\"measure\"})),l}))}function Hr(){let{key:e,data:t,config:n={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r={fields:[],wrappedFields:[],allFields:[],virtualFields:[]},o=t;if(!o)throw new Error('Missing \"data\" input');if(!o.qDimensionInfo)throw new Error('The \"data\" input is not recognized as a hypercube');const i=Hr.util,a={cache:r,cube:o,localeInfo:n.localeInfo,fieldExtractor:null,pages:null,hierarchy:()=>null,virtualFields:n.virtualFields},l={key:()=>e,raw:()=>o,field:e=>Hn(e,a),fields:()=>r.fields.slice(),extract:e=>a.extractor(e,l,r,i),hierarchy:e=>a.hierarchy(e,l,r,i),_cache:()=>r};\"K\"===o.qMode||\"T\"===o.qMode||!o.qMode&&o.qNodesOnDim?(a.extractor=Jn,a.hierarchy=Zn,a.pages=\"K\"===o.qMode?o.qStackedDataPages:o.qTreeDataPages):\"S\"===o.qMode?(a.extractor=gn,a.pages=o.qDataPages,a.hierarchy=Zn):a.extractor=()=>[],a.fieldExtractor=e=>a.extractor({field:e},l,r,i);const u=\"S\"===o.qMode?e=>e.qElemNumber:void 0,c=\"S\"===o.qMode?e=>e.qNum:void 0;r.wrappedFields.push(...Fr(\"qDimensionInfo\",o,e,\"\",hn({},a,{value:u,type:\"dimension\"}))),r.wrappedFields.push(...Fr(\"qMeasureInfo\",o,e,\"\",hn({},a,{value:c,type:\"measure\"}))),r.fields=r.wrappedFields.map((e=>e.instance));const s=e=>{e.forEach((e=>{r.allFields.push(e.instance),s(e.measures),s(e.attrDims),s(e.attrExps)}))};return s(r.wrappedFields),(n.virtualFields||[]).forEach((t=>{const n=l.field(t.from),o=jr(nn({meta:n.raw(),id:\"\".concat(e,\"/\").concat(t.key),sourceField:n,fieldExtractor:e=>a.extractor({field:e},l,r,i),key:t.key,type:n.type(),localeInfo:a.localeInfo,value:n.value},t.override||{}));r.virtualFields.push(o)})),r.allFields.push(...r.virtualFields),l}const zr=[[\"qHyperCube\",\"qHyperCubeDef\"],[\"qTreeData\",\"qTreeDataDef\"],[\"qDimensionInfo\",\"qDimensions\"],[\"qMeasureInfo\",\"qMeasures\"],[\"qAttrDimInfo\",\"qAttributeDimensions\"],[\"qAttrExprInfo\",\"qAttributeExpressions\"]],Rr=/\\/qDimensionInfo(?:\\/(\\d+))?/,Vr=/\\/qMeasureInfo\\/(\\d+)/,_r=/\\/qAttrDimInfo\\/(\\d+)(?:\\/(\\d+))?/,Br=/\\/qAttrExprInfo\\/(\\d+)/,Yr=/\\/?qHyperCube/,$r=/\\/?qTreeData/,Ur=e=>\"\".concat(e.substr(0,e.indexOf(\"/qHyperCubeDef\")+14)),Kr=e=>\"\".concat(e.substr(0,e.indexOf(\"/qTreeDataDef\")+13));function Gr(e,t){let n=e,r=-1,o=-1,i=\"\",a=e=>e;Yr.test(e)?(i=\"\".concat(n.substr(0,n.indexOf(\"qHyperCube\")+10)),a=Ur):$r.test(e)&&(i=\"\".concat(n.substr(0,n.indexOf(\"qTreeData\")+9)),a=Kr);let l=!0;if(Rr.test(e)&&(r=+Rr.exec(e)[1]),Vr.test(e)&&(o=+Vr.exec(e)[1]),_r.test(e)){o=-1,r=0;const e=+_r.exec(n)[2];isNaN(e)||(r=e,n=n.replace(/\\/\\d+$/,\"\")),l=!1}if(Br.test(e)){const e=o;if(t){o=0;const a=Pn(i,t);o+=(a.qMeasureInfo||[]).length,r>-1?(o=a.qDimensionInfo.slice(0,r).reduce(((e,t)=>e+t.qAttrExprInfo.length),o),r=-1):(o=a.qDimensionInfo.reduce(((e,t)=>e+t.qAttrExprInfo.length),o),o=a.qMeasureInfo.slice(0,e).reduce(((e,t)=>e+t.qAttrExprInfo.length),o)),o+=+Br.exec(n)[1]}else r>-1?(r=-1,o=+Br.exec(n)[1]):o+=+Br.exec(n)[1]+1}return zr.forEach((e=>{let[t,r]=e;n=n.replace(t,r)})),l&&(n=a(n)),n&&\"/\"!==n[0]&&(n=\"/\".concat(n)),{measureIdx:o,dimensionIdx:r,path:n}}function Wr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r=t.byCells,o=t.primarySource,i=[],a={},l=e.isActive();let u=!1;if(e.brushes().forEach((e=>{const t=Gr(e.id,n);if(\"range\"===e.type&&t.measureIdx>-1&&t.dimensionIdx>-1){const n=e.brush.ranges();n.length&&(u=!0,a.multiRangeSelectTreeDataValues||(a.multiRangeSelectTreeDataValues={path:t.path,ranges:[]}),n.forEach((e=>a.multiRangeSelectTreeDataValues.ranges.push({qMeasureIx:t.measureIdx,qDimensionIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}}))))}else{if(\"range\"===e.type&&t.measureIdx>-1){const n=e.brush.ranges();n.length&&(u=!0,a.rangeSelectHyperCubeValues||(a.rangeSelectHyperCubeValues={path:t.path,ranges:[]}),n.forEach((e=>a.rangeSelectHyperCubeValues.ranges.push({qMeasureIx:t.measureIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}}))))}if(\"range\"===e.type&&t.dimensionIdx>-1){const n=e.brush.ranges();n.length&&(u=!0,a.selectHyperCubeContinuousRange||(a.selectHyperCubeContinuousRange={path:t.path,ranges:[]}),n.forEach((e=>a.selectHyperCubeContinuousRange.ranges.push({qDimIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!1}}))))}if(\"value\"===e.type&&t.dimensionIdx>-1)if(r)if(n&&n.qHyperCube&&(\"P\"===n.qHyperCube.qMode||\"T\"===n.qHyperCube.qMode||\"K\"===n.qHyperCube.qMode)){const r=n.qHyperCube,i=r.qNoOfLeftDims,l=r.qEffectiveInterColumnSortOrder.indexOf(t.dimensionIdx);if(a.selectPivotCells||(a.selectPivotCells={path:t.path,cells:[]}),e.id===o||!o){const n=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e)));(0===i||l>=i)&&i>-1?n.forEach((e=>{a.selectPivotCells.cells.push({qType:\"T\",qCol:e,qRow:l-i})})):n.forEach((e=>{a.selectPivotCells.cells.push({qType:\"L\",qCol:t.dimensionIdx,qRow:e})})),u=!!a.selectPivotCells.cells.length}}else a.selectHyperCubeCells||(a.selectHyperCubeCells={path:t.path,cols:[]}),a.selectHyperCubeCells.cols.push(t.dimensionIdx),e.id!==o&&(o||a.selectHyperCubeCells.values)||(a.selectHyperCubeCells.values=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e))),u=!!a.selectHyperCubeCells.values.length);else{const n=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e)));u=!!n.length,i.push({params:[t.path,t.dimensionIdx,n,!1],method:\"selectHyperCubeValues\"})}}})),!u&&l)return[{method:\"resetMadeSelections\",params:[]}];var c;a.rangeSelectHyperCubeValues&&i.push({method:\"rangeSelectHyperCubeValues\",params:[a.rangeSelectHyperCubeValues.path,a.rangeSelectHyperCubeValues.ranges,[],null===(c=t.orMode)||void 0===c||c]});return a.selectHyperCubeContinuousRange&&i.push({method:\"selectHyperCubeContinuousRange\",params:[a.selectHyperCubeContinuousRange.path,a.selectHyperCubeContinuousRange.ranges]}),a.selectHyperCubeCells&&i.push({method:\"selectHyperCubeCells\",params:[a.selectHyperCubeCells.path,a.selectHyperCubeCells.values,a.selectHyperCubeCells.cols]}),a.selectPivotCells&&i.push({method:\"selectPivotCells\",params:[a.selectPivotCells.path,a.selectPivotCells.cells]}),a.multiRangeSelectTreeDataValues&&i.push({method:\"multiRangeSelectTreeDataValues\",params:[a.multiRangeSelectTreeDataValues.path,a.multiRangeSelectTreeDataValues.ranges]}),i}function Xr(e){Hr.util=e.data(\"matrix\").util,e.data(\"q\",Hr),e.formatter(\"q-number\",br),e.formatter(\"q-time\",Tr)}function Zr(e){var t=Rt(e.layout||{},e.path.split(\"/\").join(\".\"));if(!t)return!1;var n=t.qIsOneAndOnlyOne;return void 0!==n&&n}function Jr(e){var t,n,r,o=e.selections,i=e.picassoSelections,a=e.layout,l={lockedDimensions:[],singleSelectDimensions:[]};null!=o&&null!==(t=o.isModal)&&void 0!==t&&t.call(o)&&o.confirm(),i.layout(a);var u=(null!==(n=null==a?void 0:a.qHyperCube)&&void 0!==n?n:{}).qDimensionInfo,c=void 0===u?[]:u;return l.lockedDimensions=c.map((function(e){return!!e.qLocked})),l.singleSelectDimensions=c.map((function(e,t){return Zr({layout:a,path:\"qHyperCube/qDimensionInfo/\".concat(t)})})),l.singleSelectIndex=function(e){var t,n=((null==e?void 0:e.qHyperCube)||{}).qDimensionInfo,r=void 0===n?[]:n;return null!==(t=r.map((function(e,t){var n;return!(e.qLocked||(null===(n=e.qCardinalities)||void 0===n?void 0:n.qHypercubeCardinal)<=1)&&t})).filter((function(e){return\"number\"==typeof e}))[0])&&void 0!==t?t:Math.max(r.length-1,0)}(a),l.canSelect=0===c.length||c.some((function(e){return!e.qLocked})),l.dimensionLocked=!(null===(r=c[0])||void 0===r||!r.qLocked),l}function Qr(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(null==e||!e.length)return!1;var t=e.filter((function(e){return\"object\"===o(e.data)&&Array.isArray(e.data.fields)})).every((function(e){return e.data.fields.every((function(e){var t=e.raw();return!(!t.qLocked&&t.qCardinal)}))}));return t}function eo(e){var t=e.brush,n=e.colorField,r=e.legendAlias,o=e.useLegendCube,i=void 0!==o&&o;!n||/qAttrDimInfo/.test(n)?(t.removeKeyAlias(\"attrDim/qDimensionInfo/0\"),r&&t.removeKeyAlias(r),t.addKeyAlias(\"attrDim/qDimensionInfo/0\",\"qHyperCube/\".concat(n))):i&&t.addKeyAlias(r,\"qHyperCube/\".concat(n))}Xr.qBrushHelper=Wr,Xr.selections=Wr;var to=\"Enter\",no=\"Escape\",ro=\"Esc\",oo=\"Shift\";function io(e){var t=e.brush,n=e.getConfig;return{interceptor:function(e){var r=t.brushes(),o=n(),i=o.allowSimultaneous,a=o.layout,l=void 0===a?{}:a;r.forEach((function(n){var r,o,a;(\"range\"===n.type||null!==(r=e[0])&&void 0!==r&&r.key&&(null===(o=e[0])||void 0===o?void 0:o.key)!==n.id&&0!==i.indexOf(null===(a=e[0])||void 0===a?void 0:a.key))&&t.clear([])}));var u=e.filter((function(e){return-2!==e.value}));if(u.length>1){var c=function(e){var t=e.layout,n=void 0===t?{}:t,r=e.values,o=void 0===r?[]:r;if(null==o||!o.length)return[];var i=Array.from(new Set(o.map((function(e){return e.key})))),a=[];return i.forEach((function(e){var t=Zr({layout:n,path:e}),r=o.filter((function(t){return t.key===e})),i=t?[r.pop()]:r;a.push.apply(a,s(i))})),a.filter(Boolean)}({layout:l,values:u});return c}return u},rangeInterceptor:function(e){var r=t.brushes(),o=n().allowSimultaneous;return r.filter((function(e){return\"value\"===e.type})).length?(t.clear([]),e):(r.forEach((function(n){var r=n.id===e[0].key||o.includes(n.id)&&o.includes(e[0].key);\"range\"!==n.type||r||t.clear([])})),e)}}}var ao=function e(t,n){return n[t]?e(t+1,n):t},lo=function(e,t){var n=t.reduce((function(e,t){return e[t]=!0,e}),{});return e.reduce((function(e,t,r){var o=ao(r,n);return n[o]=!0,e[r]=o,e}),{})};function uo(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layout,n=e.filtered,r=void 0===n?{}:n,o=(null==t?void 0:t.qHyperCube)||{},i=o.qDimensionInfo,a=void 0===i?[]:i,l=o.qMeasureInfo,u=void 0===l?[]:l;return{dimensions:lo(a,r.dimensions||[]),measures:lo(u,r.measures||[])}}var co=\"selectHyperCubeValues\",so=\"selectHyperCubeContinuousRange\";function fo(e){var t=e.selection,n=e.fieldMap,r=t.method,o=t.params;if(r===co){var i=n.dimensions[o[1]];void 0!==i&&(o[1]=i)}r===so&&o[1].forEach((function(e){var t=n.dimensions[e.qDimIx];void 0!==t&&(e.qDimIx=t)}));return t}var po=[],ho=0,mo=function(e){var t=po.filter((function(e){var t;return null===(t=e.selections)||void 0===t?void 0:t.isActive()}));t.length&&(e.key===to?t.forEach((function(e){return e.selections.confirm()})):e.key!==no&&e.key!==ro||t.forEach((function(e){return e.selections.cancel()})))},vo=function(){document.addEventListener(\"keyup\",mo)},yo=function(){document.removeEventListener(\"keyup\",mo)},go=function(e,t){Object.keys(t).forEach((function(n){e.on(n,t[n])}))},bo=function(e,t){Object.keys(t).forEach((function(n){e.removeListener(n,t[n])}))};function xo(e,t,n){if(t&&void 0!==n&&\"selectHyperCubeContinuousRange\"===e.method){var r=e.params;if(r&&r[1]&&r[1][0]){var o=r[1][0],i=o.qDimIx,a=o.qRange;\"undefined\"!==i&&a&&!1===a.qMaxInclEq&&a.qMax>=n&&(a.qMaxInclEq=!0)}}}function qo(e){var t=e.chart,n=e.document,r=e.selectionInfo,o=e.eventName,i=e.componentName,a=e.brushName,l=void 0===a?\"selection\":a,u=e.emit,c=void 0===u?\"rangeClear\":u,s=r.event===o,f=n.querySelector(\"[data-key='\".concat(i,\"-edge-0']\"));if(s||!f)return!1;var d=t.component(i);return!!d&&(d.emit(c),\"string\"==typeof l&&t.brush(l).clear(),d)}function wo(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.eventName,i=void 0===o?\"discreteRange\":o,a=e.componentName,l=void 0===a?\"discrete-range-brush\":a,u=e.cleared;return qo({selectionInfo:t,chart:n,document:r,eventName:void 0!==u&&u?void 0:i,componentName:l,emit:\"areaClear\",brushName:e.brushName})}function Mo(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.eventName,i=void 0===o?\"continuousRange\":o,a=e.componentName,l=void 0===a?\"continuous-range-brush\":a,u=e.cleared;return qo({selectionInfo:t,chart:n,document:r,eventName:void 0!==u&&u?void 0:i,componentName:l,brushName:e.brushName})}function ko(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.componentName,i=void 0===o?\"minor-range-brush\":o,a=e.eventName,l=void 0===a?\"minorRange\":a,u=e.cleared,c=void 0!==u&&u,s=e.brushName,f=qo({selectionInfo:t,chart:n,document:r,eventName:c?void 0:l,componentName:i,brushName:void 0!==s&&s});if(f){var d=f.settings.settings,p=d.scale,h=d.brush,m=n.scale(p).data().fields.map((function(e){return e.id()})),v=n.brush(h),y=v.brushes().filter((function(e){return\"range\"===e.type&&m.some((function(t){return t===e.id}))}));v&&y.length&&y.forEach((function(e){v.removeRanges(e.brush.ranges().map((function(t){return{key:e.id,range:t}})))}))}}function Co(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.selections,i=e.eventName,a=void 0===i?\"xAxis\":i,l=e.cleared;qo({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:a,componentName:\"\".concat(a,\"-range-brush\"),emit:\"areaClear\",brushName:!1})&&o.clear()}function So(e){var t=e.chart,n=e.selectionInfo,r=e.selections,o=e.events,i=void 0===o?[\"tap\"]:o,a=e.brushNames,l=void 0===a?[]:a;if(n&&i.includes(n.event)){var u=n.currentComponent;n.previousComponent!==u&&(r.clear(),l.forEach((function(e){return t.brush(e).end()})))}}function Do(e){var t=e.selectionInfo,n=e.chart,r=e.document,o=e.selections,i=e.eventName,a=void 0===i?\"legendRange\":i,l=e.componentName,u=void 0===l?\"legend-range-brush\":l,c=e.cleared,s=void 0!==c&&c,f=e.brushName;qo({selectionInfo:t,chart:n,document:r,eventName:s?void 0:a,componentName:u,brushName:void 0!==f&&f})&&o.clear()}var Io=[\"chart\",\"document\",\"selections\",\"selectionInfo\"],Oo=function(e){e.chart,e.document,e.selections,e.selectionInfo;var t=u(e,Io);t.clearDiscrete(),t.clearContinuous(),t.clearMinor(),t.clearRange(),t.clearTap(),t.clearLegend()};function Eo(e){var n=e.selectionEvents,r=e.selections,o=e.selectionInfo,i=e.clear,a=e.chart,l=e.document,u=n.start,c={selections:r,selectionInfo:o,chart:a,document:l},s=function(e){return Object.assign(o,e||{})},f=function(e){var n=e.event,r=e.components;return function(){return function(e){var n=e.selectionInfo,r=void 0===n?{}:n,o=e.setSelectionInfo,i=e.clear,a=e.event,l=e.components,u=void 0===l?[]:l;o(t(t({},r),{},{event:a,components:u.map((function(e){return e.key})).filter(Boolean)})),i()}({event:n,components:r,clear:i,chart:a,selectionInfo:o,setSelectionInfo:s})}};return\"function\"==typeof u?function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];u(t(t({defaultFunc:f({event:e,components:n}),setSelectionInfo:s,clear:i},c),{},{event:e,components:n}))}:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];f({event:e,components:t})()}}function Ao(e){var t,n=e.lasso;null!=n&&null!==(t=n.active)&&void 0!==t&&t.call(n)&&(null==n||n.action(!1))}function No(e){var n,r=e.chart,o=e.selectionInfo,i=e.selectionActions,a=e.actions,l=void 0===a?{}:a,u=e.selections,s=e.selectionEvents;if(!1===i||!1===s)return function(){};var f=i.reset,d=void 0===f?Ao:f,p=i.clear,h=!1!==p&&function(e){var n=e.clear,r=void 0===n?Oo:n,o=e.selections,i=e.selectionInfo,a=e.chart;return function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).cleared,n={selections:o,selectionInfo:i,chart:a,document:document,cleared:e};return r(t({clearDiscrete:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return wo(t(t({},n),e))},clearContinuous:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Mo(t(t({},n),e))},clearMinor:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ko(t(t({},n),e))},clearRange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Co(t(t({},n),e))},clearTap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return So(t(t({},n),e))},clearLegend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Do(t(t({},n),e))}},n))}}({clear:p,selections:u,selectionInfo:o,chart:r}),m=function(e){var t=e.chart,n=e.actions,r=e.reset,o=e.clear,i=!1,a={deactivated:function(e){var t=(n||{}).lasso;r({e:e,lasso:void 0!==t&&t})},canceled:function(e){var i=(n||{}).lasso;r({e:e,lasso:void 0!==i&&i}),o({e:e,chart:t,document:document})},cleared:function(e){i||(i=!0,o({e:e,chart:t,document:document,cleared:!0}),i=!1)}};return!1===r&&delete a.deactivated,!1===o&&delete a.cleared,!1===r&&!1===o&&delete a.canceled,a}({chart:r,clear:h,reset:d,actions:l}),v={};Object.entries(m).forEach((function(e){var t=c(e,2),n=t[0],r=t[1];v[n]=function(e,t){return t?function(n){return t({event:n,defaultFunc:e})}:e}(r,s[n])}));var y=Eo({selectionEvents:s,selections:u,selectionInfo:o,clear:h,chart:r,document:document});return null==l||null===(n=l.select)||void 0===n||n.on(\"start\",y),Object.entries(v).forEach((function(e){var t=c(e,2),n=t[0],r=t[1];null==u||u.on(n,r)})),function(){var e;null==l||null===(e=l.select)||void 0===e||e.removeListener(\"start\",y),Object.entries(v).forEach((function(e){var t=c(e,2),n=t[0],r=t[1];null==u||u.removeListener(n,r)}))}}function Lo(e){var t=e.chart,n=e.selectionActions,r=e.brush,o=e.actions,i=e.selectionInfo,a=e.selections,l=e.selectionEvents,u=function(e){var t=e.brush,n=e.chart,r=e.selectionInfo,o=e.brushEvents,i=void 0===o?{}:o,a=Object.entries(i).map((function(e){var o=c(e,2),i=o[0],a=o[1],l=function(){return a({chart:n,selectionInfo:r})};return t.on(i,l),[i,l]}));return function(){a.forEach((function(e){var n=c(e,2),r=n[0],o=n[1];t.removeListener(r,o)}))}}({brush:r,chart:t,selectionInfo:i,brushEvents:e.brushEvents}),s=No({chart:t,selectionInfo:i,selectionActions:n,actions:o,selections:a,selectionEvents:l}),f=function(e){var t=e.actions;if(null==t||!t.lasso)return function(){};var n=!1,r=function(e){n||e.key!==oo||(t.lasso.action(!0),n=!0)},o=function(e){e.key===oo&&(t.lasso.action(!1),n=!1)};return document.addEventListener(\"keydown\",r),document.addEventListener(\"keyup\",o),function(){document.removeEventListener(\"keydown\",r),document.removeEventListener(\"keyup\",o)}}({actions:o});return function(){u(),s(),f()}}var To=[{key:\"qHyperCube/qDimensionInfo/0:numeric\",includeMax:!1}];function Po(e){var t=e.chart,n=e.actions,r=e.selections,o=e.picassoQ,i=e.config,a=i.allowSimultaneous,l=void 0!==a&&a,u=i.majorScale,f=void 0===u?void 0:u,d=i.selectionActions,p=void 0===d?{}:d,h=p.clear,m=p.reset,v=i.selectionEvents,y=void 0===v?{deactivated:void 0,canceled:void 0,cleared:void 0,start:void 0}:v,g=i.brushEvents,b=void 0===g?{}:g,x=i.brushName,q=void 0===x?\"selection\":x,w=i.brushMaxListeners,M=void 0===w?20:w,k=i.brushRanges,C=void 0!==k&&k,S=i.interceptors,D=void 0===S?{}:S,I=i.selectionsFn,O=void 0===I?o.selections:I,E=t.brush(q);if(\"number\"==typeof M&&E.setMaxListeners(M),C){var A=!0===C?To:C;E.configure({ranges:A})}var N={canSelect:!0,getIsSelectionLocked:!1,isInnerDimensionLocked:!1,lockedDimensions:[],singleSelectIndex:0,selectionInfo:{colorField:void 0,components:[],event:void 0,currentComponent:void 0,previousComponent:void 0}},L=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.selections,r=t.brush,o=t.majorScale,i=t.actions,a=t.selectionsFn,l=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).path,u=void 0===l?\"/qHyperCubeDef\":l;if(!n)return{layout:function(){},filteredFields:function(){},allowSimultaneous:function(){},release:function(){}};var c=++ho,s=null,f={dimensions:[],measures:[]},d=[],p={};n.on=n.on.bind(n),n.isActive=n.isActive.bind(n),n.addListener=n.addListener.bind(n),n.removeListener=n.removeListener.bind(n);var h=io({brush:r,getConfig:function(){return{layout:s,allowSimultaneous:d}}}),m=h.rangeInterceptor,v=h.interceptor;r.intercept(\"set-ranges\",m),r.intercept(\"toggle-ranges\",m),r.intercept(\"toggle-values\",v),r.intercept(\"set-values\",v),r.intercept(\"add-values\",v),r.on(\"start\",(function(){return n.begin(u)}));var y={activate:function(){},deactivated:function(){return r.end()},cleared:function(){return r.clear()},canceled:function(){return r.end()}};go(n,y);var g=null==o||null===(e=o.max)||void 0===e?void 0:e.call(o);return null!=i&&i.select?(i.select.on(\"start\",(function(){var e;r.start(),\"function\"==typeof i.select.getBrushOptions&&(p=(e=i.select).getBrushOptions.apply(e,arguments))})),i.select.on(\"end\",(function(){var e=a(r,p,s),t=uo({layout:s,filtered:f});e.forEach((function(e){var r=fo({selection:e,fieldMap:t});xo(r,i.select.brushSelectionIncludeMax,g),n.select(r)}))}))):r.on(\"update\",(function(){var e=a(r,p,s),t=uo({layout:s,filtered:f});e.forEach((function(e){n.select(fo({selection:e,fieldMap:t}))}))})),0===po.length&&vo(),po.push({key:c,selections:n}),{layout:function(e){s=e},filteredFields:function(e){f=e},allowSimultaneous:function(e){d=e},release:function(){s=null;var e=po.indexOf(po.filter((function(e){return e.key===c}))[0]);-1!==e&&po.splice(e,1),po.length||yo(),bo(n,y)}}}({brush:E,majorScale:f,actions:n,selections:r,picassoQ:o,selectionsFn:O});!function(e){var t=e.brush,n=e.interceptors,r=void 0===n?{}:n;Object.entries(r).forEach((function(e){var n=c(e,2),r=n[0],o=n[1];(Array.isArray(o)?o:[o]).forEach((function(e){t.intercept(r,e)}))}))}({brush:E,interceptors:D});var T=Lo({chart:t,brush:E,actions:n,selections:r,selectionInfo:N.selectionInfo,selectionActions:{clear:h,reset:m},selectionEvents:y,brushEvents:b});if(l){var P=!0===l?s(Array(15)).map((function(e,t){return\"qHyperCube/qMeasureInfo/\".concat(t)})):l;L.allowSimultaneous(P)}return{unbindEvents:T,state:N,picassoSelections:L,brush:E}}var jo=[\"colorField\",\"useLegendCube\"];function Fo(e){var n=e.chart,r=e.selections,o=e.actions,i=void 0!==o&&o,a=e.config,l=void 0===a?{}:a,c=Po({chart:n,actions:i,selections:r,picassoQ:Xr,config:l}),s=c.unbindEvents,f=c.state,d=c.picassoSelections,p=c.brush,h=l.custom,m=void 0===h?{}:h,v=l.legendAlias,y=void 0===v?void 0:v,g=l.setBrushAliases,b=void 0===g?eo:g;return{getIsDimensionLocked:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return f.lockedDimensions[e]},getIsSelectionLocked:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=null==r||null===(t=r.isLocked)||void 0===t?void 0:t.call(r))&&void 0!==e?e:Qr(n)},getIsSingleSelect:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f.singleSelectIndex;return f.singleSelectDimensions[e]},getCanSelect:function(){return f.canSelect},getSelectionsObject:function(){return r},getSelectionInfo:function(){return f.selectionInfo},setLayout:function(e){var t=Jr({selections:r,picassoSelections:d,layout:e});Object.assign(f,t)},setFilteredFields:function(e){d.filteredFields(e)},setBrushAliases:function(e){var n=e.colorField,r=e.useLegendCube,o=void 0!==r&&r,i=u(e,jo),a=t({useLegendCube:o,colorField:n,brush:p,legendAlias:y},i);b(t(t({},a),{},{defaultFunc:function(){return eo(a)}}))},destroy:function(){s(),d.release()},custom:t({},m)}}var Ho=\"'Source Sans Pro', 'Arial', 'sans-serif'\",zo=\"#333333\",Ro=\"#595959\",Vo=\"#737373\",_o=\"#cccccc\",Bo=\"#e6e6e6\";function Yo(e){var t={};return[].concat(s(e),s([[\"\",\"\",\"color\"],[\"object\",\"\",\"fontFamily\"],[\"object\",\"axis.label.name\",\"color\",Ro],[\"object\",\"axis.label.name\",\"fontFamily\",Ho],[\"object\",\"axis.label.name\",\"fontSize\",\"12px\"],[\"object\",\"axis.line.major\",\"color\",_o],[\"object\",\"axis.line.minor\",\"color\",Bo],[\"object\",\"axis.title\",\"color\"],[\"object\",\"axis.title\",\"fontFamily\",Ho],[\"object\",\"axis.title\",\"fontSize\",\"13px\"],[\"object\",\"grid.line.highContrast\",\"color\",Bo],[\"object\",\"grid.line.major\",\"color\",_o],[\"object\",\"grid.line.minor\",\"color\",Bo],[\"object\",\"label.value\",\"color\",Ro],[\"object\",\"label.value\",\"fontFamily\",Ho],[\"object\",\"label.value\",\"fontSize\",\"12px\"],[!1,\"label.value\",\"darkColor\",Ro],[!1,\"label.value\",\"lightColor\",Bo],[\"object\",\"outOfRange\",\"color\",\"#999\"],[\"object\",\"legend.title\",\"color\",zo],[\"object\",\"legend.title\",\"fontFamily\",Ho],[\"object\",\"legend.title\",\"fontSize\",\"15px\"],[\"object\",\"legend.label\",\"color\",Ro],[\"object\",\"legend.label\",\"fontFamily\",Ho],[\"object\",\"legend.label\",\"fontSize\",\"13px\"],[\"object\",\"referenceLine.label.name\",\"color\",zo],[\"object\",\"referenceLine.label.name\",\"fontFamily\",Ho],[\"object\",\"referenceLine.label.name\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"color\",Bo],[\"object\",\"referenceLine.outOfBounds\",\"fontFamily\",Ho],[\"object\",\"referenceLine.outOfBounds\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"backgroundColor\",Vo,function(e){return\"transparent\"===e?Vo:e}]])).reduce((function(e,n){var r=\"\".concat(n[0],\"-\").concat(n[1],\"-\").concat(n[2],\"}\");return t[r]||(t[r]=!0,e.push(n)),e}),[]).sort((function(e,t){return(e[0].split?e[0].split(\".\").length:0)-(t[0].split?t[0].split(\".\").length:0)}))}var $o=function(e){return e};function Uo(e){var t=e.theme,n=e.id,r=e.transform,o=e.extend,i=e.matrix,a={},l=r.reduce((function(e,t){var n=c(t,2),r=n[0],o=n[1];return e[r]=o,e}),{});return i.forEach((function(e){var r=c(e,5),o=r[0],i=r[1],u=r[2],s=r[3],f=r[4],d=void 0===f?function(e){return e}:f,p=function(e){var t=e.theme,n=e.base,r=e.path,o=e.attribute,i=e.defaultValue,a=void 0===i?void 0:i;if(!t||!1===n)return a;var l=t.getStyle(n,r,o);return void 0===l?a:l}({theme:t,base:\"object\"===o&&n?\"\".concat(\"object\",\".\").concat(n):o,path:i,attribute:u,defaultValue:s}),h=(l[\"\".concat(i,\".\").concat(u)]||$o)(d(p));_t(a,[i,u].filter(Boolean).join(\".\"),h)})),o.forEach((function(e){var t=c(e,2),n=t[0],r=t[1];_t(a,n,r)})),a}function Ko(e){var t=e.theme,n=e.config,r=void 0===n?{}:n,o=r.id,i=r.resolve,a=void 0===i?[]:i,l=r.transform,u=void 0===l?[]:l,c=r.extend,s=void 0===c?[]:c,f={theme:t,matrix:Yo(a),styles:void 0};return f.styles=Uo({theme:t,id:o,transform:u,extend:s,matrix:f.matrix}),{getStyles:function(){return f.styles},getTheme:function(){return f.theme},setTheme:function(e){f.theme=e,f.styles=Uo({theme:e,id:o,transform:u,extend:s,matrix:f.matrix})}}}var Go={NOOP:function(){},FALSE:function(){return!1},ARRAY:function(){return[]},OBJECT:function(){return{}}};var Wo=\"chart-modules-tooltip\",Xo=\"#\".concat(Wo);function Zo(){if(!document.querySelector(Xo)){var e=document.createElement(\"div\");e.id=Wo,e.style.overflow=\"hidden\",e.style.position=\"fixed\",e.style.pointerEvents=\"none\",e.style.left=\"0px\",e.style.top=\"0px\",e.style.width=\"100%\",e.style.height=\"100%\",e.style.zIndex=1020,document.body.appendChild(e)}}function Jo(e){return{show:!0,key:e.key,type:\"tooltip\",layout:{displayOrder:3},beforeMount:function(){Zo()},beforeUpdate:function(){Zo()},destroyed:function(){var e;null!=(e=document.querySelector(Xo))&&e.parentElement&&e.childElementCount<1&&e.parentElement.removeChild(e)},settings:{appendTo:function(){return document.querySelector(Xo)},direction:e.rtl?\"rtl\":\"ltr\",duration:e.duration},style:{arrow:{color:\"#404040\"},content:{display:\"table\",\"border-spacing\":\"4px\",background:\"rgba(64, 64, 64, 0.9)\",opacity:\"1\",fontSize:\"13px\",fontFamily:\"'Source Sans Pro', 'Arial', 'sans-serif'\",\"empty-cells\":\"show\"},cell:{\"max-width\":\"180px\",\"word-break\":\"break-word\",\"word-wrap\":\"break-word\",\"overflow-wrap\":\"break-word\",hyphens:\"auto\"}}}}var Qo=\"position\";var ei={bar:\"rect\",diamond:\"path\",point:\"circle\",square:\"rect\",triangle:\"path\",\"n-polygon\":\"path\",slice:\"path\"},ti=function(e){return e.data.value},ni=function(e){var t,n=e.data;return null==n||null===(t=n.major)||void 0===t?void 0:t.value};function ri(e){var t=e.chart,n=e.expando,r=e.nodes,o=e.collectConfig,i=e.collectibles,a=e.meta,l=o.from,u={chart:t,expando:n,nodes:r,collectConfig:o,collectibles:i,meta:a};switch(\"function\"==typeof l?\"custom\":l){case\"single\":return function(e){var t=c(e.nodes,1)[0];return[\"container\"===t.type&&t.children[0]||t]}(u);case\"position\":return function(e){var t=e.chart,n=e.collectibles,r=e.meta;return t.shapesAt(r.position.absolute,{components:n.map((function(e){return{key:e.key}}))})}(u);case\"dimension\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=c(n,1)[0],a=r.filter,l=\"function\"==typeof a?a:function(){return!0},u=r.by,f=void 0===u?ti:u;return o.reduce((function(e,n){var r=n.major,o=void 0===r?ni:r,a=ei[n.type]||n.type;return e.push.apply(e,s(t.findShapes(a).filter((function(e){return e.key===n.key&&e.data&&o({data:e.data})===f({data:i.data})})))),e}),[]).filter(l)}(u);case\"radius\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,o=e.collectibles,i=e.meta,a=c(n,1)[0].localBounds,l=r.distance,u=r.filter,s=\"function\"==typeof u?u:function(){return!0},f=o.map((function(e){return e.key}));return t.shapesAt({cx:i.position.absolute.x,cy:i.position.absolute.y,r:l||Math.max(a.width,a.height)},{components:f.map((function(e){return{key:e}}))}).filter(s)}(u);case\"custom\":return function(e){var t=e.chart,n=e.expando,r=e.nodes,o=e.collectConfig,i=e.meta;return o.from({chart:t,expando:n,nodes:r,meta:i})}(u);default:return[]}}var oi=Number.MAX_VALUE;function ii(e){var t=e.nodes.reduce((function(e,t){var n=t.bounds;return e.xMin=Math.min(e.xMin,n.x,n.x+n.width),e.yMin=Math.min(e.yMin,n.y,n.y+n.height),e.xMax=Math.max(e.xMax,n.x,n.x+n.width),e.yMax=Math.max(e.yMax,n.y,n.y+n.height),e}),{xMin:oi,xMax:-oi,yMin:oi,yMax:-oi}),n=t.xMin,r=t.xMax,o=t.yMin;return{x:n,y:o,width:r-n,height:t.yMax-o}}function ai(e){var t=e.chart,n=e.config,r=e.expando,o=e.placementConfig,i=e.hovered,a=e.collected,l=e.meta,u=function(e){for(var t=e.chart,n=e.config,r=e.expando,o=e.placementConfig,i=e.hovered,a=e.collected,l=e.meta,u=c(i,1)[0],f=Array.isArray(o)?o:[o],d={bounds:u.bounds,key:u.key},p=ii({nodes:a}),h=0;h<f.length;h++){var m=f[h];if(\"function\"==typeof m){var v=m({chart:t,expando:r,hovered:i,collected:s(a),meta:l,collectedBounds:p,combineBounds:ii});if(v)return v}if(\"trigger\"===m)return d;if(\"collectible\"===m){var y=n.main.placements.collectible;return{bounds:\"function\"==typeof y?y({collected:s(a)}):p,key:a[0].key}}}return d}({chart:t,config:n,expando:r,placementConfig:o,hovered:i,collected:a,meta:l}),f=u.bounds,d=u.key,p=c(a,1)[0].desc;return[{bounds:f,nodes:a,data:a.map((function(e){return e.data})),key:d,meta:l,desc:p}]}function li(e){var t=e.chart,n=e.config,r=e.expando,o=e.internal,i=e.nodes;if(!i.length)return[];var a=c(i,1)[0].key,l=n.main.collectibles;if(!l.length)return[];var u=n.main.triggers.find((function(e){return-1!==e.keys.indexOf(a)}))||{},s=u.collect,f=u.placement;if(!s||!s.from||!f)return[];var d={triggerer:a,position:o.get(Qo)},p=(ri({chart:t,expando:r,nodes:i,collectConfig:s,collectibles:l,meta:d})||[]).map((function(e){return e.children.length?e.children[0]:e}));return p.length?ai({chart:t,config:n,expando:r,placementConfig:f,hovered:i,collected:p,meta:d}):[]}var ui=\"[־׀׃׆א-״߀-ߪߴ-ߵߺ-ࠕࠚࠤࠨ࠰-ࡘ࡞‏יִײַ-ﬨשׁ-ﭏ]\",ci=\"[؈؋؍؛-ي٭-ٯٱ-ەۥ-ۦۮ-ۯۺ-܍ܐܒ-ܯݍ-ޥޱﭐ-ﴽﵐ-﷼ﹰ-ﻼ]\",si=new RegExp(\"[A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͽΆΈ-ϵϷ-҂Ҋ-։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ॿং-হঽ-ীে-ৌৎ-ৡ০-ৱ৴-৺ਃ-ਹਾ-ੀਖ਼-੯ੲ-ੴઃ-હઽ-ીૉ-ૌૐ-ૡ૦-૯ଂ-ହଽ-ାୀେ-ୌୗ-ୡ୦-୷ஃ-ிு-ௌௐ-௲ఁ-ఽు-ౄౘ-ౡ౦-౯౿-ಹಽ-ೋೕ-ೡ೦-ീെ-ൌൎ-ൡ൦-ෆා-ෑෘ-ะา-ำเ-ๆ๏-ະາ-ຳຽ-ໆ໐-༗༚-༴༶༸༾-ཬཿ྅ྈ-ྌ྾-࿅࿇-ာေးျ-ြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃ-ႄႇ-ႌႎ-ႜ႞-ፚ፠-ᎏᎠ-Ᏼᐁ-ᙿᚁ-ᚚᚠ-ᜑᜠ-ᜱ᜵-ᝑᝠ-ᝰក-ាើ-ៅះ-ៈ។-៚ៜ០-៩᠐-ᢨᢪ-ᤜᤣ-ᤦᤩ-ᤱᤳ-ᤸ᥆-᧚ᨀ-ᨖᨙ-ᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-᭪᭴-᭼ᮂ-ᮡᮦ-ᮧ᮪-ᯥᯧᯪ-ᯬᯮ᯲-ᰫᰴ-ᰵ᰻-᱿᳓᳡ᳩ-ᳬᳮ-ᶿḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ-⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-ⳤⳫ-ⳮⴀ-⵰ⶀ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㍶㍻-㏝㏠-㏾㐀-䶵一-ꒌꓐ-ꘌꘐ-ꙮꚀ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꤥ꤮-ꥆꥒ-ꥼꦃ-ꦲꦴ-ꦵꦺ-ꦻꦽ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂ-ꯤꯦ-ꯧꯩ-꯬꯰-ﬗA-Za-zヲ-ᅵ]\"),fi=new RegExp(ui),di=new RegExp(ci),pi=function(e){return si.test(e)},hi=function(e){return fi.test(e)||di.test(e)};function mi(e){for(var t=e?e.length:0,n=0;n<t;n++){var r=e[n];if(pi(r))return\"ltr\";if(hi(r))return\"rtl\"}return\"ltr\"}function vi(e){var n=e.visibility;return{type:\"divider\",content:[{content:\"\",style:{\"background-image\":\"linear-gradient(transparent 8px, rgba(255, 255, 255, 0.4) 8px, rgba(255, 255, 255, 0.4) 9.2px, transparent 9.2px)\",height:\"17px\"},colspan:2}],visibility:t(t({},{count:!1}),n)}}function yi(e){var n=e.config,r=e.h,o=e.context,i=e.nodes,a=e.property,l=e.filter,u=e.visibility,s=e.fillColor,f=n.rtl,d={type:\"color\",label:void 0,value:void 0,content:[],filter:l,visibility:t(t({},{count:!0}),u)},p=n.getColorSettings();if(\"color\"===p.type||!p.fieldType)return d;var h=c(i,1)[0];if(d.value=function(e){var t=e.config,n=e.context,r=e.property,o=e.node,i=o.data[r];if(i){if(-3===o.data.value)return o.data.label;var a=n.resources.dataset(i.source.key).field(i.source.field).formatter(),l=i.value,u=i.label,c=t.getColorSettings();if(a&&\"measure\"===c.fieldType)return Number.isNaN(+l)?\"-\":a(i.value);var s=u||l;return void 0===s||Number.isNaN(s)||\"NaN\"===s?\"-\":s}}({config:n,context:o,property:a,node:h}),void 0===d.value)return d;d.label=function(e){var t=e.config,n=e.context,r=e.property,o=e.node,i=t.getColorSettings();if(i.label)return i.label;var a=o.data[r];if(a&&\"color\"!==i.type){var l=n.resources.dataset,u=a.source,c=u.key,s=u.field;return l(c).field(s).title()}}({config:n,context:o,property:a,node:h});var m=null!=s?s:function(e){var t=e.node.attrs;return(null==t?void 0:t.fill)||\"#ddd\"}({node:h}),v=r(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":m,margin:\"0 8px\"}});return d.content.push({content:f?[\":\",d.label]:[d.label,\":\"],style:{\"text-align\":f?\"right\":\"left\",direction:mi(d.label)}},{content:f?[d.value,v]:[v,d.value],style:{\"text-align\":f?\"left\":\"right\",\"vertical-align\":\"middle\",direction:mi(d.value)}}),d}function gi(e){var n=e.config,r=e.h,o=e.context,i={section:function(e){return function(e){return{type:\"section\",content:e.content}}({content:e.content})},text:function(e){var r=e.value,o=e.style,i=e.visibility;return function(e){var n=e.config,r=e.value,o=e.style,i=void 0===o?{}:o,a=i.bold,l=void 0!==a&&a,u=i.italic,c=void 0!==u&&u,s=e.visibility;return{type:\"text\",content:[{content:r,style:{\"font-weight\":l?\"bold\":\"normal\",\"font-style\":c?\"italic\":\"normal\",\"text-align\":n.rtl?\"right\":\"left\",direction:mi(r)},colspan:2}],visibility:t(t({},{count:!0}),s)}}({config:n,value:r,style:o,visibility:i})},measure:function(e){var o=e.label,i=e.value,a=e.color,l=e.style,u=e.survive,c=e.visibility;return function(e){var n,r,o,i,a=e.config,l=e.h,u=e.label,c=e.value,s=e.color,f=e.style,d=e.survive,p=e.visibility,h=a.rtl,m=l(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":s,margin:\"0 8px\"}});return{type:\"measure\",label:u,value:c,content:[{content:h?[\":\",u]:[u,\":\"],style:{\"text-align\":h?\"right\":\"left\",\"font-weight\":null!=f&&null!==(n=f.label)&&void 0!==n&&n.bold?\"bold\":\"normal\",\"font-style\":null!=f&&null!==(r=f.label)&&void 0!==r&&r.italic?\"italic\":\"normal\",direction:mi(u)}},{content:s?h?[c,m]:[m,c]:c,style:{\"text-align\":h?\"left\":\"right\",\"vertical-align\":\"middle\",\"font-weight\":null!=f&&null!==(o=f.value)&&void 0!==o&&o.bold?\"bold\":\"normal\",\"font-style\":null!=f&&null!==(i=f.value)&&void 0!==i&&i.italic?\"italic\":\"normal\",direction:mi(c)}}],survive:t(t({},{color:!1,duplicate:!1}),d),visibility:t(t({},{count:!0}),p)}}({config:n,h:r,label:o,value:i,color:a,style:l,survive:u,visibility:c})},divider:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.visibility;return vi({visibility:t})},row:function(e){return function(e){var n=e.content,r=e.style,o=e.colspan,i=e.visibility;return{type:\"row\",content:[{content:n,style:r,colspan:o}],visibility:t(t({},{count:!0}),i)}}({content:e.content,style:e.style,colspan:e.colspan,visibility:e.visibility})},raw:function(e){return function(e){var n=e.value,r=e.visibility;return{type:\"raw\",content:n,visibility:t(t({},{count:!0}),r)}}({value:e.value,visibility:e.visibility})},color:function(e){var t=e.nodes,i=e.property,a=e.filter,l=void 0===a||a,u=e.visibility,c=e.fillColor;return yi({config:n,h:r,context:o,nodes:t,property:i,filter:l,visibility:u,fillColor:c})}};return i}function bi(e){var t=e.translator,n=e.config,r=e.context,o=e.templates,i=n.main.layout,a=i.rows,l=i.grouping,u=i.single,c=function(e){var t=e.limit,n=e.grouping,r=e.single,o={count:0,overflow:0,index:{started:void 0,group:void 0}};return{process:function(e){var i=e.visibility,a=e.index;if(r&&0!==a)return n?(o.index.started!==a&&o.index.group!==a&&(o.overflow++,o.index.group=a),!1):(o.overflow++,!1);if(o.count>=t){if(!n)return o.overflow++,!1;if(o.index.started!==a)return o.index.group!==a&&(o.overflow++,o.index.group=a),!1}return i.count&&o.count++,n&&(o.index.started=a),!0},overflow:function(){return o.overflow}}}({limit:a,grouping:l,single:\"function\"==typeof u?u({meta:r.node.meta,sections:o}):u}),s=o.reduce((function(e,t,n){var r=t.type,i=t.content;\"section\"===r&&(void 0===i?[]:i).forEach((function(t){c.process({visibility:t.visibility,index:n})&&e.push(t.content)}));var a=n===o.length-1;return\"divider\"!==r||a||c.process({visibility:t.visibility,index:n})&&e.push(t.content),e}),[]).filter((function(e){return e.length})),f=c.overflow();return f&&s.push(function(e){var t=e.translator,n=e.config,r=e.count,o=t?t.get(\"Object.ChartTooltip.NMore\",r):\"+\".concat(r,\" more\"),i=mi(o);return[{content:o,style:{\"font-weight\":\"bold\",\"text-align\":n.rtl?\"right\":\"left\",direction:i},colspan:2}]}({translator:t,config:n,count:f})),s}function xi(e){var n=e.chart,r=e.translator,o=e.config,i=e.expando,a=e.h,l=e.data,u=e.style,f=c(l,1)[0],d=function(e){var t=e.config,n=e.nodes.reduce((function(e,n){var r=t.main.getGroupByValue({data:n.data});return e[r]||(e[r]={sorting:Object.keys(e).length,items:[]}),e[r].items.push(n),e}),{});return Object.keys(n).map((function(e){return n[e]})).sort((function(e,t){return e.sorting-t.sorting})).map((function(e){return e.items}))}({config:o,nodes:f.node.nodes}),p=function(e){var t=e.chart,n=e.config,r=e.expando,o=e.h,i=e.context,a=e.groups,l=i.node.meta,u=i.resources,c=u.dataset,f=u.formatter,d=gi({config:n,h:o,context:i}),p=function(e){var t=e.dataset;return{dataset:{title:function(e,n){return t(e).field(n).title()}}}}({dataset:c}),h=a.map((function(e){var t=d.section({content:s((n.main.section({expando:r,h:o,nodes:e,dataset:c,formatter:f,meta:l,create:d,util:p})||[]).filter((function(e){var t;return null===(t=e.content)||void 0===t?void 0:t.length}))).filter(Boolean)});return t.content=function(e){var t=e.config,n=e.content,r=n.find((function(e){return\"color\"===e.type&&e.filter})),o=r?n.filter((function(e){return\"measure\"!==e.type||e.survive.color||e.label!==r.label||e.value!==r.value})):n;return t.main.showDuplicateMeasures?o:o.reduce((function(e,t){var n=t.type,r=t.survive;if(\"measure\"!==n||r.duplicate)return e.filtered.push(t),e;var o=\"\".concat(t.label,\"-\").concat(t.value);return e.memory[o]||(e.memory[o]=!0,e.filtered.push(t)),e}),{memory:{},filtered:[]}).filtered}({config:n,content:t.content}),t}));return n.main.sections({chart:t,expando:r,h:o,nodes:i.node.nodes,dataset:c,formatter:f,meta:l,create:d,util:p,sections:h}),h.filter(Boolean)}({chart:n,config:o,expando:i,h:a,context:f,groups:d}),h=bi({translator:r,config:o,h:a,context:f,templates:p});return h.length?function(e){var n=e.h,r=e.style;return e.rows.map((function(e){return n(\"tr\",{},e.map((function(e){var o={style:t(t({},r.cell||{}),e.style||{}),class:e.class};return e.colspan&&(o.colspan=e.colspan),n(\"td\",o,e.content)})))}))}({h:a,style:u,rows:h}):function(e){var t=e.h;return t(\"tr\",{},t(\"td\",{style:{fontStyle:\"italic\",opacity:.75}},\"Empty\"))}({h:a})}function qi(e){var t=e.chart,n=e.translator,r=e.config,o=e.expando,i=e.internal;if(!r.main.key)return!1;var a=Bt(),l=Jo({key:r.main.key,rtl:r.rtl,duration:r.duration}),u=r.main.events.tooltip,c=u.afterShow,s=u.afterHide,f=function(){var e=a.get(\"collected\");return{expando:o,nodes:e.nodes,meta:e.meta}};return B(!0,l,{settings:{filter:function(e){return li({chart:t,config:r,expando:o,internal:i,nodes:e})},extract:function(e){return a.set(\"collected\",e.node),e},content:function(e){var i=e.h,a=e.data,l=e.style;return xi({chart:t,translator:n,config:r,expando:o,h:i,data:a,style:l})},placement:function(e){var t=e.nodes;return r.main.placement({meta:t[0].meta})},afterShow:function(){return c(f())},afterHide:function(){return s(f())}},style:{arrow:{color:r.style.background},content:r.style}})}function wi(e){var n=e.config,r=n.legend.keys;if(!r.tooltip||!r.component)return!1;if(\"categorical\"!==n.getColorSettings().type)return!1;var o=Jo({key:r.tooltip,rtl:n.rtl,duration:n.duration});return B(!0,o,{settings:{filter:function(e){return e.filter((function(e){return e.data&&e.key===r.component}))},extract:function(e){return e},content:function(e){var n=e.h,r=e.data;return[n(\"tr\",{},[n(\"td\",{style:t(t({},e.style.cell||{}),{\"font-weight\":\"bold\",\"text-align\":\"left\"}),colspan:2},r[0].node.data.label)])]},placement:\"pointer\"},style:{arrow:{color:n.style.background},content:n.style}})}function Mi(e){var t=e.config.main.triggers.reduce((function(e,t){return t.keys.forEach((function(n){var r=t.distance||0;e.distance[n]=r,e.distances.includes(r)||e.distances.push(r),e.key[n]=!0,e.keys[r]||(e.keys[r]=[]),e.keys[r].push(n)})),e}),{distance:{},distances:[],key:{},keys:{}});return function(e){return e.components.filter((function(e){return t.key[e.key]})).reduce((function(e,n){e.any=!0,e.components.push(n.key);var r=t.distance[n.key];return 0===r?e.position.push(n.key):(e.distances.includes(r)||(e.distances.push(r),e.distanceKeys[r]=[]),e.distanceKeys[r].push(n.key)),e}),{any:!1,components:[],position:[],distances:[],distanceKeys:{}})}}var ki=function(){return!0};function Ci(e){var t=e.config.main.triggers.reduce((function(e,t){var n=t.filter;return t.keys.forEach((function(t){e[t]=\"function\"==typeof n?n:ki})),e}),{});return function(e){var n=t[e.key];return!n||n(e)}}function Si(e){var t=e.chart,n=e.event,r=e.component,o={absolute:{x:0,y:0},relative:{x:0,y:0}},i=t.element.getBoundingClientRect(),a=i.left,l=i.top;o.absolute.x=(void 0===n.clientX?Math.floor(n.srcEvent.clientX):n.clientX)-a,o.absolute.y=(void 0===n.clientY?Math.floor(n.srcEvent.clientY):n.clientY)-l;var u=t.component(r);if(u){var c=u.rect.computedInner;o.relative.x=o.absolute.x-c.x,o.relative.y=o.absolute.y-c.y}return o}function Di(e){var t=e.chart,n=e.filter,r=e.hits,o=e.position,i=[];if(r.position.length&&i.push.apply(i,s(t.shapesAt(o.absolute,{components:r.position.map((function(e){return{key:e}}))}).filter(n))),!i.length&&r.distances.length){var a=[];r.distances.forEach((function(e){a.push.apply(a,s(t.shapesAt({cx:o.absolute.x,cy:o.absolute.y,r:e},{components:r.distanceKeys[e].map((function(e){return{key:e}}))}).filter(n)))})),a.length&&i.push(function(e){var t=e.nodes,n=e.origin,r=t.find((function(e){return\"path\"===e.type}));if(r)return r;var o=function(e){var t=Math.abs(n.x-(e.localBounds.x+e.localBounds.width/2)),r=Math.abs(n.y-(e.localBounds.y+e.localBounds.height/2));return Math.sqrt(t*t+r*r)};return t.slice(1).reduce((function(e,t){var n=o(t);return n<e.distance&&(e.distance=n,e.node=t),e}),{node:t[0],distance:o(t[0])}).node}({nodes:a,origin:o.relative}))}return i}function Ii(e){var t=e.chart,n=e.config,r=e.expando,o=e.internal,i=e.facade,a=n.delay.tap,u=Mi({config:n}),f=Ci({config:n}),d=n.main.triggers.reduce((function(e,t){return e.push.apply(e,s(t.keys)),e}),[]);return{key:\"event:\".concat(\"tooltipTap\"),type:\"Tap\",options:{event:\"tooltipTap\",enable:function(e,r){return!r||!!n.enable({event:r})&&t.componentsFromPoint({x:r.center.x,y:r.center.y}).filter((function(e){return-1!==d.indexOf(e.key)})).length>0}},recognizeWith:\"tap\",events:l({},\"tooltipTap\",(function(e){if(e.preventDefault(),\"mouse\"!==e.pointerType&&!n.main.suppress({event:e})){var l=t.component(n.main.key);if(l&&l.show){var s=t.componentsFromPoint({x:e.center.x,y:e.center.y}),d=u({components:s});if(d.any){var p=c(d.components,1)[0],h=Si({chart:t,event:e,component:p});o.set(Qo,h);var m=Di({chart:t,filter:f,hits:d,position:h});if(m.length){var v=m[0].key;n.main.events.tooltip.beforeShow({expando:r,event:e,collectNodes:function(){return i.collectNodes({nodes:m})},meta:{triggerer:v,position:h}}).then((function(){l.emit(\"show\",e,{nodes:m,delay:a})})).catch((function(){}))}else l.emit(\"hide\")}else l.emit(\"hide\")}}}))}}function Oi(e){var t=e.config,n=e.expando,r=e.internal,o=e.facade,i=t.main.events.tooltip.beforeShow,a=t.delay.hover,l={ongoing:{},latest:void 0};return function(e){var t=e.event,u=e.tooltip,c=e.nodes,s=function(e){var t=e.nodes;return JSON.stringify(t.map((function(e){var t;return{key:e.key,bounds:e.bounds,value:null===(t=e.data)||void 0===t?void 0:t.value}})))}({nodes:c});if(!l.ongoing[s]){l.ongoing[s]=!0,l.latest=s;var f=c[0].key;i({expando:n,event:t,collectNodes:function(){return o.collectNodes({nodes:c})},meta:{triggerer:f,position:r.get(Qo)}}).then((function(){s===l.latest&&u.emit(\"show\",t,{nodes:c,delay:a})})).catch((function(){u.emit(\"show\")})).finally((function(){delete l.ongoing[s],s===l.latest&&(l.latest=void 0)}))}}}function Ei(e){var t=e.chart,n=e.config,r=e.expando,o=e.internal,i=e.facade,a=Mi({config:n}),l=Ci({config:n}),u=Oi({config:n,expando:r,internal:o,facade:i}),s=[n.main.key,n.legend.keys.tooltip].filter(Boolean),f=function(){s.forEach((function(e){var n=t.component(e);null!=n&&n.show&&n.emit(\"hide\")}))};return{type:\"native\",events:{mousemove:function(e){if(n.enable({event:e})&&!n.main.suppress({event:e})){var r=t.componentsFromPoint({x:e.clientX,y:e.clientY}),i=t.component(n.main.key);if(i&&i.show){var s=a({components:r});if(s.any){var f=c(s.components,1)[0],d=Si({chart:t,event:e,component:f});o.set(Qo,d);var p=Di({chart:t,filter:l,hits:s,position:d});if(!p.length)return void i.emit(\"hide\");u({event:e,tooltip:i,nodes:p})}else i.emit(\"hide\")}var h=n.legend;if(h.keys.tooltip&&h.keys.component){var m=t.component(h.keys.tooltip);m&&m.show&&(r.some((function(e){return e.key===h.keys.component}))?m.emit(\"show\",e):m.emit(\"hide\"))}}},mouseup:function(e){2===e.button&&f()},mouseleave:function(){n.main.events.interaction.mouseleave({expando:r}),f()},wheel:function(){f()}}}}function Ai(e){var t=e.chart,n=e.config,r=e.expando,o=e.internal,i=function(e){var t=e.chart,n=e.config,r=e.expando,o=e.internal;return{collectNodes:function(e){var i=e.nodes,a=c(li({chart:t,config:n,expando:r,internal:o,nodes:i}),1)[0];return(void 0===a?{nodes:[]}:a).nodes}}}({chart:t,config:n,expando:r,internal:o});return{gestures:[Ii({chart:t,config:n,expando:r,internal:o,facade:i})],native:Ei({chart:t,config:n,expando:r,internal:o,facade:i})}}function Ni(e){var t=e.chart,n=e.translator,r=function(e){var t=e.config;return B(!0,{},{rtl:!1,enable:Go.FALSE,getColorSettings:Go.OBJECT,style:{fontSize:void 0,fontFamily:void 0,color:void 0,background:void 0},delay:{hover:500,tap:0},duration:8e3,main:{key:void 0,suppress:Go.FALSE,getGroupByValue:Go.NOOP,collectibles:[],triggers:[],placement:function(){return{type:\"bounds\"}},placements:{collectible:\"combine\"},showDuplicateMeasures:!1,layout:{rows:7,grouping:!1,single:!1},section:Go.ARRAY,sections:Go.NOOP,events:{tooltip:{beforeShow:function(){return Promise.resolve()},afterShow:Go.NOOP,afterHide:Go.NOOP},interaction:{mouseleave:Go.NOOP}}},legend:{keys:{tooltip:void 0,component:void 0}}},void 0===t?{}:t)}({config:e.config}),o=Bt(),i=Bt(),a={components:void 0,interactions:void 0};return{getComponents:function(){return a.components||(a.components=function(e){var t=e.chart,n=e.translator,r=e.config;return[qi({chart:t,translator:n,config:r,expando:e.expando,internal:e.internal}),wi({config:r})].filter(Boolean)}({chart:t,translator:n,config:r,expando:o,internal:i})),a.components},getInteractions:function(){return a.interactions||(a.interactions=Ai({chart:t,config:r,expando:o,internal:i})),a.interactions},expando:o}}var Li=\"AVERAGE\",Ti=\"LINEAR\",Pi=\"POLYNOMIAL2\",ji=\"POLYNOMIAL3\",Fi=\"POLYNOMIAL4\",Hi=\"EXPONENTIAL\",zi=\"LOG\",Ri=\"POWER\";function Vi(e){var t=e.dimValue,n=e.value,r=e.qTrendLine,o=r.qType,i=r.qCoeff,a={x:t,y:i[2]*Math.pow(n,2)+i[1]*n+i[0]};switch(o){case Pi:return a;case ji:return a.y+=i[3]*Math.pow(n,3),a;case Fi:return a.y+=i[4]*Math.pow(n,4)+i[3]*Math.pow(n,3),a;default:return a}}var _i={average:function(e){return{x:e.dimValue,y:e.qTrendLine.qCoeff[0]}},linear:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:r.qCoeff[1]*n+r.qCoeff[0]}},polynomial2:Vi,polynomial3:Vi,polynomial4:Vi,exponential:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:Math.exp(r.qCoeff[0]+n*r.qCoeff[1])}},log:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:r.qCoeff[1]+r.qCoeff[0]*Math.log(n)}},power:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:Math.pow(10,r.qCoeff[0]+r.qCoeff[1]*Math.log(n)*Math.LOG10E)}}};function Bi(e,t){for(var n=_i[t.qType.toLowerCase()],r=Math.max(1,e/500),o=1/0,i=-1/0,a=0;a<e;a+=r){var l=n({dimValue:null,value:a+1,qTrendLine:t}).y;o=Math.min(l,o),i=Math.max(l,i)}return{min:o,max:i}}function Yi(e){return _i[e.qType.toLowerCase()]}function $i(e,t){return e.meta.isContinuous?function(e,t){return{generate:function(e,n,r){var o=[],i=Yi(e),a=t({qTrendLine:e,measureIndex:r}),l=a.min,u=a.max,c=(u-l)/100;if(c>0){for(var s=function(t){var a=i({dimValue:t,value:t,qTrendLine:e});if(a.layerId=n,a.measureIndex=r,a.dimValue=t,e.flipXY){var l=a.x;a.x=a.y,a.y=l,a.dimValue=a.x}o.push(a)},f=l,d=l;d<=u;d+=c)s(d),f=d;f!==u&&s(u)}return o},calculate:function(e,t){return Yi(e)({dimValue:t,value:t,qTrendLine:e})},findMinMax:function(e,t){var n=this.generate(t).map((function(e){return e.y}));return{min:Math.min.apply(Math,s(n)),max:Math.max.apply(Math,s(n))}}}}(0,t):e.meta.mode.K?function(e){return{generate:function(t,n,r){for(var o=[],i=e.getDataPages()[0],a=i.qData[0].qSubNodes,l=i.qArea.qTop,u=_i[t.qType.toLowerCase()],c=0;c<a.length;c++){var s=a[c],f=u({dimValue:s.qElemNo,value:c+l+1,qTrendLine:t});f.layerId=n,f.measureIndex=r,f.dimValue=s.qText,o.push(f)}return o},findMinMax:Bi}}(e):function(e){return{generate:function(t,n,r){for(var o=[],i=e.getDataPages()[0],a=i.qMatrix,l=i.qArea.qTop,u=_i[t.qType.toLowerCase()],c=0;c<a.length;c++){var s=a[c][0],f=c+l+1,d=u({dimValue:s.qElemNumber,value:f,qTrendLine:t});d.layerId=n,d.measureIndex=r,d.dimValue=s.qText,o.push(d)}return o},calculate:function(e,t,n){return(0,_i[e.qType.toLowerCase()])({dimValue:n,value:t,qTrendLine:e})},findMinMax:Bi}}(e)}var Ui={TYPES:{AVERAGE:\"properties.trendlines.types.average\",LINEAR:\"properties.trendlines.types.linear\",POLYNOMIAL2:\"properties.trendlines.types.polynomial2\",POLYNOMIAL3:\"properties.trendlines.types.polynomial3\",POLYNOMIAL4:\"properties.trendlines.types.polynomial4\",EXPONENTIAL:\"properties.trendlines.types.exponential\",LOG:\"properties.trendlines.types.logarithmic\",POWER:\"properties.trendlines.types.power\"},STYLE:{DASHED:\"properties.trendlines.style.dashed\"},TYPE:\"properties.trendlines.type\",HEADER:\"properties.trendlines\",ADD_BUTTON:\"properties.trendlines.button.add\"},Ki={color:\"#f93f17\",index:9},Gi={x:NaN,y:NaN,dimValue:NaN,layerId:NaN,measureIndex:NaN},Wi=function(e){var t=e.layoutService,n=e.getMinMax,r=e.colorModel,o=e.chart,i=e.translator,a=e.keys.colorScale,l=e.isEnabled,u=void 0===l?function(){return!0}:l,c=[Gi],f=[],d=[],p=$i(t,n);t.getLayoutValue(\"qHyperCube.qMeasureInfo\",[]).forEach((function(e,t){Array.isArray(e.qTrendLines)&&(f.push.apply(f,s(e.qTrendLines)),d.push.apply(d,s(e.qTrendLines.map((function(){return t})))))}));var h=Yt((function(e){var t=(f[e]||{}).style,n=r.settings();if(t.autoColor){if(\"measure\"===n.mode){var i=d[e],l=o.scale(a)(i);return function(e){return Ve(e).l<70}(l)?function(e){var t=Ve(e);return t.l<30?t.l+=15:t.l<50?t.l+=10:t.l+=5,t.toString()}(l):function(e){var t=Ve(e);return t.l-=5,t.toString()}(l)}return r.resolveUIColor(Ki)}return t.paletteColor?r.resolveUIColor(t.paletteColor):\"none\"}));return{query:{hasTrendLines:function(){return!!f.length&&u()},getData:function(){return c},getStroke:h,getLineDash:function(e){return(f[e]||{}).style.lineDash},getLabel:function(e){return(f[e]||{}).label},getExpression:function(e){var t=(f[e]||{}).qExpression;return f[e].flipXY&&(t=t.replace(/[xy]/g,(function(e){return\"x\"===e?\"y\":\"x\"}))),t},isFlipped:function(e){return f[e].flipXY},getType:function(e){var t=(f[e]||{}).qType;return i.get(Ui.TYPES[t])},getMinMax:function(){var e=1/0,n=-1/0;return f.forEach((function(r){var o=p.findMinMax(t.meta.size.y,r);e=Math.min(o.min,e),n=Math.max(o.max,n)})),{min:e,max:n}},getCalculatedValue:function(e,t,n){var r=f[e];return p.calculate(r,t,n)}},command:{update:function(){c.length=0,f.forEach((function(e,t){var n=p.generate(e,t,d[t]);c.push.apply(c,s(n))}))}}}},Xi={source:\"trend\",extract:{field:\"x\",props:{minor:{field:\"y\"},layer:{field:\"layerId\"},measureIndex:{field:\"measureIndex\"},dimValue:{field:\"dimValue\"}}}},Zi=function(e){var t=e.meta;return t.isContinuous?function(e){return(0,e.scale)(e.datum.value)}:t.isGroupedByMeasure?function(e){var t=e.scale,n=e.datum;return t([n.value,n.measureIndex.value])+t.bandwidth()/2}:function(e){var t=e.scale;return t(e.datum.value)+t.bandwidth()/2}},Ji=function(e,t){var n=t.animations,r=t.layoutService,o=t.trendLineModel,i=t.orientation;if(!o.query.hasTrendLines())return[];var a=function(e,t){var n=e.trendlines,r=e.majorScale,o=e.minorScale,i=t.animations,a=t.trendLineModel,l=t.layoutService,u=t.orientation,c=Zi(l);return{key:n,type:\"line\",layout:{dock:\"center\"},data:Xi,animations:i,settings:{connect:!0,orientation:u,coordinates:{major:{scale:r,fn:c},minor:{scale:o},layerId:{ref:\"layer\"}},layers:{curve:\"monotone\",line:{strokeWidth:2,stroke:function(e){var t=e.datum;return a.query.getStroke(t.layer.value)},strokeDasharray:function(e){var t=e.datum;return a.query.getLineDash(t.layer.value)}}}}}}(e,{animations:n,trendLineModel:o,layoutService:r,orientation:i}),l=[a];if(e.tooltipOverlay){var u=function(e,t){var n=e.majorScale,r=e.minorScale,o=e.tooltipOverlay,i=t.layoutService,a=\"horizontal\"===t.orientation,l={scale:n,fn:Zi(i)},u={scale:r,ref:\"minor\"};return{key:o,type:\"point\",layout:{dock:\"center\"},data:Xi,settings:{x:a?l:u,y:a?u:l,opacity:0,size:1,sizeLimits:{maxPx:8,minPx:8}}}}(e,{layoutService:r,orientation:i});l.push(u)}return l},Qi=function(e){e.style.dashed?e.style.lineDash=\"8, 4\":e.style.lineDash=\"\"},ea=function(e){Qi(e),e.qMultiDimMode=\"Sum\",e.qXColIx=0};function ta(e,t){return{x:e.x-t.x,y:e.y-t.y}}function na(e){return Math.pow(e.x,2)+Math.pow(e.y,2)}function ra(e,t,n){var r=ta(n,e),o=ta(t,e),i=na(o);if(0===i)return e;var a,l,u,c,s=(l=o,((a=r).x*l.x+a.y*l.y)/i);return s<=0?e:s>=1?t:function(e,t){return{x:e.x+t.x,y:e.y+t.y}}(e,(c=s,{x:(u=o).x*c,y:u.y*c}))}function oa(e){var t,n,r=e.keys,o=e.model,i=e.chart,a=e.pos,l=e.lineNode,u=o,c=i.component(r.trendlines),s=i.scale(r.majorScale),f=i.scale(r.minorScale),d=l.data.layer.value,p=function(e,t){var n=1/0,r=null;if(1===e.length)return e[0];for(var o=0;o<e.length-1;++o){var i=ra(e[o],e[o+1],t),a=na(ta(i,t));a<n&&(n=a,r=i)}return r}(l.data.points.map((function(e){return{x:s(e.dimValue.value)*c.rect.computed.width,y:f(e.minor.value)*c.rect.computed.height}})),a);return u.query.isFlipped(d)?(n=f.invert(p.y/c.rect.computed.height),t=u.query.getCalculatedValue(d,n).y,p.x=s(t)*c.rect.computed.width):(t=s.invert(p.x/c.rect.computed.width),n=u.query.getCalculatedValue(d,t).y,p.y=f(n)*c.rect.computed.height),{key:l.key,children:[],data:{layer:d,x:t,y:n},bounds:{x:p.x,y:p.y,width:0,height:0}}}function ia(e){var t=e.animations,n=e.chart,r=e.colorService,o=e.isEnabled,i=e.keys,a=void 0===i?{}:i,l=e.layoutService,u=e.orientation,c=e.translator,s=e.getMinMax;a.trendlines||(a.trendlines=\"trend-lines\");var f=Wi({layoutService:l,getMinMax:s,colorModel:{settings:function(){return r.getSettings()},resolveUIColor:function(e){return r.getPaletteColor(e)}},chart:n,translator:c,keys:a,isEnabled:o});return{getComponents:function(){return Ji(a,{animations:t,layoutService:l,trendLineModel:f,orientation:u})},getData:function(){return f.query.hasTrendLines()?[{key:\"trend\",data:f.query.getData()}]:[]},collectNodes:function(e){var t=e.nodes,r=e.meta;return function(e){var t=e.keys,n=e.model,r=e.chart,o=e.nodes,i=e.meta;return o.length?[oa({keys:t,model:n,chart:r,pos:i.position.relative,lineNode:o[0]})]:[]}({keys:a,model:f,chart:n,nodes:t,meta:r})},getModel:function(){return f},update:function(){return f.command.update()}}}ia.propertyPanelProperties=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.translator,n=function(e){var n=o(e.label);return\"string\"===n&&e.label?e.label:\"object\"===n?e.label.qStringExpression?e.label.qStringExpression.qExpr:e.label.qValueExpression.qExpr:t.get(Ui.TYPES[e.qType])};return{type:\"array\",ref:\"qTrendLines\",titleTranslation:Ui.HEADER,itemTitleRef:n,max:8,allowAdd:!0,allowRemove:!0,allowMove:!1,addTranslation:Ui.ADD_BUTTON,add:ea,items:{label:{ref:\"label\",type:\"string\",expression:\"optional\",translation:\"Common.Label\",defaultValue:\"\"},type:{ref:\"qType\",type:\"string\",component:\"dropdown\",translation:Ui.TYPE,options:[{value:Li,translation:Ui.TYPES.AVERAGE},{value:Ti,translation:Ui.TYPES.LINEAR},{value:Pi,translation:Ui.TYPES.POLYNOMIAL2},{value:ji,translation:Ui.TYPES.POLYNOMIAL3},{value:Fi,translation:Ui.TYPES.POLYNOMIAL4},{value:Hi,translation:Ui.TYPES.EXPONENTIAL},{value:zi,translation:Ui.TYPES.LOG},{value:Ri,translation:Ui.TYPES.POWER}],defaultValue:Li},autoColor:{ref:\"style.autoColor\",type:\"boolean\",translation:\"properties.colors\",component:\"switch\",defaultValue:!0,options:[{value:!0,translation:\"Common.Auto\"},{value:!1,translation:\"Common.Custom\"}]},paletteColor:{ref:\"style.paletteColor\",translation:\"properties.color\",type:\"object\",component:\"color-picker\",dualOutput:!0,defaultValue:Ki,show:function(e){return!e.style.autoColor}},dashed:{ref:\"style.dashed\",translation:Ui.STYLE.DASHED,type:\"boolean\",defaultValue:!0,change:Qi}}}};export{N as alternativeService,Bt as cache,Ot as colorService,Ut as debouncer,zt as dockService,M as fontResolver,m as getAvailableFonts,Rt as getValue,Jt as layoutService,Yt as memoize,en as pluginService,Fo as selectionService,_t as setValue,$t as storage,Ko as themeService,Kt as throttler,Ni as tooltipService,ia as trendlinesService};\n","/* eslint-disable prefer-rest-params */\n/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\n\n/* Simple JavaScript Inheritance\n * By John Resig http://ejohn.org/\n * MIT Licensed.\n * Modified by Qliktech\n */\n// Inspired by base2 and Prototype\n\n/* eslint no-new-func:0,no-unused-vars:0 */\n\nconst fnTest = /xyz/.test(() => {\n let xyz;\n})\n ? /\\b_super\\b/\n : /.*/;\n\n/**\n * Helper module for creating subclasses (or rather prototypal inheritance) of superclasses.\n *\n * @class\n *\n * @example\n * var Animal = Class.extend( \"Animal\", {\n * init: function ( name ) {\n * this.name = name || \"Unnamed\";\n * },\n * say: function ( sound ) {\n * console.log( this.name + \" says \" + sound );\n * }\n * } );\n *\n * var Cat = Animal.extend( \"Cat\", {\n * say: function () {\n * this._super( \"Meouw\" );\n * }\n * } );\n *\n * var cat = new Cat( \"Gustaf\" );\n * cat.say(); => \"Gustaf says Meouw\"\n *\n * @example\n * var MyClass = Class.extend();\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => Class\n *\n * @example\n * var MyClass = Class.extend( \"MyClass\" );\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => MyClass\n *\n */\nconst Class = function () {};\n\n/**\n * This method is available inside each function defined on the prototype when using {@link module:assets/core/utils/class~Class.extend}.\n *\n * It will invoke the super class' method with the same name, but it's up to programmer to invoke it with the arguments needed.\n * @method module:assets/core/utils/class~Class#_super\n */\n\n/**\n * Create a new Class that inherits from this class\n * @param {String} [className=\"Class\"] The name of the new class constructor.\n * @param {Object} proto The prototype for the new class.\n */\nClass.extend = function extend(className, proto) {\n const _super = this.prototype;\n\n if (typeof className !== 'string') {\n proto = className;\n className = 'Class';\n }\n\n // Instantiate a base class (but only create the instance,\n // don't run the init constructor)\n const prototype = Object.create(this.prototype);\n\n // Copy the properties over onto the new prototype\n for (const name in proto) {\n // Check if we're overwriting an existing function\n prototype[name] =\n typeof proto[name] === 'function' && typeof _super[name] === 'function' && fnTest.test(proto[name])\n ? (function (name, fn) {\n return function () {\n const tmp = this._super;\n\n // Add a new ._super() method that is the same method\n // but on the super-class\n this._super = _super[name];\n\n // The method only need to be bound temporarily, so we\n // remove it when we're done executing\n const ret = fn.apply(this, arguments);\n this._super = tmp;\n\n return ret;\n };\n })(name, proto[name])\n : proto[name];\n }\n\n if (!/^[_a-z][_a-z\\d]*$/i.test(className)) {\n throw new Error('Invalid subclass name. Alphanumericals only.');\n }\n\n // The dummy class constructor\n const ctor = new Function(\n `return (function ${className}(){ typeof this.init === 'function' && this.init.apply(this, [].slice.call(arguments)) });`\n )();\n\n // Populate our constructed prototype object\n ctor.prototype = prototype;\n\n // Enforce the constructor to be what we expect\n ctor.prototype.constructor = ctor;\n\n // And make this class extendable\n ctor.extend = extend;\n\n return ctor;\n};\n\nexport default Class;\n","// private\nconst idGen = {\n getChar(value) {\n // 0 o O i I l\n const banned = [48, 111, 79, 105, 73, 108];\n let val = value;\n\n let charCode;\n if (val > 9) {\n charCode = 65 + val - 10;\n if (charCode > 90) {\n charCode += 6;\n }\n } else {\n val = `${val}`.charCodeAt(0);\n }\n return banned.indexOf(charCode) > -1 ? this.getChar(val + 1) : String.fromCharCode(charCode);\n },\n base62(value) {\n const chr = this.getChar(value % 62);\n const y = Math.floor(value / 62);\n return y > 0 ? this.base62(y) + chr : chr;\n },\n id() {\n const s = this.base62(Math.round(Math.random() * (1e13 - 1e11) + 1e11));\n return s.replace(/\\W/g, '');\n },\n};\n\nexport default function generateId() {\n return idGen.id();\n}\n","const SCROLLBAR_KEY = 'scrollbar';\n\nfunction getActions(isEnabledFn) {\n function targetIsScrollbar(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n const startPoint = {\n x: e.center.x - e.deltaX,\n y: e.center.y - e.deltaY,\n };\n const components = this.chart.componentsFromPoint(startPoint);\n return components.some((c) => c.settings.key === SCROLLBAR_KEY);\n }\n\n const tap = {\n // single tap\n type: 'Tap',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n tap(e) {\n this.chart.component(SCROLLBAR_KEY).emit('tap', e);\n },\n },\n };\n\n const pan = {\n type: 'Pan',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n panstart(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panStart', e);\n },\n pan(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panMove', e);\n },\n panend(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panEnd', e);\n },\n pancancel(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panCancel', e);\n },\n },\n };\n\n const actions = [tap, pan];\n return actions;\n}\n\nexport default getActions;\n","function getAxisDock(direction, dock, isRtl) {\n return direction === 'y' ? getYAxisDock(dock, isRtl) : getXAxisDock(dock);\n}\n\nfunction getOppositeAxisDock(direction, dock, isRtl) {\n const oppositeDock = dock === 'far' ? 'near' : 'far';\n return getAxisDock(direction, oppositeDock, isRtl);\n}\n\nfunction getYAxisDock(dock, isRtl) {\n const yDockNearFar = dock || 'near';\n return (isRtl && yDockNearFar === 'near') || (!isRtl && yDockNearFar === 'far') ? 'right' : 'left';\n}\n\nfunction getXAxisDock(dock) {\n return dock === 'far' ? 'top' : 'bottom';\n}\n\nexport default {\n getAxisDock,\n getOppositeAxisDock,\n getYAxisDock,\n};\n","// Source: https://en.wikipedia.org/wiki/Bi-directional_text and http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt\n// 3 types of strong direction characters: L (strong left-to-right), R(strong right-to-left, Hebrew) and AL(strong right-to-left, Arabic language)\nconst rangesOfLChars =\n '[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u037D\\u0386\\u0388-\\u03F5\\u03F7-\\u0482\\u048A-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u097F\\u0982-\\u09B9\\u09BD-\\u09C0\\u09C7-\\u09CC\\u09CE-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u0A03-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A6F\\u0A72-\\u0A74\\u0A83-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9-\\u0ACC\\u0AD0-\\u0AE1\\u0AE6-\\u0AEF\\u0B02-\\u0B39\\u0B3D-\\u0B3E\\u0B40\\u0B47-\\u0B4C\\u0B57-\\u0B61\\u0B66-\\u0B77\\u0B83-\\u0BBF\\u0BC1-\\u0BCC\\u0BD0-\\u0BF2\\u0C01-\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C61\\u0C66-\\u0C6F\\u0C7F-\\u0CB9\\u0CBD-\\u0CCB\\u0CD5-\\u0CE1\\u0CE6-\\u0D40\\u0D46-\\u0D4C\\u0D4E-\\u0D61\\u0D66-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD-\\u0EC6\\u0ED0-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083-\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u135A\\u1360-\\u138F\\u13A0-\\u13F4\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u1711\\u1720-\\u1731\\u1735-\\u1751\\u1760-\\u1770\\u1780-\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u18A8\\u18AA-\\u191C\\u1923-\\u1926\\u1929-\\u1931\\u1933-\\u1938\\u1946-\\u19DA\\u1A00-\\u1A16\\u1A19-\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B6A\\u1B74-\\u1B7C\\u1B82-\\u1BA1\\u1BA6-\\u1BA7\\u1BAA-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1C2B\\u1C34-\\u1C35\\u1C3B-\\u1C7F\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1DBF\\u1E00-\\u1FBC\\u1FBE\\u1FC2-\\u1FCC\\u1FD0-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E-\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2D00-\\u2D70\\u2D80-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u31BA\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA66E\\uA680-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA925\\uA92E-\\uA946\\uA952-\\uA97C\\uA983-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEC\\uABF0-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFDC]';\nconst rangesOfRChars =\n '[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u07C0-\\u07EA\\u07F4-\\u07F5\\u07FA-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB4F]';\nconst rangesOfALChars =\n '[\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u070D\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\uFB50-\\uFD3D\\uFD50-\\uFDFC\\uFE70-\\uFEFC]';\n// eslint-disable-next-line no-misleading-character-class\nconst rangesOfLRgExp = new RegExp(rangesOfLChars);\nconst rangesOfRRgExp = new RegExp(rangesOfRChars);\nconst rangesOfALRgExp = new RegExp(rangesOfALChars);\n\nconst // left-to-right marker\n lrm = String.fromCharCode(8206); // right-to-left marker\n\nconst rlm = String.fromCharCode(8207);\n\nfunction isLtrChar(c) {\n return rangesOfLRgExp.test(c);\n}\n\nfunction isRtlChar(c) {\n return rangesOfRRgExp.test(c) || rangesOfALRgExp.test(c);\n}\n\nfunction detectTextDirection(s) {\n const n = s ? s.length : 0;\n let i;\n let c;\n for (i = 0; i < n; i++) {\n c = s[i];\n if (isLtrChar(c)) {\n return 'ltr';\n }\n if (isRtlChar(c)) {\n return 'rtl';\n }\n }\n return 'ltr';\n}\n\nexport default {\n lrm,\n rlm,\n detectTextDirection,\n};\n","import extend from 'extend';\nimport RtlUtil from '../../../../extra/rtl-util';\n\n/**\n * Get Picasso settings for an individual ref-line.\n *\n * @param {*} settings Default settings for the ref-line\n * @param {*} lineColorIndex Chart builder options + paletteColor option\n */\nfunction lineSettings(settings, options) {\n const lineStroke =\n typeof options.paletteColor !== 'undefined'\n ? options.theme.getColorPickerColor(options.paletteColor)\n : 'transparent';\n const defaultSettings = {\n value: 0,\n line: {\n stroke: lineStroke,\n strokeDasharray: options?.style?.lineType,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\n/**\n * Get Picasso settings for an individual ref-line used to display label and OOB.\n *\n * @param {*} settings Default settings for the ref-line label\n * @param {*} options Chart builder options + paletteColor option\n */\nfunction lineLabelSettings(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n let labelColor = options.theme.getStyle(chartID, 'referenceLine.label.name', 'color');\n const labelFontSize = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontSize');\n const labelFontFamily = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontFamily');\n\n if (options.paletteColor) {\n labelColor = options.theme.getColorPickerColor(options.paletteColor);\n } else if (!labelColor) {\n labelColor = 'transparent';\n }\n\n const defaultSettings = {\n value: 0,\n line: {\n stroke: 'transparent',\n },\n label: {\n align: 'center',\n vAlign: 'middle',\n text: '',\n fill: labelColor,\n fontFamily: labelFontFamily,\n fontSize: labelFontSize,\n maxWidthPx: 135,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\nconst isVisible = (refLine) =>\n refLine && refLine.show !== false && refLine.show !== 0 && refLine.show !== '0' && refLine.refLineExpr !== undefined;\n\nfunction getRefLineTitle({ refLine, label, valueString }) {\n if (refLine.showValue !== false) {\n if (refLine.showLabel !== false) {\n return `${label} ${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n return `${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n if (refLine.showLabel !== false) {\n return label;\n }\n return '';\n}\n\nexport default {\n lineSettings,\n lineLabelSettings,\n isVisible,\n getRefLineTitle,\n};\n","import DimensionMeasureChartLayoutSettings from './layout-settings';\n\nconst constants = {\n SHOW_AXIS_LABELS_OPTIONS: ['all', 'labels'], // show dim/measure axis labels when it matches one of this values\n SHOW_TITLE_OPTIONS: ['all', 'title'], // show the dimension/measure title when the show option matches one of these values\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n LAYOUTSETTINGS: DimensionMeasureChartLayoutSettings,\n};\n\nconstants.DEFAULT_CHART_ORIENTATION = constants.HORIZONTAL;\n\nexport default constants;\n","export default {\n lasso: {\n displayOrder: 10000,\n },\n rangeDim: {\n displayOrder: 10000,\n },\n rangeMeasure: {\n displayOrder: 10000,\n },\n rangeMinor: {\n displayOrder: 10000,\n },\n\n // SPARK\n scrollBar: {\n minimumLayoutMode: 'SPARK',\n prioOrder: -1,\n displayOrder: 100,\n },\n\n refLines: {\n layout: {\n minimumLayoutMode: 'SPARK',\n prioOrder: 60,\n displayOrder: 1110,\n },\n },\n\n // XMALL\n measureAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n dimensionAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n\n measureAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n dimensionAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n\n gridLines: {\n minimumLayoutMode: 'XSMALL',\n displayOrder: -100,\n },\n\n // SMALL\n refLinesLabels: {\n minimumLayoutMode: 'SMALL',\n prioOrder: 60,\n displayOrder: 0,\n },\n};\n","import extend from 'extend';\nimport generateId from '../../../../extra/generate-id';\nimport getScrollActions from '../../../scroll/scroll-actions';\nimport axisDockUtil from '../../components/util/axis-dock-util';\nimport refLineUtil from '../../components/util/ref-line-util';\nimport CONSTANTS from './constants';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nfunction DimensionMeasureChart(chartBuilder, opts) {\n const options = opts || {};\n\n const measureAxisProperties = options.measureAxisProperties || {};\n const dimensionAxisProperties = options.dimensionAxisProperties || {};\n const chartOrientation = options.orientation || CONSTANTS.DEFAULT_CHART_ORIENTATION;\n const isChartHorizontal = chartOrientation === CONSTANTS.HORIZONTAL;\n const measureDirection = isChartHorizontal ? 'x' : 'y';\n const dimensionDirection = isChartHorizontal ? 'y' : 'x';\n const SHOW_AXIS_LABELS_OPTIONS = CONSTANTS.SHOW_AXIS_LABELS_OPTIONS;\n const SHOW_TITLE_OPTIONS = CONSTANTS.SHOW_TITLE_OPTIONS;\n const includeMeasureAxisComponent = SHOW_AXIS_LABELS_OPTIONS.includes(measureAxisProperties.show);\n const includeMeasureAxisTitleComponent =\n !!options.measureTitleText && SHOW_TITLE_OPTIONS.includes(measureAxisProperties.show);\n const includeDimensionAxisComponent =\n options.includeDimensionAxis && SHOW_AXIS_LABELS_OPTIONS.includes(dimensionAxisProperties.show);\n const includeDimensionAxisTitleComponent =\n options.includeDimensionAxis &&\n !!options.dimensionTitleText &&\n SHOW_TITLE_OPTIONS.includes(dimensionAxisProperties.show);\n const includeGridlines = options.gridlines && !(!options.gridlines.auto && options.gridlines.spacing === 0);\n\n const includeRefLines = options.refLines && options.refLines.some((refLine) => refLine.show);\n\n const interactionActions = [];\n\n if (includeMeasureAxisComponent) {\n addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (includeMeasureAxisTitleComponent) {\n addMeasureAxisTitleComponent(chartBuilder, options, measureDirection);\n }\n\n addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties);\n\n if (includeDimensionAxisComponent) {\n addDimensionAxisComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (includeDimensionAxisTitleComponent) {\n addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (options.includeDimensionAxis) {\n addDimensionScale(chartBuilder, options, chartOrientation);\n }\n\n if (includeGridlines) {\n addGridlinesComponent(chartBuilder, options.gridlines, measureDirection);\n }\n\n if (options.hasNavigation) {\n addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal);\n }\n\n if (includeRefLines) {\n addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (options.enableLasso && options.selectionsEnabled) {\n const lassoOptions = options.lasso || {};\n addLassoComponent(chartBuilder, lassoOptions);\n }\n\n if (options.enableDimRange && options.includeDimensionAxis && options.selectionsEnabled) {\n const rangeDimOptions = options.dimRange || {};\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeDimComponent(chartBuilder, rangeDimOptions, isChartHorizontal, dimensionAxisOptions.dock, options.isRtl);\n }\n\n if (options.enableMeasureRange && options.selectionsEnabled) {\n const rangeMeasureOptions = options.measureRange || {};\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n addRangeMeasureComponent(\n chartBuilder,\n rangeMeasureOptions,\n isChartHorizontal,\n measureAxisOptions.dock,\n options.isRtl\n );\n }\n\n if (options.enableAreaRange && options.selectionsEnabled) {\n const areaDimOptions = options.areaRange || {};\n const dimAreaAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeAreaComponent(chartBuilder, areaDimOptions, isChartHorizontal, dimAreaAxisOptions.dock, options.isRtl);\n }\n\n if (options.brushActions) {\n addInteractionActions(interactionActions, options.brushActions);\n }\n\n if (interactionActions.length) {\n addInteractionComponent(chartBuilder, interactionActions);\n }\n}\n\nexport default DimensionMeasureChart;\n\nfunction addInteractionComponent(chartBuilder, interactionActions) {\n return chartBuilder.addInteraction({}, { gestures: interactionActions });\n}\n\nfunction addInteractionActions(interactionActions, actions) {\n actions.forEach((a) => {\n interactionActions.push(a);\n });\n}\n\nfunction addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties) {\n let measureScaleSettings = options.measureScaleSettings;\n\n const measureScaleOptions = {\n isRtl: options.isRtl,\n source: options.measureSource,\n orientation: chartOrientation,\n measureAxisProperties,\n };\n\n if (measureAxisProperties && measureAxisProperties.spacing > 0) {\n measureScaleSettings = extend(true, measureScaleSettings || {}, {\n component: {\n ticks: {\n distance: measureAxisProperties.spacing * SENSE_PICASSO_SPACING_COEFFICIENT,\n },\n },\n });\n }\n\n chartBuilder.addScale('measure-scale', measureScaleSettings, measureScaleOptions);\n}\n\nfunction addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n let measureAxisSettings = {\n scale: 'measure',\n settings: options.axisLabelStyle || {},\n forceBounds: measureAxisProperties && !measureAxisProperties.autoMinMax && measureAxisProperties.showBounds,\n };\n measureAxisSettings = extend(measureAxisSettings, CONSTANTS.LAYOUTSETTINGS.measureAxis);\n\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis`, measureAxisSettings, measureAxisOptions);\n}\n\nfunction addMeasureAxisTitleComponent(chartBuilder, options, measureDirection) {\n let measureTitleSettings = {\n text: options.measureTitleText,\n style: options.axisTitleStyle || {},\n };\n measureTitleSettings = extend(measureTitleSettings, CONSTANTS.LAYOUTSETTINGS.measureAxisTitle);\n\n const measureAxisOptions = getMeasureAxisTitleOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis-title`, measureTitleSettings, measureAxisOptions);\n}\n\nfunction addDimensionScale(chartBuilder, options, chartOrientation) {\n const dimensionScaleOptions = {\n isRtl: options.isRtl,\n source: options.dimensionSource,\n orientation: chartOrientation === CONSTANTS.HORIZONTAL ? CONSTANTS.VERTICAL : CONSTANTS.HORIZONTAL,\n };\n\n chartBuilder.addScale('dimension-scale', options.dimensionScaleSettings, dimensionScaleOptions);\n}\n\nfunction addDimensionAxisComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisSettings = {\n scale: 'dimension',\n settings: options.axisLabelStyle || {},\n };\n dimensionAxisSettings = extend(dimensionAxisSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxis);\n\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n\n extend(true, dimensionAxisSettings, options.dimensionAxisSettings || {});\n\n chartBuilder.addComponent(`${dimensionDirection}-axis`, dimensionAxisSettings, dimensionAxisOptions);\n}\n\nfunction addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisTitleSettings = {\n text: options.dimensionTitleText,\n style: options.axisTitleStyle || {},\n };\n dimensionAxisTitleSettings = extend(dimensionAxisTitleSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxisTitle);\n\n const dimensionAxisTitleOptions = getDimensionAxisTitleOptions(options, dimensionDirection);\n\n chartBuilder.addComponent(`${dimensionDirection}-axis-title`, dimensionAxisTitleSettings, dimensionAxisTitleOptions);\n}\n\nfunction addGridlinesComponent(chartBuilder, gridlinesOptions, measureDirection) {\n let gridlinesSettings = {\n ticks: {\n show: true,\n },\n minorTicks: {\n show: !gridlinesOptions.auto && !gridlinesOptions.auto && gridlinesOptions.spacing === 3,\n },\n };\n gridlinesSettings = extend(gridlinesSettings, CONSTANTS.LAYOUTSETTINGS.gridLines);\n\n gridlinesSettings[measureDirection] = { scale: 'measure' };\n\n chartBuilder.addComponent('grid-line', gridlinesSettings);\n}\n\nfunction addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal) {\n const settings = chartBuilder.getSettings();\n\n settings.scroll = {\n dimension: {\n viewSize: (options.scrollSettings && options.scrollSettings.viewSize) || 0,\n max: (options.scrollSettings && options.scrollSettings.max) || 0,\n },\n };\n\n const scrollbarOptions = {\n isRtl: options.isRtl,\n chartID: options.chartID,\n isHorizontal: !isChartHorizontal,\n };\n\n const scrollBarSettings = extend({}, CONSTANTS.LAYOUTSETTINGS.scrollBar);\n\n chartBuilder.addComponent('scrollbar', scrollBarSettings, scrollbarOptions);\n\n addInteractionActions(interactionActions, getScrollActions(options.isNavigationEnabledFn));\n}\n\n/*\n * Add \"ref-line\" component(s). Currently two \"ref-line\" components are used to reserve space for labels and\n * OOB markers outside of the data area. First component: shows the line(s) within the data area. Second component:\n * shows the label(s) and OOB marker(s).\n */\nfunction addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n const axisDock = axisDockUtil.getAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl);\n let refLinesSettings = {\n // First component\n key: 'ref-line',\n style: {\n oob: {\n show: false,\n },\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesSettings = extend(refLinesSettings, CONSTANTS.LAYOUTSETTINGS.refLines);\n\n let refLinesLabelsSettings = {\n // Second component\n // Use a unique key to force re-render of this component in Picasso.\n // This must be done because Picasso does not allow re-binding of functions (and shouldn't either).\n key: `ref-line-labels-${generateId()}`,\n require: ['renderer', 'chart'],\n dock: axisDockUtil.getOppositeAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl),\n preferredSize() {\n if (measureDirection === 'x') {\n // Use constant component size if horizontal\n return 26;\n }\n\n // Adapt component size to the longest label if vertical\n const measureText = this.renderer.measureText;\n const formatter = this.chart.formatter({ data: chartBuilder.settings.scales.measure.data });\n const labelWidths = refLinesLabelsSettings.lines.y.map((line) => {\n const formattedValue = line.label.showValue !== false ? `(${formatter(line.value)})` : '';\n const text = `${line.label.text} ${formattedValue}`;\n const minimumText = line.label.text && formattedValue ? ` ${formattedValue}` : formattedValue;\n return {\n wanted: measureText({\n text,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n required: measureText({\n text: minimumText,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n };\n });\n\n const maxLabelWidth = labelWidths[0];\n for (let i = 1; i < labelWidths.length; i++) {\n if (labelWidths[i].wanted > maxLabelWidth.wanted) {\n maxLabelWidth.wanted = labelWidths[i].wanted;\n }\n if (labelWidths[i].required > maxLabelWidth.required) {\n maxLabelWidth.required = labelWidths[i].required;\n }\n }\n const labelPadding = 12;\n if (maxLabelWidth.required + labelPadding > 100) {\n return maxLabelWidth.required + labelPadding; // Always have space for the value\n }\n return Math.min(maxLabelWidth.wanted + labelPadding, 100); // Limit to 100 px width\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesLabelsSettings = extend(refLinesLabelsSettings, CONSTANTS.LAYOUTSETTINGS.refLinesLabels);\n\n options.refLines.forEach((refLine) => {\n if (!refLine.show) {\n return;\n }\n\n const expressionValue = refLine.refLineExpr && refLine.refLineExpr.value;\n const lineOptions = extend(true, {}, options, {\n paletteColor: refLine.paletteColor,\n style: refLine.style,\n chartID: chartBuilder.options.chartID,\n });\n\n // Add a line for each visible ref line\n const lineSettings = refLineUtil.lineSettings(\n {\n scale: 'measure',\n dir: measureDirection,\n value: expressionValue,\n },\n lineOptions\n );\n\n refLinesSettings.lines[measureDirection].push(lineSettings);\n\n // Add a label and an OOB marker for each visible ref line (using the second component)\n const lineLabelSettings = refLineUtil.lineLabelSettings(\n {\n scale: 'measure',\n value: expressionValue,\n label: {\n text: refLine.showLabel !== false ? refLine.label : '',\n showValue: refLine.showValue !== false,\n },\n },\n lineOptions\n );\n\n if (measureDirection === 'x') {\n lineLabelSettings.label.vAlign = axisDock === 'near' ? 1 : 0;\n } else {\n // y\n lineLabelSettings.label.align = axisDock === 'near' ? 0 : 1;\n }\n\n refLinesLabelsSettings.lines[measureDirection].push(lineLabelSettings);\n });\n\n chartBuilder.addComponent('ref-line', refLinesSettings, {});\n chartBuilder.addComponent('ref-line', refLinesLabelsSettings, {});\n}\n\n/**\n * Adds a lasso component to the chart builder\n * @param {ChartBuilder} chartBuilder\n * @param {object} options - lasso options\n * @param {string} options.brushKey - key used as context for lasso selection triggers\n * @param {string} options.brushComponent - target component key\n */\nfunction addLassoComponent(chartBuilder, options) {\n const lassoOptions = {\n brushKey: options.brushKey,\n brushComponents: options.brushComponents,\n brushData: options.brushData,\n };\n\n chartBuilder.addComponent('lasso', CONSTANTS.LAYOUTSETTINGS.lasso, lassoOptions);\n}\n/**\n * Adds a dimension range component to the chart builder\n * @param {any} chartBuilder\n * @param {object} options - range dim options\n * @param {string} options.brushKey - key used as context for range selection triggers\n * @param {string} options.brushAxis - target axis to perform range select on\n * @param {string} options.brushScale - Scale to use\n * @param {boolean} isChartHorizontal - Whether the chart is horizontal or not\n */\nfunction addRangeDimComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeDimSettings = {\n key: 'rangeDim',\n };\n\n rangeDimSettings = extend(rangeDimSettings, CONSTANTS.LAYOUTSETTINGS.rangeDim);\n\n const rangeDimOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n isHorizontal: !isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeDimSettings, rangeDimOptions);\n}\n\nfunction addRangeMeasureComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMeasureSettings = {\n key: 'rangeMeasure',\n };\n\n rangeMeasureSettings = extend(rangeMeasureSettings, CONSTANTS.LAYOUTSETTINGS.rangeMeasure);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeMeasureSettings, rangeMeasureOptions);\n}\n\nfunction addRangeAreaComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMinorSettings = {\n key: 'rangeMinor',\n };\n\n rangeMinorSettings = extend(rangeMinorSettings, CONSTANTS.LAYOUTSETTINGS.rangeMinor);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushData: options.brushData,\n brushArea: options.brushArea,\n brushComponents: options.brushComponents,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: options.brushScale === 'measure' ? isChartHorizontal : !isChartHorizontal,\n dock,\n isRtl,\n chartInstance: options.chartInstance,\n };\n\n chartBuilder.addComponent('range-area', rangeMinorSettings, rangeMeasureOptions);\n}\n\nfunction getMeasureAxisOptions(options, measureDirection) {\n return {\n dock: options.measureAxisProperties && options.measureAxisProperties.dock,\n direction: measureDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getMeasureAxisTitleOptions(options, measureDirection) {\n return getMeasureAxisOptions(options, measureDirection);\n}\n\nfunction getDimensionAxisOptions(options, dimensionDirection) {\n return {\n dock: options.dimensionAxisProperties && options.dimensionAxisProperties.dock,\n direction: dimensionDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getDimensionAxisTitleOptions(options, dimensionDirection) {\n return getDimensionAxisOptions(options, dimensionDirection);\n}\n","import extend from 'extend';\n\nfunction scale(settings, opts) {\n const options = opts || {};\n const isHorizontal = !options.orientation || options.orientation === 'horizontal';\n const isRtl = !!options.isRtl;\n\n const defaultSettings = {\n name: options.name || 'scale',\n component: {\n invert: isHorizontal && isRtl,\n minorTicks: {\n count: 1,\n },\n range: options.range || undefined,\n domain: options.domain || undefined,\n trackBy: options.trackBy || 'id',\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction measureScale(settings, opts) {\n const options = opts || {};\n let fields = options.source || [];\n if (typeof fields === 'string') {\n fields = [fields];\n }\n\n const defaultSettings = {\n name: 'measure',\n component: {\n expand: 0.1,\n data: {\n fields: fields.map((f) => ({\n field: f,\n })),\n },\n },\n };\n\n const measureAxisProperties = opts && opts.measureAxisProperties;\n\n if (measureAxisProperties && !measureAxisProperties.autoMinMax) {\n // explicit min max measure scale range\n if (['min', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.min = measureAxisProperties.min;\n }\n if (['max', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.max = measureAxisProperties.max;\n }\n }\n\n const measureSettings = extend(true, defaultSettings, settings || {});\n const scaleSettings = scale(measureSettings, opts);\n const hasInvertSettings = settings && settings.component && typeof settings.component.invert !== 'undefined';\n\n if (!hasInvertSettings && opts && opts.orientation === 'vertical') {\n scaleSettings.component.invert = !scaleSettings.component.invert;\n }\n\n return scaleSettings;\n}\n\nfunction dimensionScale(settings, opts) {\n const defaultSettings = {\n name: 'dimension',\n component: {\n trackBy: 'id',\n type: 'band',\n data: {\n extract: {\n field: (opts && opts.source) || '',\n props: {\n label(v) {\n return v.qText || '';\n }, // Map qText to handle both qElemNo and qElemNumber\n },\n },\n },\n label(v) {\n return v.datum.label.value;\n }, // Set qText as value from the mapping on r.92\n },\n };\n\n const dimensionSettings = extend(true, defaultSettings, settings || {});\n\n return scale(dimensionSettings, opts);\n}\n\nscale.measureScale = measureScale;\nscale.dimensionScale = dimensionScale;\n\nexport default scale;\n","export default function getTextRenderer(flags) {\n if (!flags?.isEnabled?.('IM_5791_SVG_LABEL_RENDERING')) {\n return undefined;\n }\n\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? undefined : 'svg';\n}\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\nimport getTextRenderer from './util/get-text-renderer';\n\nfunction axis(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'axis.line.major', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const labelsFill = options.theme.getStyle(chartID, 'axis.label.name', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'axis.label.name', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n const labelsFontFamily = options.theme.getStyle(chartID, 'axis.label.name', 'fontFamily');\n\n const defaultSettings = {\n key: 'axis',\n type: 'axis',\n renderer: getTextRenderer(options.flags),\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl),\n brush: { trigger: [], consume: [] },\n settings: {\n title: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n line: {\n show: true,\n strokeWidth: 1,\n stroke: axisLineStroke,\n },\n labels: {\n fill: labelsFill,\n fontSize: labelsFontSize,\n fontFamily: labelsFontFamily,\n tiltAngle: isRtl ? -40 : 40,\n maxEdgeBleed: 75,\n maxSize: 150,\n mode: 'auto',\n },\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n },\n };\n const axisSettings = extend(true, {}, defaultSettings, settings || {});\n axisSettings.brush.consume.forEach((consume) => {\n consume.style.active.strokeWidth = 0;\n });\n return axisSettings;\n}\n\nfunction xAxis(settings, options) {\n const defaultSettings = {\n key: 'x-axis',\n scale: 'x',\n };\n const xAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(xAxisSettings, options);\n}\n\nfunction yAxis(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis',\n scale: 'y',\n dock: axisDockUtil.getYAxisDock(dock, isRtl),\n };\n const yAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(yAxisSettings, options);\n}\n\naxis.xAxis = xAxis;\naxis.yAxis = yAxis;\n\nexport default axis;\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\n\nfunction text(settings, options) {\n const chartID = options && options.chartID;\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n\n const defaultSettings = {\n key: 'text',\n type: 'text',\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl) || 'bottom',\n displayOrder: 0, // TODO: This can be removed when picasso set displayOrder for text component to 0. Currently picasso set it to 99.\n style: {\n text: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction xAxisTitle(settings, options) {\n const defaultSettings = {\n key: 'x-axis-title',\n };\n const xAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(xAxisTitleSettings, options);\n}\n\nfunction yAxisTitle(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis-title',\n dock: axisDockUtil.getYAxisDock(dock, isRtl) || 'left',\n };\n const yAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(yAxisTitleSettings, options);\n}\n\ntext.xAxisTitle = xAxisTitle;\ntext.yAxisTitle = yAxisTitle;\n\nexport default text;\n","function getBublesAlign(isHorizontal, dock, isRtl) {\n let isAlignStart = (isHorizontal && dock !== 'far') || (!isHorizontal && dock === 'far');\n if (!isHorizontal && isRtl) {\n isAlignStart = !isAlignStart;\n }\n return isAlignStart ? 'start' : 'end';\n}\n\nfunction getDock(brushAxis, brushArea) {\n const dockTargets = [];\n let dockT;\n if (brushAxis) {\n dockTargets.push(`@${brushAxis}`);\n }\n if (brushArea) {\n dockTargets.push(`@${brushArea}`);\n }\n if (dockTargets.length) {\n dockT = dockTargets.join(',');\n }\n return dockT;\n}\n\nexport default {\n getBublesAlign,\n getDock,\n};\n","/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\nconst layoutModes = {\n SPARK: { width: 0, height: 0 },\n XSMALL: { width: 150, height: 75 },\n SMALL: { width: 300, height: 150 },\n MEDIUM: { width: 400, height: 220 },\n FULL: { width: 550, height: 450 },\n};\n\nfunction LayoutModes() {\n return layoutModes;\n}\n\nLayoutModes.getLayoutModeKeys = function () {\n const layoutModeKeys = [];\n let modeKey;\n\n for (modeKey in layoutModes) {\n layoutModeKeys.push(modeKey);\n }\n return layoutModeKeys;\n};\n\nexport default LayoutModes;\n","import extend from 'extend';\nimport getTextRenderer from './util/get-text-renderer';\n\nfunction getLabel(context) {\n const end = context.data.end;\n const formatter = context.dataset(end.source.key).field(end.source.field).formatter();\n return formatter(end.value);\n}\n\nfunction labels(settings, options) {\n const chartID = options && options.chartID;\n const labelsFill = options.theme.getStyle(chartID, 'label.value', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'label.value', 'fontSize');\n const labelsFontFamily = options.theme.getStyle(chartID, 'label.value', 'fontFamily');\n\n const defaultSettings = {\n key: 'labels',\n type: 'labels',\n renderer: getTextRenderer(options.flags),\n displayOrder: 1,\n settings: {\n sources: [\n {\n component: 'box-marker', // Connects with the matching \"key:\" attribute in the visualizations\n selector: 'rect',\n strategy: {\n type: 'bar',\n settings: {\n direction: 'up',\n fontFamily: labelsFontFamily,\n fontSize: parseFloat(labelsFontSize),\n align: 0.5,\n labels: [\n {\n placements: [\n {\n position: 'outside',\n fill: labelsFill,\n justify: 0,\n },\n {\n position: 'inside',\n fill: settings && settings.settings.sources[0].strategy.settings.labels[0].placements[1].fill,\n justify: 1,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default labels;\n","import extend from 'extend';\nimport getTextRenderer from './util/get-text-renderer';\n\nconst directions = {\n left: 'left',\n right: 'right',\n up: 'top',\n down: 'bottom',\n};\n\nfunction legend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = (options && options.dock) || 'auto';\n const show = options && options.show;\n\n if (dock === 'auto') {\n dock = options.chartHeight / options.chartWidth < 1 ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const itemFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const itemFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const itemFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n const defaultSettings = {\n key: 'legend',\n type: 'legend-cat',\n renderer: getTextRenderer(options.flags),\n dock,\n show,\n scale: {\n type: 'color',\n },\n settings: {\n title: {\n anchor: 'middle',\n },\n layout: {\n direction: isRtl ? 'rtl' : 'ltr',\n size: dock === 'top' || dock === 'bottom' ? 2 : 1,\n vertical: dock === 'top' || dock === 'bottom' ? 16 : 8,\n },\n navigation: {\n button: {\n class: {\n 'lui-fade-button': true,\n },\n content(h, state) {\n const c = ['lui-button__icon', 'lui-icon', `lui-icon--triangle-${directions[state.direction]}`];\n return h('span', {\n style: {\n pointerEvents: 'none',\n },\n class: c.join(' '),\n });\n },\n },\n },\n },\n style: {\n item: {\n label: {\n fontSize: itemFontSize,\n fontFamily: itemFontFamily,\n fill: itemFill,\n lineHeight: 1,\n wordBreak: 'break-word',\n },\n margin: {\n top: 5,\n left: 10,\n right: 10,\n bottom: 10,\n },\n shape: {\n type: options.type ? options.type : 'square',\n size: (parseInt(itemFontSize, 10) * 3) / 4, // To make it consistent with non-picasso charts\n },\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings);\n}\n\nexport default legend;\n","import extend from 'extend';\nimport ChartPresets from './chart-presets';\nimport scale from './scale';\nimport axis from './components/axis';\nimport boxMarker from './components/box-marker';\nimport eventArea from './components/event-area';\nimport gridLine from './components/grid-line';\nimport interaction from './components/interaction';\nimport pointMarker from './components/point-marker';\nimport scrollbar from './components/scrollbar';\nimport text from './components/text';\nimport lasso from './components/lasso';\nimport range from './components/range';\nimport refLine from './components/ref-line';\nimport layoutModes from './layout-modes';\nimport labels from './components/labels';\nimport categoricalLegend from './components/categorical-legend';\nimport sequentialLegend from './components/sequential-legend';\nimport rangeArea from './components/range-area';\n\nfunction createComponent(type, settings, options) {\n switch (type) {\n // Picasso components\n case 'scale':\n return scale(settings, options);\n case 'measure-scale':\n return scale.measureScale(settings, options);\n case 'dimension-scale':\n return scale.dimensionScale(settings, options);\n case 'axis':\n return axis(settings, options);\n case 'box-marker':\n return boxMarker(settings, options);\n case 'point-marker':\n return pointMarker(settings, options);\n case 'scrollbar':\n return scrollbar(settings, options);\n case 'text':\n return text(settings, options);\n case 'lasso':\n return lasso(settings, options);\n case 'range':\n return range(settings, options);\n case 'range-area':\n return rangeArea(settings, options);\n case 'categorical-legend':\n return categoricalLegend(settings, options);\n case 'sequential-legend':\n return sequentialLegend(settings, options);\n // Wrapepd picasso components\n case 'x-axis':\n return axis.xAxis(settings, options);\n case 'y-axis':\n return axis.yAxis(settings, options);\n case 'x-axis-title':\n return text.xAxisTitle(settings, options);\n case 'y-axis-title':\n return text.yAxisTitle(settings, options);\n case 'grid-line':\n return gridLine(settings, options);\n case 'interaction':\n return interaction(settings, options);\n case 'ref-line':\n return refLine(settings, options);\n // Custom components\n case 'event-area':\n return eventArea(settings, options);\n case 'labels':\n return labels(settings, options);\n default:\n return undefined;\n }\n}\n\nfunction ChartBuilder(options) {\n this.options = options || {};\n\n this.settings = {\n dockLayout: {\n layoutModes: layoutModes(),\n },\n components: [],\n scales: {},\n };\n}\n\nChartBuilder.prototype.addComponent = function addComponent(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent(type, settings, extendedOptions);\n this.settings.components.push(component);\n return component;\n};\n\nChartBuilder.prototype.addInteraction = function addInteraction(settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent('interaction', settings, extendedOptions);\n if (!this.settings.interactions) {\n this.settings.interactions = [];\n }\n this.settings.interactions.push(component);\n return component;\n};\n\nChartBuilder.prototype.addScale = function addScale(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const scale = createComponent(type, settings, extendedOptions);\n this.settings.scales[scale.name] = scale.component;\n};\n\nChartBuilder.prototype.getSettings = function getSettings() {\n return this.settings;\n};\n\nChartBuilder.prototype.getComponent = function getComponent(key) {\n return this.settings.components.filter((component) => component.key === key)[0];\n};\n\nChartBuilder.prototype.addPreset = function addPreset(type, options) {\n ChartPresets(type, this, options);\n};\n\nChartBuilder.validateComponentKeys = function validateComponentKeys(components) {\n const keys = {};\n return components\n .map((component) => {\n const key = component.key;\n if (!key) {\n return `Missing key for component ${component.type}`;\n }\n if (keys[key]) {\n return `Duplicate key for component ${component.type}`;\n }\n keys[key] = true;\n return null;\n })\n .filter((msg) => !!msg);\n};\n\n/*\n * Factory function\n */\nChartBuilder.create = function (options) {\n return new ChartBuilder(options);\n};\n\nChartBuilder.createComponent = createComponent;\n\nexport default ChartBuilder;\n","import extend from 'extend';\n\nfunction boxMarker(settings) {\n const defaultSettings = {\n key: 'box-marker',\n type: 'box-marker',\n settings: {\n minor: { scale: 'x' },\n orientation: 'horizontal',\n },\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default boxMarker;\n","import extend from 'extend';\n\nfunction pointMarker(settings) {\n const defaultSettings = {\n key: 'point-marker',\n type: 'point-marker',\n settings: {},\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default pointMarker;\n","import extend from 'extend';\n\nfunction scrollbar(settings, options) {\n const isRtl = options && options.isRtl;\n const chartID = options && options.chartID;\n const isHorizontal = options && options.isHorizontal;\n const defaultSettings = {\n key: 'scrollbar',\n type: 'scrollbar',\n scroll: 'dimension',\n dock: isHorizontal ? 'bottom' : isRtl ? 'left' : 'right',\n settings: {\n backgroundColor: options.theme.getStyle(chartID, '', 'backgroundColor'),\n invert: isRtl && isHorizontal,\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default scrollbar;\n","import extend from 'extend';\n\nfunction lasso(settings, options) {\n const brushKey = options && options.brushKey;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n\n const defaultSettings = {\n type: 'brush-lasso',\n key: 'lasso',\n displayOrder: 99,\n settings: {\n brush: {\n components: [],\n },\n lasso: {\n fill: 'rgba(0, 0, 0, 0)',\n stroke: 'rgba(102,102,102,1)',\n strokeWidth: 2,\n opacity: 1,\n strokeDasharray: null, // '10, 4',\n },\n startPoint: {\n r: 10,\n fill: 'rgba(0, 152, 69, 1)',\n strokeWidth: 0,\n opacity: 1,\n },\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default lasso;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction range(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushArea = options && options.brushArea;\n const brushScale = options && options.brushScale;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n\n const defaultSettings = {\n type: 'brush-range',\n key: 'range',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: brushKey,\n fill: 'rgba(0, 0, 0, 0)',\n scale: brushScale,\n multiple: options && options.multiple === false ? options.multiple : true,\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default range;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction rangeArea(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n const brushArea = options && options.brushArea;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const chartInstance = options && options.chartInstance;\n let isStartBorder = true;\n\n const defaultSettings = {\n type: 'brush-area-dir',\n key: 'area',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: {\n components: [],\n },\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n label(data) {\n if (isStartBorder) {\n isStartBorder = false;\n const formattedStartValue = chartInstance\n .dataset(data.binStart.source.key)\n .field(data.binStart.source.field)\n .formatter()(data.binStart.value);\n return formattedStartValue;\n }\n isStartBorder = true;\n const formattedEndValue = chartInstance\n .dataset(data.binEnd.source.key)\n .field(data.binEnd.source.field)\n .formatter()(data.binEnd.value);\n return formattedEndValue;\n },\n },\n multiple: options && options.multiple === false ? options.multiple : true,\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n action: 'add',\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default rangeArea;\n","import extend from 'extend';\n\nfunction sequentialLegend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = options.dock || 'auto';\n\n if (dock === 'auto') {\n dock = options.chartHeight < options.chartWidth ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const tickFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const tickFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const tickFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n function getAlignValue(word) {\n switch (word) {\n case 'left':\n return 0;\n case 'right':\n return 1;\n case 'middle':\n default:\n return 0.5;\n }\n }\n\n const defaultSettings = {\n key: 'seqlegend',\n type: 'legend-seq',\n dock,\n\n // Settings to position the legend outside of the axis\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n\n settings: {\n align: isRtl ? getAlignValue('right') : getAlignValue('left'),\n major: {\n invert: dock === 'left' || dock === 'right' || isRtl,\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n tick: {\n fill: tickFill,\n fontSize: tickFontSize,\n fontFamily: tickFontFamily,\n },\n },\n };\n const finalSettings = extend(true, {}, defaultSettings, settings);\n return finalSettings;\n}\n\nexport default sequentialLegend;\n","import extend from 'extend';\n\nfunction gridLine(settings, options) {\n const chartID = options && options.chartID;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'grid.line.major', 'color');\n\n const defaultSettings = {\n displayOrder: -1,\n key: 'grid-line',\n type: 'grid-line',\n x: null,\n y: null,\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default gridLine;\n","import extend from 'extend';\n\nfunction interaction(settings, options) {\n const gestures = (options && options.gestures) || [];\n const defaultSettings = {\n type: 'hammer',\n key: 'hammered',\n gestures,\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default interaction;\n","import extend from 'extend';\n\nfunction refLine(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const oobColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'color');\n const oobBackgroundColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'backgroundColor');\n\n const defaultSettings = {\n key: 'ref-line',\n type: 'ref-line',\n dock: 'center',\n prioOrder: -1,\n lines: {\n x: [],\n y: [],\n },\n style: {\n oob: {\n width: 7,\n fill: oobBackgroundColor,\n text: {\n fill: oobColor,\n },\n padding: {\n x: 7,\n y: 5,\n },\n },\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default refLine;\n","import extend from 'extend';\n\nfunction eventArea(settings) {\n const defaultSettings = {\n type: 'event-area',\n key: 'event-area',\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default eventArea;\n","import DimensionMeasureChart from './presets/dimension-measure-chart/dimension-measure-chart';\n\nfunction ChartPresets(type, chartBuilder, options) {\n switch (type) {\n case 'dimension-measure-chart':\n DimensionMeasureChart(chartBuilder, options);\n break;\n default:\n throw Error('There is no chart preset with that type');\n }\n}\n\nexport default ChartPresets;\n","/**\n * Configuration for disclaimers\n *\n */\n\n/**\n * Placement on chart\n */\nconst ALIGNMENT = {\n CENTER: 0,\n BOTTOM: 1,\n};\n\n/**\n * Configuration of all disclaimers\n *\n * label - key for translation\n * alignment - Placement on chart\n * default - Supported by default. If 'false' the disclaimer needs to be set to 'true' in supportedDisclaimers to be valid\n */\nconst DISCLAIMERS = [\n {\n label: 'NoDataExist',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'RequireNumericDimension',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'OnlyNanData',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'OnlyNegativeOrZeroValues',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'LimitedData',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'OnlyNanColor',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'NegativeOrZeroValues',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'DataRangeIncludingZero',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n];\n\nexport default {\n DISCLAIMERS,\n ALIGNMENT,\n};\n","/**\n * Disclaimer utility for setting attributes needed for the disclaimer component\n *\n * @exports objects.picasso/disclaimer/disclaimer-attributes-utils\n */\nimport DisclaimersConfig from './disclaimers-config';\n\n/**\n * Checks if the data range in measures and axis spans over the value 0\n * @ignore\n * @param measureAxis\n * @param measureInfo\n * @returns {boolean} True if the data range in any measure or the given axis spans over 0\n */\nfunction hasDataRangeIncludingZero(measureAxis, measureInfo) {\n const len = measureInfo.length;\n let i;\n let explicitMinOn;\n let explicitMaxOn;\n let min;\n let max;\n if (measureAxis) {\n explicitMinOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'min' || measureAxis.minMax === 'minMax') &&\n measureAxis.min !== null &&\n !Number.isNaN(+measureAxis.min);\n explicitMaxOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'max' || measureAxis.minMax === 'minMax') &&\n measureAxis.max !== null &&\n !Number.isNaN(+measureAxis.max);\n }\n min = Number.MAX_VALUE;\n max = -Number.MAX_VALUE;\n\n // return true if data contains zero\n for (i = 0; i < len; i++) {\n min = Math.min(min, measureInfo[i].qMin);\n max = Math.max(max, measureInfo[i].qMax);\n if (min <= 0 && max >= 0) {\n return true;\n }\n }\n\n // return true if axis explicits contains zero\n min = explicitMinOn ? measureAxis.min : min;\n max = explicitMaxOn ? measureAxis.max : max;\n return min <= 0 && max >= 0;\n}\n\nfunction hasSubNodes(stackedDataPages) {\n return (\n stackedDataPages && stackedDataPages[0] && stackedDataPages[0].qData[0] && stackedDataPages[0].qData[0].qSubNodes\n );\n}\n\nconst util = {\n getNoDataExistAttribute(qHyperCube) {\n return qHyperCube.qSize.qcy * qHyperCube.qSize.qcx === 0;\n },\n\n getLimitedDataAttribute(qHyperCube, opts) {\n let result = false;\n let maxNbrOfDimensions;\n if (!qHyperCube) {\n result = opts.explicitLimitedData === true;\n } else if (opts.explicitLimitedData !== undefined) {\n result = opts.explicitLimitedData === true;\n } else if (qHyperCube.qDataPages && qHyperCube.qDataPages[0]) {\n result = !opts.paging && qHyperCube.qSize.qcy > qHyperCube.qDataPages[0].qMatrix.length;\n } else if (hasSubNodes(qHyperCube.qStackedDataPages)) {\n maxNbrOfDimensions = opts.maxNbrOfDimensions ? opts.maxNbrOfDimensions : 2;\n if (qHyperCube.qDimensionInfo.length >= maxNbrOfDimensions) {\n result = qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.some((node) => node.qDown > 0);\n } else {\n result =\n qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.length < qHyperCube.qStackedDataPages[0].qArea.qHeight;\n }\n }\n return result;\n },\n\n getNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return !opts.supportNegative && qHyperCube.qMeasureInfo.some((measure) => measure.qMin <= 0);\n },\n\n getOnlyNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return (\n (!opts.supportNegative &&\n qHyperCube.qMeasureInfo.every((measure) => measure.qMax <= 0 && measure.qMax >= measure.qMin)) ||\n qHyperCube.qSize.qcy === 0\n );\n },\n\n getOnlyNanDataAttribute(qHyperCube, opts) {\n if (opts.explicitOnlyNanData !== undefined) {\n return opts.explicitOnlyNanData;\n }\n\n return qHyperCube.qMeasureInfo.every((measure) => measure.qMax < measure.qMin || measure.qMax === 'NaN');\n },\n\n getDataRangeIncludingZeroAttribute(data, opts) {\n return !opts.supportRangeOverZero && hasDataRangeIncludingZero(data.measureAxis, data.qHyperCube.qMeasureInfo);\n },\n\n /**\n * Apply attributes that configures disclaimers for a charts\n * @param {Object} options - Options\n * @param {Object} data - Layout data\n * @returns {Object}\n */\n applyAttributes(options, data) {\n const opts = options || {};\n const dataAttributes = {};\n\n opts.supportNegative = opts.supportNegative === undefined ? true : opts.supportNegative;\n opts.supportRangeOverZero = opts.supportRangeOverZero === undefined ? true : opts.supportRangeOverZero;\n\n DisclaimersConfig.DISCLAIMERS.forEach((config) => {\n dataAttributes[config.label] = false;\n });\n if (!data || !data.qHyperCube) {\n return dataAttributes;\n }\n dataAttributes.NoDataExist = this.getNoDataExistAttribute(data.qHyperCube);\n if (dataAttributes.NoDataExist) {\n return dataAttributes;\n }\n dataAttributes.RequireNumericDimension = opts.explicitRequireNumericDimension;\n if (dataAttributes.RequireNumericDimension) {\n return dataAttributes;\n }\n dataAttributes.LimitedData = this.getLimitedDataAttribute(data.qHyperCube, opts);\n dataAttributes.NegativeOrZeroValues = this.getNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNegativeOrZeroValues = this.getOnlyNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNanData = this.getOnlyNanDataAttribute(data.qHyperCube, opts);\n dataAttributes.DataRangeIncludingZero = this.getDataRangeIncludingZeroAttribute(data, opts);\n\n return dataAttributes;\n },\n};\nexport default util;\n","/**\n * Helper for disclaimer component\n *\n */\n\n/**\n * Create new Helper for disclaimer\n * @param disclaimersConfig {Array} List of disclaimer config objects\n * @param dataAttributes {Object} Config for which disclaimers that are valid to show\n * @param supportedDisclaimers {Object} Config for which disclaimers that are supported\n * @constructor\n */\nfunction Helper(disclaimersConfig, dataAttributes, supportedDisclaimers) {\n this.disclaimersConfig = disclaimersConfig;\n this.dataAttributes = dataAttributes;\n this.supportedDisclaimers = supportedDisclaimers;\n}\n\nfunction isValid(label, list) {\n return label && list && list[label];\n}\n\n/**\n * Returns true if disclaimer config is valid, supported and has an alignment\n * @param disclaimer {Object} Configuration for a disclaimer\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isValidAndSupported = function (disclaimer, alignment) {\n return (\n isValid(disclaimer.label, this.dataAttributes) &&\n (disclaimer.default || isValid(disclaimer.label, this.supportedDisclaimers)) &&\n alignment !== undefined &&\n disclaimer.alignment === alignment\n );\n};\n\n/**\n * Returns true if there are any valid disclaimers for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isAnyValidDisclaimer = function (alignment) {\n let result = false;\n const self = this;\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n result = true;\n }\n });\n return result;\n};\n\n/**\n * Gets all translated disclaimer messages for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @param translator {Object} Translator component\n * @returns {string}\n */\nHelper.prototype.getMessage = function (alignment, translator) {\n let str = '';\n const self = this;\n if (translator) {\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n str += `${translator.get(`Object.Disclaimer.${config.label}`)} `;\n }\n });\n }\n return str;\n};\n\nexport default Helper;\n","/**\n * Disclaimer component for Picasso base charts\n *\n * @exports objects.picasso/disclaimer/disclaimer\n */\n\nimport extend from 'extend';\nimport DisclaimersConfig from './disclaimers-config';\nimport AttributesUtil from './disclaimer-attributes-util';\nimport DisclaimerComponentHelper from './disclaimer-component-helper';\n\nDisclaimer.ERRORS = {\n SET: 'Calling Disclaimer.set() without attributes',\n DISPLAY: 'Calling Disclaimer.display() before attributes are applied',\n};\n\n/**\n * Create new disclaimer component\n * @param {Object} options - A reference to chart options\n * @constructor\n */\nfunction Disclaimer(environment) {\n this.environment = environment;\n this.clear();\n}\n\nDisclaimer._applyDefaultSupport = function (supportedDisclaimers, disclaimersConfig) {\n let supported = supportedDisclaimers;\n if (!supported) {\n supported = {};\n }\n disclaimersConfig.forEach((config) => {\n if (supported[config.label] === undefined) {\n supported[config.label] = config.default;\n }\n });\n return supported;\n};\n\nDisclaimer.prototype.getComponentSettings = function () {\n const { translator } = this.environment;\n const supportedDisclaimers = extend(true, {}, this.vizAttributes.supportedDisclaimers);\n const helper = new DisclaimerComponentHelper(\n DisclaimersConfig.DISCLAIMERS,\n this.dataAttributes,\n supportedDisclaimers\n );\n\n let message;\n let dock;\n if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.CENTER)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.CENTER, translator);\n dock = 'center';\n } else if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.BOTTOM)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.BOTTOM, translator);\n dock = 'bottom';\n } else {\n return undefined;\n }\n\n return {\n key: 'disclaimer',\n type: 'disclaimer',\n layout: {\n displayOrder: 1000,\n dock,\n },\n settings: {\n label: message,\n rtl: this.environment?.options?.direction === 'rtl',\n },\n };\n};\n\n/**\n * Set attributes that configures disclaimers for a charts\n * @param {Object} attributes - Disclaimer settings for a chart\n */\nDisclaimer.prototype.set = function (attributes) {\n this.clear();\n if (attributes) {\n this.vizAttributes = attributes;\n this.dataAttributes = AttributesUtil.applyAttributes(this.vizAttributes.options, this.vizAttributes.data);\n } else {\n throw new Error(Disclaimer.ERRORS.SET);\n }\n};\n\n/**\n * Clears disclaimer settings\n */\nDisclaimer.prototype.clear = function () {\n this.vizAttributes = null;\n this.dataAttributes = null;\n};\n\nexport default Disclaimer;\n","import extend from 'extend';\nimport { getValue } from 'qlik-chart-modules';\n\nimport Class from '../extra/class';\nimport ChartBuilder from './chart-builder/chart-builder';\nimport Disclaimer from './disclaimer/disclaimer';\n\nfunction getData(backendApi, hyperCube, rect) {\n let page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n let dataPagesPath;\n\n if (rect) {\n const width = rect.width || hyperCube.qSize.qcx;\n const maxHeight = Math.floor(10000 / width);\n page = {\n qTop: rect.top || 0,\n qLeft: rect.left || 0,\n qWidth: width,\n qHeight: rect.height ? Math.min(rect.height, maxHeight) : maxHeight,\n };\n } else {\n page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n }\n\n switch (hyperCube.qMode) {\n case 'K': // Stacked mode\n dataPagesPath = 'qStackedDataPages';\n break;\n case 'S': // Straight table mode\n default:\n dataPagesPath = 'qDataPages';\n break;\n }\n\n return backendApi.getData([page], null, hyperCube).then((pages) => {\n hyperCube[dataPagesPath] = pages;\n });\n}\n\nconst ChartView = Class.extend({\n init(picasso, $element, environment, backendApi, selectionsApi) {\n this.$element = $element;\n this.environment = environment;\n this.backendApi = backendApi;\n\n this._selectionsApi = selectionsApi;\n this._on = false;\n this._disclaimer = new Disclaimer(environment);\n this._dataPaths = ['qHyperCube'];\n\n const self = this;\n\n // Set properties that should be available in subclasses\n\n this.picassoElement = $element[0];\n this.picassoElement.className += ' picasso-chart';\n\n // Paint a visually empty Picasso chart containing an event-area component\n this.chartInstance = picasso.chart({\n element: this.picassoElement,\n settings: {\n components: [\n ChartBuilder.createComponent('event-area', {\n mounted(element) {\n // Mounted is run synchronously so this.dataAreaElem will be available in subclass constructors\n self.dataAreaElem = element;\n },\n }),\n ],\n },\n });\n },\n\n updateEnvironment(environment) {\n this.environment = environment;\n },\n\n isRtl() {\n return this.environment.options?.direction === 'rtl';\n },\n\n setDataPaths(dataPaths) {\n this._dataPaths = dataPaths;\n },\n\n getData(backendApi, hyperCube, rect) {\n return getData(backendApi, hyperCube, rect);\n },\n\n hasValidData() {\n return true;\n },\n\n paint() {\n // Use this.layout\n if (this.hasValidData()) {\n this._disclaimer.set(this.getDisclaimerAttributes(this.layout));\n const disclaimerComponent = this._disclaimer.getComponentSettings();\n const isSuppressingDisc = disclaimerComponent?.layout?.dock === 'center';\n\n const chartSettings = this.createChartSettings(this.layout);\n if (isSuppressingDisc) {\n chartSettings.components = [disclaimerComponent];\n } else if (disclaimerComponent) {\n chartSettings.components.push(disclaimerComponent);\n }\n ChartBuilder.validateComponentKeys(chartSettings.components).forEach((errorMsg) => {\n console.error(errorMsg);\n });\n\n this.updateChart(this.layout, chartSettings);\n this._painted = true;\n }\n return Promise.resolve();\n },\n\n resize() {\n // Use this.layout\n if (!this.layout) {\n // There are cases where resize is run before updateData, therefore layout is undefined\n return undefined;\n }\n return this.paint();\n },\n\n createChartSettings() {\n throw new Error('Subclass must implement \"createChartSettings\" function');\n },\n\n addSnapshotChartSettings(settings, layout) {\n const { freeResize } = this.environment.options;\n if (!freeResize && layout.snapshotData) {\n settings.dockLayout.logicalSize = {\n width: layout.snapshotData.content.size.w,\n height: layout.snapshotData.content.size.h,\n preserveAspectRatio: true,\n };\n }\n },\n\n updateData(layout) {\n // clone the layout so that updates ignored by suppressOnPaint does not affect it.\n if (this._destroyed) {\n return Promise.reject();\n }\n\n this.layout = extend(true, {}, layout);\n this.layout.permissions = layout.permissions;\n return Promise.resolve();\n },\n\n updateChart(layout, settings, isPartialData) {\n const localeInfo = this.environment.appLayout?.qLocaleInfo ?? {};\n const data = this._dataPaths.map((path) => ({\n type: 'q',\n key: path,\n config: {\n localeInfo,\n },\n data: getValue(layout, path.replace(/\\//g, '.')),\n }));\n if (this.colorService) {\n data.push(...this.colorService.getData());\n }\n\n this.chartInstance.update({\n data,\n settings,\n partialData: isPartialData,\n });\n\n const STATE_DATA_UPDATED = 2;\n this.picassoElement.setAttribute('data-state', STATE_DATA_UPDATED); // For integration test\n },\n\n destroy() {\n this._destroyed = true;\n this.off();\n this.chartInstance.destroy();\n },\n\n getViewState() {\n return {};\n },\n\n isLassoDisabled() {\n return true;\n },\n\n setSnapshotData(snapshotLayout) {\n if (!snapshotLayout.snapshotData) {\n snapshotLayout.snapshotData = {};\n }\n snapshotLayout.snapshotData.content = {\n // eslint-disable-line no-param-reassign\n chartData: {},\n size: {\n w: this.$element.width(),\n h: this.$element.height(),\n },\n };\n },\n\n getDisclaimerAttributes(layout) {\n return {\n data: layout,\n };\n },\n});\n\nexport default ChartView;\n","const colorStruct = {\n aliceblue: { r: 240, g: 248, b: 255 },\n antiquewhite: { r: 250, g: 235, b: 215 },\n aqua: { r: 0, g: 255, b: 255 },\n aquamarine: { r: 127, g: 255, b: 212 },\n azure: { r: 240, g: 255, b: 255 },\n beige: { r: 245, g: 245, b: 220 },\n bisque: { r: 255, g: 228, b: 196 },\n black: { r: 0, g: 0, b: 0 },\n blanchedalmond: { r: 255, g: 235, b: 205 },\n blue: { r: 0, g: 0, b: 255 },\n blueviolet: { r: 138, g: 43, b: 226 },\n brown: { r: 165, g: 42, b: 42 },\n burlywood: { r: 222, g: 184, b: 135 },\n cadetblue: { r: 95, g: 158, b: 160 },\n chartreuse: { r: 127, g: 255, b: 0 },\n chocolate: { r: 210, g: 105, b: 30 },\n coral: { r: 255, g: 127, b: 80 },\n cornflowerblue: { r: 100, g: 149, b: 237 },\n cornsilk: { r: 255, g: 248, b: 220 },\n crimson: { r: 220, g: 20, b: 60 },\n cyan: { r: 0, g: 255, b: 255 },\n darkblue: { r: 0, g: 0, b: 139 },\n darkcyan: { r: 0, g: 139, b: 139 },\n darkgoldenrod: { r: 184, g: 134, b: 11 },\n darkgray: { r: 169, g: 169, b: 169 },\n darkgreen: { r: 0, g: 100, b: 0 },\n darkgrey: { r: 169, g: 169, b: 169 },\n darkkhaki: { r: 189, g: 183, b: 107 },\n darkmagenta: { r: 139, g: 0, b: 139 },\n darkolivegreen: { r: 85, g: 107, b: 47 },\n darkorange: { r: 255, g: 140, b: 0 },\n darkorchid: { r: 153, g: 50, b: 204 },\n darkred: { r: 139, g: 0, b: 0 },\n darksalmon: { r: 233, g: 150, b: 122 },\n darkseagreen: { r: 143, g: 188, b: 143 },\n darkslateblue: { r: 72, g: 61, b: 139 },\n darkslategray: { r: 47, g: 79, b: 79 },\n darkslategrey: { r: 47, g: 79, b: 79 },\n darkturquoise: { r: 0, g: 206, b: 209 },\n darkviolet: { r: 148, g: 0, b: 211 },\n deeppink: { r: 255, g: 20, b: 147 },\n deepskyblue: { r: 0, g: 191, b: 255 },\n dimgray: { r: 105, g: 105, b: 105 },\n dimgrey: { r: 105, g: 105, b: 105 },\n dodgerblue: { r: 30, g: 144, b: 255 },\n firebrick: { r: 178, g: 34, b: 34 },\n floralwhite: { r: 255, g: 250, b: 240 },\n forestgreen: { r: 34, g: 139, b: 34 },\n fuchsia: { r: 255, g: 0, b: 255 },\n gainsboro: { r: 220, g: 220, b: 220 },\n ghostwhite: { r: 248, g: 248, b: 255 },\n gold: { r: 255, g: 215, b: 0 },\n goldenrod: { r: 218, g: 165, b: 32 },\n gray: { r: 128, g: 128, b: 128 },\n green: { r: 0, g: 128, b: 0 },\n greenyellow: { r: 173, g: 255, b: 47 },\n grey: { r: 128, g: 128, b: 128 },\n honeydew: { r: 240, g: 255, b: 240 },\n hotpink: { r: 255, g: 105, b: 180 },\n indianred: { r: 205, g: 92, b: 92 },\n indigo: { r: 75, g: 0, b: 130 },\n ivory: { r: 255, g: 255, b: 240 },\n khaki: { r: 240, g: 230, b: 140 },\n lavender: { r: 230, g: 230, b: 250 },\n lavenderblush: { r: 255, g: 240, b: 245 },\n lawngreen: { r: 124, g: 252, b: 0 },\n lemonchiffon: { r: 255, g: 250, b: 205 },\n lightblue: { r: 173, g: 216, b: 230 },\n lightcoral: { r: 240, g: 128, b: 128 },\n lightcyan: { r: 224, g: 255, b: 255 },\n lightgoldenrodyellow: { r: 250, g: 250, b: 210 },\n lightgray: { r: 211, g: 211, b: 211 },\n lightgreen: { r: 144, g: 238, b: 144 },\n lightgrey: { r: 211, g: 211, b: 211 },\n lightpink: { r: 255, g: 182, b: 193 },\n lightsalmon: { r: 255, g: 160, b: 122 },\n lightseagreen: { r: 32, g: 178, b: 170 },\n lightskyblue: { r: 135, g: 206, b: 250 },\n lightslategray: { r: 119, g: 136, b: 153 },\n lightslategrey: { r: 119, g: 136, b: 153 },\n lightsteelblue: { r: 176, g: 196, b: 222 },\n lightyellow: { r: 255, g: 255, b: 224 },\n lime: { r: 0, g: 255, b: 0 },\n limegreen: { r: 50, g: 205, b: 50 },\n linen: { r: 250, g: 240, b: 230 },\n magenta: { r: 255, g: 0, b: 255 },\n maroon: { r: 128, g: 0, b: 0 },\n mediumaquamarine: { r: 102, g: 205, b: 170 },\n mediumblue: { r: 0, g: 0, b: 205 },\n mediumorchid: { r: 186, g: 85, b: 211 },\n mediumpurple: { r: 147, g: 112, b: 219 },\n mediumseagreen: { r: 60, g: 179, b: 113 },\n mediumslateblue: { r: 123, g: 104, b: 238 },\n mediumspringgreen: { r: 0, g: 250, b: 154 },\n mediumturquoise: { r: 72, g: 209, b: 204 },\n mediumvioletred: { r: 199, g: 21, b: 133 },\n midnightblue: { r: 25, g: 25, b: 112 },\n mintcream: { r: 245, g: 255, b: 250 },\n mistyrose: { r: 255, g: 228, b: 225 },\n moccasin: { r: 255, g: 228, b: 181 },\n navajowhite: { r: 255, g: 222, b: 173 },\n navy: { r: 0, g: 0, b: 128 },\n oldlace: { r: 253, g: 245, b: 230 },\n olive: { r: 128, g: 128, b: 0 },\n olivedrab: { r: 107, g: 142, b: 35 },\n orange: { r: 255, g: 165, b: 0 },\n orangered: { r: 255, g: 69, b: 0 },\n orchid: { r: 218, g: 112, b: 214 },\n palegoldenrod: { r: 238, g: 232, b: 170 },\n palegreen: { r: 152, g: 251, b: 152 },\n paleturquoise: { r: 175, g: 238, b: 238 },\n palevioletred: { r: 219, g: 112, b: 147 },\n papayawhip: { r: 255, g: 239, b: 213 },\n peachpuff: { r: 255, g: 218, b: 185 },\n peru: { r: 205, g: 133, b: 63 },\n pink: { r: 255, g: 192, b: 203 },\n plum: { r: 221, g: 160, b: 221 },\n powderblue: { r: 176, g: 224, b: 230 },\n purple: { r: 128, g: 0, b: 128 },\n red: { r: 255, g: 0, b: 0 },\n rosybrown: { r: 188, g: 143, b: 143 },\n royalblue: { r: 65, g: 105, b: 225 },\n saddlebrown: { r: 139, g: 69, b: 19 },\n salmon: { r: 250, g: 128, b: 114 },\n sandybrown: { r: 244, g: 164, b: 96 },\n seagreen: { r: 46, g: 139, b: 87 },\n seashell: { r: 255, g: 245, b: 238 },\n sienna: { r: 160, g: 82, b: 45 },\n silver: { r: 192, g: 192, b: 192 },\n skyblue: { r: 135, g: 206, b: 235 },\n slateblue: { r: 106, g: 90, b: 205 },\n slategray: { r: 112, g: 128, b: 144 },\n slategrey: { r: 112, g: 128, b: 144 },\n snow: { r: 255, g: 250, b: 250 },\n springgreen: { r: 0, g: 255, b: 127 },\n steelblue: { r: 70, g: 130, b: 180 },\n tan: { r: 210, g: 180, b: 140 },\n teal: { r: 0, g: 128, b: 128 },\n thistle: { r: 216, g: 191, b: 216 },\n tomato: { r: 255, g: 99, b: 71 },\n transparent: {\n r: 255,\n g: 255,\n b: 255,\n a: 0,\n },\n turquoise: { r: 64, g: 224, b: 208 },\n violet: { r: 238, g: 130, b: 238 },\n wheat: { r: 245, g: 222, b: 179 },\n white: { r: 255, g: 255, b: 255 },\n whitesmoke: { r: 245, g: 245, b: 245 },\n yellow: { r: 255, g: 255, b: 0 },\n yellowgreen: { r: 154, g: 205, b: 50 },\n};\n\nexport default colorStruct;\n","/* eslint-disable camelcase */\n/* eslint-disable no-bitwise */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-cond-assign */\n/* eslint-disable prefer-rest-params */\n\n/**\n * Module which defines a color object\n * @exports objects.views/charts/representation/color\n * @expose module:objects.views/charts/representation/color~Color\n */\nimport Class from './class';\nimport CSSColors from './css-colors';\n\n// color formats\nconst rgb = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i;\n\nconst rgba = /^rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(\\d(\\.\\d+)?)\\)$/i;\nconst hex = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i;\nconst hexShort = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i;\nconst hsl = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i;\nconst hsla = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i;\nconst floor = Math.floor;\nconst round = Math.round;\n\n/**\n * @class\n * @classdesc Class which provides color transformation functionality\n * @description This is a constructor.\n * @param {object} - Parameters to create a color from different notations\n * @example\n * // a few ways of instantiating a red color\n * var red;\n * red = new Color(255, 0, 0, 1); // rgba as parameters\n * red = new Color('#ff0000'); // hex\n * red = new Color('rgb(255,0,0)');//rgb as string\n * red = new Color('hsl(0, 100, 50)');// hsl as string\n * red = new Color(16711680);// uint\n */\nconst Color = Class.extend(\n /** @lends module:objects.views/charts/representation/color~Color# */ {\n init() {\n let r = 0;\n let g = 0;\n let b = 0;\n let a = 1;\n let h;\n let s;\n let lcs;\n let l;\n let v;\n let c;\n let h_;\n let x;\n let rgb_;\n let m;\n let matches;\n let colorString;\n\n this._invalid = false;\n\n if (arguments[0] instanceof Color) {\n r = arguments[0]._r;\n g = arguments[0]._g;\n b = arguments[0]._b;\n a = arguments[0]._a;\n this._invalid = arguments[0]._invalid;\n } else if (arguments.length < 3) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if (\n (matches = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(\n colorString\n ))\n ) {\n // rgba(1, 2, 3, 0.4)\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n a = parseFloat(matches[4]);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n // #aBc123\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n a = 1;\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n // #a5F\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n a = 1;\n } else if (\n (matches = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsl(1, 2, 3)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (\n (matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n colorString\n ))\n ) {\n // hsla(1,2,3,0.4)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n a = parseFloat(matches[7]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n } else if (\n (matches = /^hsv\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsv(1, 2, 3) {\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n v = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n v /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n v = v < 0 ? 0 : v > 1 ? 1 : v;\n\n c = v * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = v - c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (CSSColors[colorString.toLowerCase()]) {\n lcs = colorString.toLowerCase();\n r = CSSColors[lcs].r;\n g = CSSColors[lcs].g;\n b = CSSColors[lcs].b;\n a = typeof CSSColors[lcs].a === 'number' ? CSSColors[lcs].a : 1.0;\n } else {\n this._invalid = true;\n }\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0 && arguments[1] === 'argb') {\n a = (0xff000000 & arguments[0]) >>> 24;\n a /= 255;\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0) {\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else {\n this._invalid = true;\n }\n } else if (arguments.length >= 3) {\n r = arguments[0];\n g = arguments[1];\n b = arguments[2];\n a = arguments.length >= 4 ? arguments[3] : 1;\n } else {\n this._invalid = true;\n }\n\n if (Number.isNaN(+r + g + b + a)) {\n this._invalid = true;\n }\n\n this._r = floor(r);\n this._g = floor(g);\n this._b = floor(b);\n this._a = a;\n\n // object to cache string representations in various color spaces\n this._spaces = {};\n },\n isInvalid() {\n return this._invalid;\n },\n /**\n * Sets alpha value of color\n * @param {number} a - Alpha value of the color\n */\n setAlpha(a) {\n this._a = a;\n this._spaces = {};\n },\n /**\n * Gets the alpha value of this color\n * @returns {number}\n */\n getAlpha() {\n return this._a;\n },\n /**\n * Returns an rgb string representation of this color.\n * @return {string} An rgb string representation of this color\n */\n toRGB: function toRGB() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns an rgba string representation of this color.\n * @return {string} An rgba string representation of this color.\n */\n toRGBA: function toRGBA() {\n if (!this._spaces.rgba) {\n this._spaces.rgba = Color.toRGBA(this);\n }\n return this._spaces.rgba;\n },\n toString() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns a hex string representation of this color.\n * @return {string}\n */\n toHex: function toHex() {\n if (!this._spaces.hex) {\n this._spaces.hex = Color.toHex(this);\n }\n return this._spaces.hex;\n },\n /**\n * Returns a hsl string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsl(0,0,0)\n */\n toHSL: function toHSL(luma) {\n if (!this._spaces.hsl) {\n this._spaces.hsl = Color.toHSL(this, luma);\n }\n return this._spaces.hsl;\n },\n /**\n * Returns a hsla string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsla(0,0,0,0)\n */\n toHSLA: function toHSLA(luma) {\n if (!this._spaces.hsla) {\n this._spaces.hsla = Color.toHSLA(this, luma);\n }\n return this._spaces.hsla;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSV() {\n const hsvComp = this.toHSVComponents();\n return `hsv(${hsvComp.h},${hsvComp.s},${hsvComp.v})`;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSVComponents: function toHSVComponents() {\n if (!this._spaces.hsvComp) {\n this._spaces.hsvComp = Color.toHSVComponents(this);\n }\n return this._spaces.hsvComp;\n },\n /**\n * Returns a uint representation of this color\n * @return {number}\n */\n toNumber: function toNumber() {\n if (!this._spaces.num) {\n this._spaces.num = Color.toNumber(this);\n }\n return this._spaces.num;\n },\n /**\n * Checks if this color is perceived as dark.\n * @return {string} True if the luminance is below 160, false otherwise.\n */\n isDark() {\n return this.isInvalid() || this.getLuminance() < 125; // luminace calc option #2\n // return this.getLuminance() < 160; //luminace calc option #3\n },\n /**\n * Calculates the perceived luminance of the color.\n * @return {number} A value in the range 0-255 where a low value is considered dark and vice versa.\n */\n getLuminance() {\n // alpha channel is not considered\n if (typeof this._lumi === 'undefined') {\n // calculate luminance\n // this._lumi = 0.2126 * this._r + 0.7152 * this._g + 0.0722 * this._b; // option 1\n this._lumi = 0.299 * this._r + 0.587 * this._g + 0.114 * this._b; // option 2\n // this._lumi = Math.sqrt( 0.241 * this._r * this._r + 0.691 * this._g * this._g + 0.068 * this._b * this._b ); // option 3\n }\n\n return this._lumi;\n },\n /**\n * Shifts the color towards a lighter or darker shade\n * @param {number} value - A value in the range -100-100 to shift the color with along the HSL lightness.\n * @return {string} The shifted color as hsla string.\n */\n shiftLuminance(value) {\n const chsla = this.toHSLA();\n const matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n chsla\n );\n\n const h = parseFloat(matches[1]);\n const s = parseFloat(matches[3]);\n let l = parseFloat(matches[5]);\n const a = parseFloat(matches[7]);\n // l *= 1 + value / 100;\n // l = Math.max( 0, l % 100 );\n l += value;\n l = Math.max(0, Math.min(l, 100));\n\n // if( value > 0 ){\n // s = s*0.2; //removing saturation to avoid the border from being too light\n // }\n\n return `hsla(${h},${s},${l},${a})`;\n },\n /**\n * Compares two colors.\n * @param {Color} c The color to compare with.\n * @return {boolean} True if the rgb channels are the same, false otherwise\n */\n isEqual(c) {\n if (c instanceof Color) {\n return this._r === c._r && this._g === c._g && this._b === c._b;\n }\n\n c = new Color(c);\n return this._r === c._r && this._g === c._g && this._b === c._b;\n },\n /**\n * Linearly interpolates each channel of two colors.\n * @param {Color} c2 The other color.\n * @param {number} t The interpolation value in the range (0-1).\n * @return {string} The blend as an rgb string.\n */\n blend(c2, t) {\n const r = floor(this._r + (c2._r - this._r) * t);\n const g = floor(this._g + (c2._g - this._g) * t);\n const b = floor(this._b + (c2._b - this._b) * t);\n const a = floor(this._a + (c2._a - this._a) * t);\n\n return `rgba(${[r, g, b, a].join(',')})`;\n },\n\n createShiftedColor(v) {\n if (v === undefined || Number.isNaN(+v)) {\n v = 1;\n }\n const lumi = this.getLuminance();\n const greenMultiplier = this._g < 126 ? 1 : 1 + this._g / 512;\n const hsla_string = this.shiftLuminance(\n (lumi * greenMultiplier < 220 ? 0.8 + 4 * (1 / (lumi + 1)) : -(0.8 + 1 * (lumi / 255))) * 20 * v\n );\n\n return new Color(hsla_string);\n },\n }\n);\n\n/**\n * Returns an rgb string representation of this color\n * @param {Color|string} c\n * @returns {string} An rgb string with channel values within range 0-255.\n */\nColor.toRGB = function toRGB(c) {\n if (c instanceof Color) {\n return `rgb(${[c._r, c._g, c._b].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgb(${r},${g},${b})`;\n};\n/**\n *\n * @param c\n * @param a\n * @returns {string} The color rgb format.\n */\nColor.toRGBA = function toRGB(c, a) {\n if (c instanceof Color) {\n return `rgba(${[c._r, c._g, c._b, typeof a !== 'undefined' ? a : c._a].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgba(${r},${g},${b},${typeof a !== 'undefined' ? a : c._a})`;\n};\n/**\n *\n * @param {Color|string} c\n * @returns {string} The color in hexadecimal space.\n */\nColor.toHex = function toHex(c) {\n let r;\n let g;\n let b;\n if (c instanceof Color) {\n r = c._r.toString(16);\n g = c._g.toString(16);\n b = c._b.toString(16);\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n return `#${[r, g, b].join('')}`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n r = ((c & 0xff0000) >> 16).toString(16);\n g = ((c & 0x00ff00) >> 8).toString(16);\n b = (c & 0x0000ff).toString(16);\n\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n\n return `#${r}${g}${b}`;\n};\n/**\n * Return the color in hsl space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsl space.\n */\nColor.toHSL = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsl(${h * 360},${s * 100},${l * 100})`;\n};\n/**\n * Return the color in hsla space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsla space.\n */\nColor.toHSLA = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n const a = c._a;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsla(${h * 360},${s * 100},${l * 100},${a})`;\n};\n/**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\nColor.toHSVComponents = function (c) {\n let h = 0;\n let s;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, value/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n const v = max;\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = ch === 0 ? 0 : ch / v;\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return { h: (h * 360) % 360, s: s * 100, v: v * 100 };\n};\n/**\n * Returns an number representation of the color\n * @param {Color|string} c\n * @returns {Number} Unsigned integer in the range 0-16 777 216\n */\nColor.toNumber = function toNumber() {\n if (arguments.length === 1 && arguments[0] instanceof Color) {\n return (arguments[0]._r << 16) + (arguments[0]._g << 8) + arguments[0]._b;\n }\n\n let r = 0;\n let g = 0;\n let b = 0;\n let matches;\n let colorString;\n\n if (arguments.length === 1) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n }\n }\n }\n return (r << 16) + (g << 8) + b;\n};\nColor.blend = function blend(c1, c2, t) {\n c1 = Color.toNumber(c1);\n c2 = Color.toNumber(c2);\n\n const r1 = (c1 & 0xff0000) >> 16;\n const g1 = (c1 & 0x00ff00) >> 8;\n const b1 = c1 & 0x0000ff;\n const r2 = (c2 & 0xff0000) >> 16;\n const g2 = (c2 & 0x00ff00) >> 8;\n const b2 = c2 & 0x0000ff;\n const r = r1 + (r2 - r1) * t;\n const g = g1 + (g2 - g1) * t;\n const b = b1 + (b2 - b1) * t;\n\n return (r << 16) + (g << 8) + b;\n};\nColor.getBlend = function getBlend(c1, c2, t) {\n const r = c1._r + (c2._r - c1._r) * t;\n const g = c1._g + (c2._g - c1._g) * t;\n const b = c1._b + (c2._b - c1._b) * t;\n const a = c1._a + (c2._a - c1._a) * t;\n\n return new Color(r, g, b, a);\n};\nColor.isCSSColor = function (color) {\n if (arguments.length > 1 || typeof color !== 'string') {\n return false;\n }\n return (\n rgb.test(color) ||\n rgba.test(color) ||\n hex.test(color) ||\n hexShort.test(color) ||\n hsl.test(color) ||\n hsla.test(color) ||\n CSSColors[color.toLowerCase()]\n );\n};\n\nColor.getBestContrast = function (color, cl, cd) {\n const lum = color.getLuminance();\n return Math.abs(lum - cl.getLuminance()) > Math.abs(lum - cd.getLuminance()) ? cl : cd;\n};\n\nColor.getContrast = function (color1, color2) {\n if (!color1 || !color2) {\n return undefined;\n }\n\n const l1 = color1.getLuminance() / 100;\n const l2 = color2.getLuminance() / 100;\n\n if (l1 > l2) {\n return (l1 + 0.05) / (l2 + 0.05);\n }\n\n return (l2 + 0.05) / (l1 + 0.05);\n};\n\nColor.isDark = function () {\n const o = {\n getLuminance: Color.prototype.getLuminance,\n isInvalid: Color.prototype.isInvalid,\n };\n Color.prototype.init.apply(o, [].slice.call(arguments));\n return Color.prototype.isDark.call(o);\n};\n\nColor.useDarkLabel = function (areaColor, bgIsDark) {\n return areaColor._a > 0.5 ? !areaColor.isDark() : !bgIsDark;\n};\n\nexport default Color;\n","const namespace = '.scrollHandler';\n\nScrollHandler.prototype.getScrollApi = getScrollApi;\nScrollHandler.prototype.setDisabled = setDisabled;\nScrollHandler.prototype.getDisabled = getDisabled;\nScrollHandler.prototype.setItemSize = setItemSize;\nScrollHandler.prototype.getItemSize = getItemSize;\nScrollHandler.prototype.getScrollViewSizeInItem = getScrollViewSizeInItem;\nScrollHandler.prototype.on = on;\nScrollHandler.prototype.isOn = isOn;\nScrollHandler.prototype.off = off;\nScrollHandler.prototype.updateViewState = updateViewState;\nScrollHandler.prototype.onResize = onResize;\nScrollHandler.prototype.isDataSizeChanged = isDataSizeChanged;\nScrollHandler.prototype.resetScroll = resetScroll;\nScrollHandler.prototype.getViewData = getViewData;\nScrollHandler.prototype.setOptions = setOptions;\nScrollHandler.prototype.getScrollState = getScrollState;\nScrollHandler.prototype.setScrollState = setScrollState;\n\nexport default ScrollHandler;\n\n/**\n * Implementation details\n */\n\nfunction ScrollHandler(chartInstance, $chartElement, getSlicedDataFn, onScrollCallback, legendKey) {\n if (!chartInstance || !$chartElement || !getSlicedDataFn) {\n throw Error('Scroll-handler: Missing input');\n }\n this._chartInstance = chartInstance;\n this._$chartElement = $chartElement;\n this._getSlicedDataFn = getSlicedDataFn;\n this._on = false;\n this._itemSize = 30;\n this.options = {\n direction: 'vertical',\n };\n this._onScrollCallback = onScrollCallback;\n this._legendKey = legendKey;\n}\n\nfunction getScrollApi() {\n if (!this._scrollApi) {\n this._scrollApi = this._chartInstance.scroll('dimension');\n }\n return this._scrollApi;\n}\n\nfunction setDisabled(b) {\n this._disabled = b;\n}\n\nfunction getDisabled() {\n return this._disabled;\n}\n\nfunction setItemSize(s) {\n if (this._itemSize !== s) {\n this._itemSize = s;\n calculateScrollViewSizeInItem.call(this);\n }\n}\n\nfunction getItemSize() {\n return this._itemSize;\n}\n\nfunction getScrollViewSizeInItem() {\n if (!this._scrollViewSizeInItem) {\n calculateScrollViewSizeInItem.call(this);\n }\n return this._scrollViewSizeInItem;\n}\n\nfunction on() {\n if (this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n this._scrollApi.on('update', onScroll.bind(this));\n }\n this._$chartElement.on(`mousewheel${namespace} DOMMouseScroll${namespace}`, onMouseWheel.bind(this));\n // TODO: Picasso does not support pointer events therefore we need to remove preventDefault on pointer down to make it work for IE.\n // However, this will make paning on touch device to pan the object, so we need to prevent it.\n // This fix should be removed when Picasso support pointer events.\n this._$chartElement.on(`touchstart${namespace}`, (event) => {\n event.preventDefault();\n });\n this._on = true;\n}\nfunction isOn() {\n return this._on;\n}\nfunction off() {\n if (!this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n }\n this._$chartElement.off(namespace);\n this._on = false;\n}\n\nfunction updateViewState(max) {\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem, max });\n }\n}\n\nfunction onResize() {\n this._sizeChanged = true;\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem });\n }\n}\n\nfunction isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows) {\n return Math.min(this.getScrollViewSizeInItem(), datasetNumberOfRows) !== pageNumberOfRows;\n}\n\nfunction resetScroll() {\n if (this.getScrollApi()) {\n this._scrollApi.moveTo(0);\n }\n}\n\nfunction getViewData() {\n let top = 0;\n let height = 0;\n if (this.getScrollApi()) {\n const state = this._scrollApi.getState();\n top = Math.round(state.start);\n height = state.viewSize;\n }\n return this._getSlicedDataFn(top, height);\n}\n\nfunction getScrollState() {\n return this.getScrollApi().getState().start;\n}\nfunction setScrollState(state) {\n this.getScrollApi().moveTo(state);\n}\n\nfunction setOptions(options) {\n if (this.options.direction !== options.direction) {\n this._scrollViewSizeInItem = undefined;\n }\n this.options = options;\n}\n\nfunction calculateScrollViewSizeInItem() {\n const scrollSize =\n (this.options.direction === 'horizontal' ? this._$chartElement.width() : this._$chartElement.height()) || 0;\n const n = Math.floor(scrollSize / this.getItemSize());\n this._scrollViewSizeInItem = Math.max(n, 1); // Number of visible items should be at least 1\n}\n\nfunction getMouseWheelData(orgEvent) {\n let delta = 0;\n let deltaX = 0;\n let deltaY = 0;\n const divider = 60;\n\n // Old school scrollwheel delta\n if (orgEvent.wheelDelta) {\n delta = orgEvent.wheelDelta / divider;\n }\n if (orgEvent.detail) {\n delta = -orgEvent.detail / 3;\n }\n\n // New school multidimensional scroll (touchpads) deltas\n deltaY = delta;\n\n // Gecko\n if (orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = -1 * delta;\n }\n\n // Webkit\n if (orgEvent.wheelDeltaY !== undefined) {\n deltaY = orgEvent.wheelDeltaY / divider;\n }\n if (orgEvent.wheelDeltaX !== undefined) {\n deltaX = (-1 * orgEvent.wheelDeltaX) / divider;\n }\n\n return {\n delta,\n deltaX,\n deltaY,\n x: orgEvent.pageX,\n y: orgEvent.pageY,\n };\n}\n\nfunction onLegendMouseWheel(e, event, chart, legendKey) {\n if (!!legendKey && chart.componentsFromPoint(event).some((c) => c.settings.key === legendKey)) {\n const legend = chart.component(legendKey);\n legend.emit(event.delta > 0 ? 'prev' : 'next');\n e.preventDefault();\n return true;\n }\n return false;\n}\n\nfunction onMouseWheel(e) {\n const event = getMouseWheelData(e.originalEvent);\n if (onLegendMouseWheel(e, event, this._chartInstance, this._legendKey) || this._disabled || !this.getScrollApi()) {\n return;\n }\n e.preventDefault();\n if (!event.delta) {\n return;\n }\n const scrollSpeed = 3;\n const value = event.delta < 0 ? scrollSpeed : -scrollSpeed;\n this._scrollApi.move(value);\n}\n\nfunction onScroll() {\n if (this._disabled || this._sizeChanged) {\n this._sizeChanged = false;\n return;\n }\n const self = this;\n this.getViewData()\n .then((layout) => {\n if (self._on && !self._disabled && self._onScrollCallback) {\n // Chart is updated with partial data\n self._onScrollCallback(layout, undefined, true);\n }\n })\n .catch((err) => {\n if (process.env.NODE_ENV === 'development') {\n if (typeof err !== 'undefined') {\n console.error(err);\n }\n }\n });\n}\n","/**\n * Checks whether a collision has occurred for range selection\n * @param e - event, in this case a mouse event\n * @param targets - the target points that the selections are hitting\n * @param selectionGesture - The type of selection gesture, for example area range select\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForRange(e, targets, selectionGesture) {\n return (\n !!e &&\n !!selectionGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => targets.indexOf(c.settings.key) !== -1)[0]\n );\n}\n\n/**\n * Checks whether a collision has occurred for lasso selection\n * @param e - event, in this case a mouse event\n * @param gesturesParams - parameters for lasso selection\n * @param lassoGesture - the lasso gesture instance\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForLasso(e, gesturesParams, lassoGesture) {\n return (\n e &&\n lassoGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0]\n );\n}\n\nfunction isOnComponentForNavBtn(e, legendBrushKey, navBtnGesture) {\n const components = navBtnGesture.chart.componentsFromPoint(e.center);\n return components.some((c) => c.settings.key === legendBrushKey);\n}\n\nexport default {\n isOnComponentForRange,\n isOnComponentForLasso,\n isOnComponentForNavBtn,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getLassoState(handlers) {\n return handlers.selectionHandler.lassoState() && !handlers.selectionHandler.allFieldsLocked();\n}\n\n/**\n * Handles lasso events for picasso charts using HammerJS. When activating lasso selection enable function is\n * triggered first. lassoStart is triggered on all areas specified by options.direction key. Lasso is the gesture\n * that will be active by default.\n */\nfunction callLassoGesture(state, gesturesFns, gesturesParams) {\n return {\n type: 'Pan',\n options: {\n direction: Hammer.DIRECTION_ALL,\n threshold: 1,\n enable(manager, e) {\n if (state.lassoing) {\n return gesturesFns.isSelectionEnabled();\n }\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n return (\n gesturesFns.isSelectionEnabled() && e && (getLassoState(gesturesParams.handlers) || state.lassoing) && hitComp\n );\n },\n event: 'lasso',\n },\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n lassostart(e) {\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n if (!hitComp) {\n return;\n }\n gesturesFns.switchTo('lasso', this.chart, e);\n state.lassoing = true;\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.lassoBrushKey);\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoStart', e);\n },\n lassomove(e) {\n if (!state.lassoing) {\n return;\n }\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoMove', e);\n },\n lassoend(e) {\n if (!state.lassoing) {\n return;\n }\n\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoEnd', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, true);\n state.lassoing = false;\n },\n lassocancel(e) {\n state.lassoing = false;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoCancel', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, false);\n },\n },\n };\n}\n\nexport default {\n callLassoGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles measure range selection events for picasso charts using HammerJS. When activating measure range selection enable function is\n * triggered first. measurerangestart is triggered on all areas specified by options.direction key. Only after measurerangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called measurerange, then our\n * events must be named measurerangestart, measurerangemove, measurerangeend, measurerangecancel.\n */\nfunction callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'arearange';\n\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL,\n event: 'measurerange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenMea) {\n return false;\n }\n\n if (state.measureSelecting) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.measureSelecting = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.measureSelecting && !!gesturesParams.keys.measureRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n measurerangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.measureSelecting = true;\n gesturesFns.switchTo('measurerange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.measureRangeBrushKey);\n },\n measurerangemove(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeMove', e);\n },\n measurerangeend(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeEnd', e);\n state.measureSelecting = false;\n },\n measurerangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, false);\n state.measureSelecting = false;\n },\n },\n };\n}\n\nexport default {\n callMeasureRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getAxisOrientation(axis, orientation) {\n let dir;\n if (axis === 'x-axis') {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL;\n } else {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL;\n }\n return dir;\n}\n\n/**\n * Handles area range selection events for picasso charts using HammerJS. When activating area range selection enable function is\n * triggered first. arearangestart is triggered on all areas specified by options.direction key. Only after arearangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called arearange, then our\n * events must be named arearangestart, arearangemove, arearangeend, arearangecancel.\n */\nfunction callAreaRangeGesture(state, gesturesFns, gesturesParams, axis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'measurerange';\n\n return {\n // Area range select gesture\n type: 'Pan',\n options: {\n direction: getAxisOrientation(axis, gesturesParams.isHorizontal),\n event: 'arearange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n\n if (state.minoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.minoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.minoring;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n arearangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.minoring = true;\n gesturesFns.switchTo('arearange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.areaBrushKey);\n },\n arearangemove(e) {\n if (!state.minoring) {\n return;\n }\n // Behaves likes lasso, which adds all data points as soon as we hit the points, we only want to highlight the values within the range\n this.chart.brush(gesturesParams.keys.areaBrushKey).clear();\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaMove', e);\n },\n arearangeend(e) {\n if (!state.minoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaEnd', e);\n state.minoring = false;\n },\n arearangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, false);\n state.minoring = false;\n },\n },\n };\n}\n\nexport default {\n callAreaRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles dimension range selection events for picasso charts using HammerJS. When activating dimension range selection enable function is\n * triggered first. majorrangestart is triggered on all areas specified by options.direction key. Only after majorrangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called majorrange, then our\n * events must be named majorrangestart, majorrangemove, majorrangeend, majorrangecancel.\n */\nfunction callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis) {\n const activeRangeBrush = gesturesParams.keys.measureRangeBrushKey ? 'measurerange' : 'arearange';\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'majorrange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n if (state.majoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.majoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.majoring && !!gesturesParams.keys.dimRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n majorrangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.majoring = true;\n gesturesFns.switchTo('majorrange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.dimRangeBrushKey);\n },\n majorrangemove(e) {\n if (!state.majoring) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeMove', e);\n },\n majorrangeend(e) {\n if (!state.majoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeEnd', e);\n state.majoring = false;\n },\n majorrangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, false);\n state.majoring = false;\n },\n },\n };\n}\n\nexport default {\n callDimensionRangeGesture,\n};\n","import Hammer from 'hammerjs';\n\n/**\n * Handles dragging for picasso charts using HammerJS. When activating dragging the enable function is\n * triggered first. dragstart is triggered on all areas specified by options.direction key. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called drag, then our\n * events must be named dragstart, dragmove, dragend, dragcancel.\n */\nfunction callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl) {\n let dragPoint = {};\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'drag',\n enable(manager, e) {\n if (state.dragging) {\n return gesturesFns.isNavigationEnabled();\n }\n\n state.dragging =\n gesturesFns.isNavigationEnabled() &&\n !!e &&\n !!this.chart\n .componentsFromPoint({ x: e.center.x, y: e.center.y })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0];\n return state.dragging;\n },\n },\n requireFailure: hasSelections ? `lasso ${gesturesFns.getBrushConfig()}` : '',\n events: {\n dragstart(e) {\n dragPoint = { x: e.deltaX, y: e.deltaY };\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY : e.deltaX) / gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n },\n dragmove(e) {\n if (!state.dragging) {\n return;\n }\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY - dragPoint.y : e.deltaX - dragPoint.x) /\n gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n dragPoint = { x: e.deltaX, y: e.deltaY };\n },\n dragend() {\n if (!state.dragging) {\n return;\n }\n state.dragging = false;\n },\n dragcancel() {\n state.dragging = false;\n },\n },\n };\n}\n\nexport default {\n callDragGesture,\n};\n","import onComponentChecker from './on-component-checker';\n\n/**\n * Handles navigational button events for picasso charts using HammerJS. When pressing on a navigational button,\n * the enable function is triggered to check if the navigational button should be enabled or not.\n * For example, in edit mode it should be disabled.\n * @param isEnabledFn - Function that returns a boolean. In this case return false if in edit mode, true otherwise\n * @param legendBrushKey - String defining the legend brush key\n * @returns An object for reacting to tap events according to HammerJS API\n */\nfunction callNavBtnGesture(isEnabledFn, legendBrushKey) {\n return {\n type: 'Tap',\n options: {\n event: 'navBtnTap',\n enable(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n\n return onComponentChecker.isOnComponentForNavBtn(e, legendBrushKey, this);\n },\n },\n events: {\n navBtnTap(e) {\n // Invokes paging interaction on legend\n this.chart.componentsFromPoint(e.center).forEach((c) => {\n const btn = e.target;\n const attr = btn ? btn.getAttribute('data-action') : '';\n if (attr) {\n return c.emit(attr);\n }\n return undefined;\n });\n },\n },\n };\n}\n\nexport default {\n callNavBtnGesture,\n};\n","import lassoGesture from './gestures/lasso-gesture';\nimport measureRangeGesture from './gestures/measure-range-gesture';\nimport areaRangeGesture from './gestures/area-range-gesture';\nimport dimensionRangeGesture from './gestures/dimension-range-gesture';\nimport dragGesture from './gestures/drag-gesture';\nimport navBtnGesture from './gestures/navigational-button-gesture';\n\n/**\n * Creates Picasso components for interaction component that are dependent on eatchother\n */\n\nfunction DependentInteractions(handlers, orientation, isRtl, keys, rangeSelStatus) {\n const ret = {};\n\n orientation = orientation || 'vertical';\n\n const lassoBrushKey = keys.lassoBrushKey || 'select';\n const dimRangeBrushKey = keys.dimRangeBrushKey || null;\n const measureRangeBrushKey = keys.measureRangeBrushKey || null;\n const areaBrushKey = keys.areaBrushKey || null;\n const legendBrushKey = keys.legendBrushKey || null;\n\n const hasSelections = !!handlers.selectionHandler && handlers.selectionHandler.isOn();\n\n const state = {\n dragging: false,\n lassoing: false,\n majoring: false,\n minoring: false,\n measureSelecting: false,\n };\n\n const active = {\n gesture: '',\n type: '',\n };\n\n const isHorizontal = orientation === 'horizontal';\n\n const dimAxis = isHorizontal ? 'y-axis' : 'x-axis';\n const measureAxis = isHorizontal ? 'x-axis' : 'y-axis';\n\n function switchTo(gesture, chart, e) {\n if (active.gesture === gesture) {\n return;\n }\n let clearKey = lassoBrushKey;\n const activeChart = chart || active.chart;\n\n switch (active.gesture) {\n case 'majorrange':\n doEmit(activeChart, 'rangeDim', 'rangeClear', e);\n clearKey = dimRangeBrushKey;\n break;\n case 'measurerange':\n doEmit(activeChart, 'rangeMeasure', 'rangeClear', e);\n clearKey = measureRangeBrushKey;\n break;\n case 'arearange':\n doEmit(activeChart, 'rangeMinor', 'areaClear', e);\n clearKey = areaBrushKey;\n break;\n default:\n break;\n }\n\n active.gesture = gesture;\n const newType = gesture === 'range' ? 'range' : 'item';\n\n if (active.type && active.type !== newType) {\n activeChart.brush(clearKey).clear();\n }\n\n active.chart = chart;\n active.type = newType;\n }\n\n // Just added here to allow easy disabling of things while developing\n function doEmit(chart, comp, cont, e) {\n if (chart) {\n const inst = chart.component(comp);\n if (inst) {\n inst.emit(cont, e);\n }\n }\n }\n\n function getBrushConfig() {\n if (!dimRangeBrushKey) {\n return 'measurerange arearange';\n }\n if (!measureRangeBrushKey) {\n return 'majorrange arearange';\n }\n return 'majorrange measurerange';\n }\n\n let gestures = [];\n\n const gesturesFns = {\n isSelectionEnabled: () => handlers.selectionHandler && handlers.selectionHandler.isOn(),\n isNavigationEnabled: () => handlers.scrollHandler && handlers.scrollHandler.isOn(),\n doEmit,\n switchTo,\n getBrushConfig,\n };\n\n const gesturesParams = {\n handlers,\n keys,\n isHorizontal,\n active,\n rangeSelStatus,\n };\n\n if (hasSelections) {\n gestures = [\n {\n type: 'Tap',\n options: {\n event: 'rangeClearTap',\n },\n events: {\n rangeClearTap(e) {\n switchTo('none', this.chart, e);\n\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n },\n },\n },\n ];\n\n // Ordering matters here because the tap event, because the above gesture does not return anything\n // and we want don't want to call the navigational button enable function for all tap events\n gestures.unshift(navBtnGesture.callNavBtnGesture(gesturesFns.isNavigationEnabled, legendBrushKey));\n\n gestures.push(lassoGesture.callLassoGesture(state, gesturesFns, gesturesParams));\n\n // Only two of the axis range selection can exist at the same time\n if (!dimRangeBrushKey) {\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n // Register component to selections handler so it is cleared properly\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else if (!measureRangeBrushKey) {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n }\n }\n\n if (handlers.scrollHandler) {\n gestures.push(dragGesture.callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl));\n\n // On scroll we need to switch of the major ranging, so that pan will work\n handlers.scrollHandler.getScrollApi().on('update', onScrollUpdate);\n }\n\n function onScrollUpdate() {\n switchTo('none');\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n }\n\n ret.gestures = gestures;\n ret.destroy = function () {\n if (handlers.scrollHandler) {\n handlers.scrollHandler.getScrollApi().removeListener('update', onScrollUpdate);\n }\n };\n\n return ret;\n}\n\nexport default {\n create: DependentInteractions,\n};\n","/**\n * Create a new tooltip action context\n *\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The tooltip actions handler instance\n */\nfunction TooltipActions(chartInstance, componentKey, data, context, tooltipKey) {\n let hasOpen = false;\n\n context = context || 'tooltip';\n data = data || ['self'];\n\n const brush = chartInstance.brush(context);\n\n const fn = {};\n\n // Exposed here for test stub purposes\n fn.isOpen = function () {\n return hasOpen;\n };\n\n function closeTooltip() {\n if (hasOpen) {\n const tooltip = chartInstance.component(tooltipKey);\n tooltip.emit('hide');\n }\n hasOpen = false;\n }\n\n function openTooltip(shapes) {\n hasOpen = true;\n const tooltip = chartInstance.component(tooltipKey);\n const e = {};\n const data = { nodes: shapes };\n tooltip.emit('show', e, data);\n }\n\n fn.closeTooltip = closeTooltip;\n\n /**\n * Updates the contents in tooltip. Requires an array of tooltipInfo.labelData and\n * an array of tooltipInfo.measureRows for the tooltip to display content, otherwise\n * it will show nothing. These key value mappings should be sent in from the charts.\n */\n function update() {\n const brushes = brush.brushes();\n\n // Fetches only the shapes that we are hovering over\n const shapes = chartInstance.getAffectedShapes(context, 'and', data, componentKey);\n\n if (brushes.length >= 1) {\n hasOpen = true;\n openTooltip(shapes);\n } else {\n closeTooltip();\n }\n }\n\n function toggleInterceptor(items) {\n // Remove duplicates if we have multiple dimensions to aoivd a toggle\n // ex: set(2006 ) ->2006 is on, followed by set(2006 ) ->2006 is off\n if (data.length > 1) {\n const check = {};\n const ret = [];\n items.forEach((item) => {\n if (!check[item.key]) {\n check[item.key] = {};\n }\n if (!check[item.key][item.value]) {\n check[item.key][item.value] = true;\n ret.push(item);\n }\n });\n return ret;\n }\n return items;\n }\n\n fn.update = update;\n fn.toggleInterceptor = toggleInterceptor;\n return fn;\n}\n\nexport default {\n create(...args) {\n return TooltipActions(...args);\n },\n};\n","export default {\n formatMeasureValue,\n};\n\nfunction formatMeasureValue(field, measureContent) {\n if (field.raw().isCustomFormatted) {\n return field.formatter()(measureContent.value.qText);\n }\n const value = measureContent.value.qNum !== undefined ? measureContent.value.qNum : measureContent.value.qValue;\n return field.formatter()(value);\n}\n","const MAX_VISIBLE_ITEMS = 5;\nconst OTHERS_ELEMNO = -3;\nconst NULL_ELEMNO = -2;\n\n// TODO: The function getAffectedShapes returns duplicate shapes.\n// Remove when this is fixed on picasso\nfunction filterDuplicateShapes(shapes) {\n const uniques = [];\n\n shapes.forEach((shape) => {\n if (uniques.indexOf(shape) === -1 && shape.type !== 'container') {\n uniques.push(shape);\n }\n });\n\n return uniques;\n}\n\nexport const createFilter = (filterShapes) => (shapes) =>\n filterShapes ? filterShapes(shapes) : filterDuplicateShapes(shapes);\n\nexport const createContent =\n (context) =>\n ({ h, data, style }) => {\n const content = extractContent(context, data);\n const renderSettings = {\n h,\n style,\n rtl: context.direction === 'rtl',\n translator: context.translator,\n };\n return context.renderer(renderSettings, content);\n };\n\nfunction extractContent(tooltipInfo, uniqueShapes) {\n const dataset = tooltipInfo.chartInstance.dataset(tooltipInfo.dataPath);\n\n // Create content + header\n const content = [];\n\n const numberInExcess = uniqueShapes.length - MAX_VISIBLE_ITEMS;\n const numItems = Math.min(MAX_VISIBLE_ITEMS, uniqueShapes.length);\n for (let j = 0; j < numItems; j++) {\n const shape = uniqueShapes[j];\n const localContent = {\n rows: [],\n };\n\n if (tooltipInfo.labelData) {\n const labels = [];\n const refPaths = tooltipInfo.labelData;\n let isNullValue = false;\n for (let i = 0; i < refPaths.length; i++) {\n const currentNode = shape.data[refPaths[i]].value;\n if (currentNode.qElemNo === NULL_ELEMNO || currentNode.qElemNumber === NULL_ELEMNO) {\n // The node is null\n isNullValue = true;\n break;\n }\n labels.push(shape.data[refPaths[i]].value.qText);\n }\n\n if (isNullValue) {\n return undefined;\n }\n\n localContent.header = tooltipInfo.headerResolver(labels);\n localContent.rows = tooltipInfo.measureRows\n .map((measureRow) => {\n const rowData = shape.data;\n return tooltipInfo.rowResolver(dataset.field(rowData[measureRow].source.field), rowData[measureRow], rowData);\n })\n .filter((row) => !!row);\n\n const colorByData = getColorByDimData(tooltipInfo, shape);\n if (colorByData) {\n localContent.rows.unshift(colorByData);\n }\n content.push(localContent);\n }\n }\n if (numberInExcess > 0) {\n content.numberInExcess = numberInExcess;\n }\n\n content.rowCount = content[0] ? content.length * content[0].rows.length : 0;\n return content;\n}\n\nfunction getOthersIndex(values) {\n let index = -1;\n for (let i = 0; i < values.length; i++) {\n if (values[i] === OTHERS_ELEMNO) {\n index = i;\n }\n }\n return index;\n}\n\n/**\n * Get the information of how the color by row should look like.\n * The data for color by is fetched directly from the shape and it's key value mapping called\n * colorByDim, which contains the label and the elemNo\n * @param tooltipInfo - an object containing the chart view\n * @param shape - an object representing the shape currently hovered upon\n * @returns {{label: string - legendTitle, value: (*|String) - color by value, template: string - html template}}\n */\nfunction getColorByDimData(tooltipInfo, shape) {\n const colorData = shape.data.color;\n const colorSettings = tooltipInfo.colorService?.getSettings?.();\n\n if (!colorSettings || colorSettings.type === 'color' || !colorData || !colorSettings.fieldType) {\n return undefined;\n }\n\n const ids = [];\n tooltipInfo.data.forEach((mapping) => {\n const elemNoObj = shape.data[mapping];\n if (elemNoObj) {\n ids.push(elemNoObj.value);\n }\n });\n const othersIndex = getOthersIndex(ids);\n\n const { translator } = tooltipInfo;\n const label = colorSettings.label;\n const color = shape.attrs?.fill;\n const value = othersIndex !== -1 ? translator.get('properties.dimensionLimits.others') : colorData.label;\n return { color, label, value };\n}\n","/* eslint no-underscore-dangle: 0 */\nconst TOOLTIP_CONTAINER_ID = 'dist-flow-tooltip';\nconst TOOLTIP_CONTAINER_SELECTOR = `#${TOOLTIP_CONTAINER_ID}`;\n\nfunction appendTooltipContainer() {\n if (!document.querySelector(TOOLTIP_CONTAINER_SELECTOR)) {\n const container = document.createElement('div');\n container.id = TOOLTIP_CONTAINER_ID;\n container.style.overflow = 'hidden';\n container.style.position = 'fixed';\n container.style.pointerEvents = 'none';\n container.style.left = '0px';\n container.style.top = '0px';\n container.style.width = '100%';\n container.style.height = '100%';\n container.style.zIndex = 1020;\n document.body.appendChild(container);\n }\n}\n\nfunction destroyTooltipContainer() {\n const elm = document.querySelector(TOOLTIP_CONTAINER_SELECTOR);\n if (elm && elm.parentElement && elm.childElementCount < 1) {\n elm.parentElement.removeChild(elm);\n }\n}\n\n/**\n * Base tooltip definition\n */\nexport default function tooltip({ key = 'tooltip', rtl, fontFamily, filter, content }) {\n return {\n show: true,\n key,\n type: 'tooltip',\n layout: {\n displayOrder: 3,\n },\n beforeMount() {\n appendTooltipContainer();\n },\n beforeUpdate() {\n appendTooltipContainer();\n },\n destroyed() {\n destroyTooltipContainer();\n },\n settings: {\n appendTo: () => document.querySelector(TOOLTIP_CONTAINER_SELECTOR),\n content,\n filter,\n extract: (context) => context.node,\n direction: rtl ? 'rtl' : 'ltr',\n placement: 'bounds',\n },\n style: {\n arrow: {\n color: '#404040',\n },\n content: {\n display: 'table',\n 'border-spacing': '4px',\n background: 'rgba(64, 64, 64, 0.9)',\n opacity: '1',\n fontSize: '13px',\n fontFamily,\n 'empty-cells': 'show',\n },\n cell: {\n 'max-width': '180px',\n 'word-break': 'break-word',\n 'word-wrap': 'break-word',\n 'overflow-wrap': 'break-word',\n hyphens: 'auto',\n },\n },\n };\n}\n","/** @jsx h */\nimport rtlUtils from '../../extra/rtl-util';\n\nconst { detectTextDirection: getDirection } = rtlUtils;\n\nexport default function render(settings, content) {\n const { h, style, translator, rtl } = settings;\n const result = [];\n const labelTextAlign = rtl ? 'right' : 'left';\n content.forEach((item) => {\n if (item.header) {\n const headerStyle = {\n ...style.cell,\n textAlign: labelTextAlign,\n fontWeight: 'bold',\n direction: getDirection(item.header),\n };\n result.push(\n <tr>\n <td style={headerStyle} colSpan={2}>\n {item.header}\n </td>\n </tr>\n );\n }\n item.rows.forEach((row) => {\n let valueContent = row.value;\n if (row.color) {\n const symbolStyle = {\n display: 'inline-block',\n width: 10,\n height: 10,\n 'background-color': row.color,\n margin: '0 8px',\n };\n const symbol = <div style={symbolStyle} />;\n valueContent = rtl ? [row.value, symbol] : [symbol, row.value];\n }\n const label = rtl ? [':', row.label] : [row.label, ':'];\n const labelStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(row.label) };\n const valueStyle = { ...style.cell, textAlign: rtl ? 'left' : 'right', direction: getDirection(row.value) };\n result.push(\n <tr>\n <td style={labelStyle}>{label}</td>\n <td style={valueStyle}>{valueContent}</td>\n </tr>\n );\n });\n });\n if (content.numberInExcess) {\n const moreText = translator.get('Object.ChartTooltip.NMore', content.numberInExcess);\n const moreStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(moreText) };\n result.push(\n <tr>\n <td style={moreStyle} colSpan={2}>\n {moreText}\n </td>\n </tr>\n );\n }\n return result;\n}\n","import extend from 'extend';\nimport TooltipAction from './tooltip-actions';\nimport formatting from '../formatting';\nimport { createFilter, createContent } from './tooltip-content';\nimport createTooltip from './tooltips-component';\nimport defaultTooltipRenderer from './tooltip-renderer';\n\nconst DEFAULT_OPTIONS = {\n tooltipKey: 'tooltip',\n data: [''],\n contexts: ['tooltip'],\n headerResolver(values) {\n return values.join(', ');\n },\n rowResolver(field, measureContent) {\n return {\n value: formatting.formatMeasureValue(field, measureContent),\n label: field.title(),\n };\n },\n direction: 'ltr',\n renderer: defaultTooltipRenderer,\n};\n\n/**\n * Create a new Tooltips handler\n *\n * @param {Object} model The backend model for the chart\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The selections handler instance\n */\nfunction Tooltips(chartInstance, $element, chartType) {\n if (!chartInstance) {\n throw Error('Tooltips-handler: Missing input');\n }\n\n let tooltipContexts = {};\n let on = false;\n\n // Not need for a function, so turned it into an object\n const fn = {};\n\n /**\n * Setup a tooltips context\n * @param {Object} options Tooltip context options\n * @returns {Object} The selections handler instance\n */\n fn.setUp = function (options) {\n const opts = extend(true, {}, DEFAULT_OPTIONS, options);\n\n if (!opts.componentKey) {\n throw Error('Tooltips-handler.setUp: Missing required input');\n }\n\n if (tooltipContexts[opts.contexts[0]] && on) {\n deRegContext(tooltipContexts[opts.contexts[0]]);\n }\n\n const context = createContext(opts, chartInstance);\n tooltipContexts[opts.contexts[0]] = context;\n\n if (on) {\n registerContext(context);\n }\n\n const component = createTooltip({\n key: opts.tooltipKey,\n rtl: context.direction === 'rtl',\n fontFamily: context.theme.getStyle(chartType, 'tooltip', 'fontFamily'),\n filter: createFilter(context.filterShapes),\n content: createContent(context, opts.dataPath),\n });\n\n const settings = opts.chartBuilder.getSettings();\n settings.components.push(component);\n\n return {\n trigger: {\n on: context.treatAsDesktop ? 'over' : 'tap',\n action: 'set',\n contexts: opts.contexts,\n data: opts.data,\n globalPropagation: 'stop',\n },\n consume: opts.contexts.map((c) => ({ context: c })),\n component,\n };\n };\n\n fn.tearDown = function () {\n if (on) {\n deregister();\n }\n tooltipContexts = [];\n };\n\n function register() {\n Object.keys(tooltipContexts).forEach((key) => {\n registerContext(tooltipContexts[key]);\n });\n }\n\n function registerContext(context) {\n context.listeners.update = function (added, removed) {\n context.action.update(added, removed, context);\n };\n context.listeners.end = function () {\n context.action.closeTooltip();\n };\n\n context.brush.on(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.on('end', context.listeners.end);\n // Intecept the set-values call to avoid a toggle in the second dimension.\n context.brush.intercept('set-values', context.action.toggleInterceptor);\n }\n\n function deregister() {\n Object.keys(tooltipContexts).forEach((key) => {\n deRegContext(tooltipContexts[key]);\n });\n }\n\n function deRegContext(context) {\n context.brush.removeListener(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.removeListener('end', context.listeners.end);\n context.brush.removeInterceptor('set-values', context.action.toggleInterceptor);\n }\n\n function closeTooltip() {\n Object.keys(tooltipContexts).forEach((key) => {\n tooltipContexts[key].action.closeTooltip();\n });\n }\n\n function mouseLeave() {\n closeTooltip();\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (const prop in tooltipContexts) {\n tooltipContexts[prop].brush.clear();\n }\n }\n\n fn.closeTooltip = closeTooltip;\n\n fn.isOn = () => on;\n fn.on = function () {\n if (on) {\n return;\n }\n on = true;\n\n register();\n\n if ($element) {\n $element.on('mouseleave', mouseLeave);\n }\n };\n\n fn.off = function () {\n if (!on) {\n return;\n }\n on = false;\n deregister();\n\n if ($element) {\n $element.off('mouseleave', mouseLeave);\n }\n closeTooltip();\n };\n\n return fn;\n}\n\nexport default {\n create(chartInstance, $element, chartType) {\n return Tooltips(chartInstance, $element, chartType);\n },\n};\n\nfunction createContext(options, chartInstance) {\n return {\n brush: chartInstance.brush(options.contexts[0]),\n action: TooltipAction.create(\n chartInstance,\n options.componentKey,\n options.data,\n options.contexts[0],\n options.tooltipKey\n ),\n listeners: {},\n chartInstance,\n dataPath: options.dataPath,\n renderer: options.renderer,\n data: options.data,\n headerResolver: options.headerResolver,\n rowResolver: options.rowResolver,\n colorService: options.colorService,\n attrDimPath: options.attrDimPath,\n measureRows: options.measureRows,\n labelData: options.labelData,\n filterShapes: options.filterShapes,\n\n direction: options.environment.options.direction,\n theme: options.environment.theme,\n translator: options.environment.translator,\n treatAsDesktop: options.environment.deviceType !== 'touch',\n };\n}\n","/**\n * String validation util.\n *\n */\n\nconst CHARACTER_AVERAGE_WIDTH = 166 / 26;\nconst CHARACTER_MAX_WIDTH = 12;\nconst M_WIDTH = 11;\nconst CJK_AVERAGE_WIDTH = 12;\nconst CJK_OVER_LATIN_WIDTH_RATIO = CJK_AVERAGE_WIDTH / M_WIDTH;\n\nfunction startsWith(string, prefix) {\n return string.indexOf(prefix) === 0;\n}\n\nfunction endsWith(string, suffix) {\n return string.indexOf(suffix, string.length - suffix.length) !== -1;\n}\n\nfunction contains(haystack, needle) {\n if (!haystack) {\n throw new Error('Haystack is undefined.');\n }\n\n if (!needle) {\n throw new Error('Needle is undefined.');\n }\n\n return haystack.indexOf(needle) !== -1;\n}\n\nfunction stringWidthOverMWidth(len) {\n const n = 3; // For short strings with wide letters or numbers\n return (Math.min(len, n) * CHARACTER_MAX_WIDTH + Math.max(len - n, 0) * CHARACTER_AVERAGE_WIDTH) / M_WIDTH;\n}\n\nfunction getCharacterRatios(s) {\n if (!s) {\n return {\n latin: 0,\n cjk: 0,\n };\n }\n let CJK = s.match(/[\\u4E00-\\u9FFF]/g);\n let hiragana = s.match(/[\\u3040-\\u309F]/g);\n let katakana = s.match(/[\\u30A0-\\u30FF]/g);\n CJK = CJK ? CJK.length : 0;\n hiragana = hiragana ? hiragana.length : 0;\n katakana = katakana ? katakana.length : 0;\n const t = CJK + hiragana + katakana;\n return {\n latin: s.length - t,\n cjk: t,\n };\n}\n\nfunction getTotalCharacterRatios(qMatrix, columnIndex) {\n const total = { latin: 0, cjk: 0 };\n if (columnIndex === undefined) {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row.qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n } else {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row[columnIndex].qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n }\n const t = Math.max(1, total.latin + total.cjk);\n total.latinRatio = total.latin / t;\n total.cjkRatio = total.cjk / t;\n return total;\n}\n\nfunction getAdjustedMaxGlyphCount(maxGlyphCount, qMatrix, columnIndex) {\n const totalCharacterRatios = getTotalCharacterRatios(qMatrix, columnIndex);\n const latinGlyphCount = totalCharacterRatios.latinRatio * maxGlyphCount;\n const cjkGlyphCount = totalCharacterRatios.cjkRatio * maxGlyphCount;\n const adjustedMaxGlyphCount = Math.ceil(\n stringWidthOverMWidth(latinGlyphCount) + cjkGlyphCount * CJK_OVER_LATIN_WIDTH_RATIO\n );\n return adjustedMaxGlyphCount;\n}\n\n// TODO: Need to improve to make sure longer strings should have bigger width than shorter strings\nfunction estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth) {\n const latinWidth = numLatins <= 24 ? maxLatinWidth : averageLatinWidth;\n return numLatins * latinWidth;\n}\n\nfunction estimateLabelWidth(numCjks, numLatins, cjkWidth, maxLatinWidth, averageLatinWidth) {\n return numCjks * cjkWidth + estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth);\n}\n\nexport default {\n endsWith,\n startsWith,\n contains,\n stringWidthOverMWidth,\n getCharacterRatios,\n getTotalCharacterRatios,\n getAdjustedMaxGlyphCount,\n estimateLatinLabelWidth,\n estimateLabelWidth,\n};\n","import waterfallUtils from './waterfallchart-utils';\n// import NumberFormatter from '../../../assets/objects/utils/number-formatter';\n\n/**\n * Implementation details\n */\n\n// This will generate a hypercube from n measures\n\nfunction getGeneratedDimensionPath(dimIndex) {\n return `qDimensionInfo/${dimIndex}`;\n}\n\nfunction getGeneratedMeasurePath(mesIndex) {\n return `qMeasureInfo/${mesIndex}`;\n}\n\nfunction getMeasureFormat(layout) {\n return layout.qHyperCube.qMeasureInfo[0].qNumFormat;\n}\n\nfunction generateHyperCube(layout, theme) {\n const qMeasureInfo = layout.qHyperCube.qMeasureInfo;\n const qMatrix = layout.qHyperCube.qDataPages[0].qMatrix;\n const numMeasures = qMeasureInfo.length;\n if (!numMeasures) {\n return;\n }\n\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n // const _numberFormatter = new NumberFormatter(); // TODO: number formatter from picasso-plugin-q ??\n const _numberFormatter = { prepare: () => {}, formatValue: (x) => `${x}` };\n _numberFormatter.prepare('#.#A'); // Used by client generated subtotals when format by Measure expression selected.\n\n const generatedMatrix = [];\n let start = 0;\n let end = 0;\n let startMax = -Number.MAX_VALUE;\n let startMin = Number.MAX_VALUE;\n let endMax = -Number.MAX_VALUE;\n let endMin = Number.MAX_VALUE;\n let numItems = 0;\n let color;\n let qNum;\n for (let i = 0; i < numMeasures; i++) {\n qNum = Number.isNaN(+qMatrix[0][i].qNum) ? 0 : qMatrix[0][i].qNum;\n if (qMeasureInfo[i].valueType !== waterfallUtils.valueTypes.SUBTOTAL) {\n start = end;\n end += qNum * (qMeasureInfo[i].valueType === waterfallUtils.valueTypes.INVERSE ? -1 : 1);\n color = start < end ? positveColor : negativeColor;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: color },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n if (qMeasureInfo[i].subtotal && qMeasureInfo[i].subtotal.enable) {\n generatedMatrix.push([\n { qText: qMeasureInfo[i].subtotal.label || '', qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: 0 },\n { qNum: end },\n { qNum: end, qText: _numberFormatter.formatValue(end) },\n ]);\n }\n } else {\n start = 0;\n end = qNum;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n }\n startMax = Math.max(startMax, start);\n startMin = Math.min(startMin, start);\n endMax = Math.max(endMax, end);\n endMin = Math.min(endMin, end);\n }\n const numFormat = getMeasureFormat(layout);\n const isAutoFormat = layout.qHyperCube.qMeasureInfo[0].qIsAutoFormat;\n const isCustomFormatted = layout.qDef.isCustomFormatted;\n const generated = {\n qHyperCube: {\n qMode: 'S',\n qDataPages: [\n {\n qArea: {\n qTop: 0,\n qLeft: 0,\n qWidth: 5,\n qHeight: generatedMatrix.length,\n },\n qMatrix: generatedMatrix,\n },\n ],\n qDimensionInfo: [\n {\n qStateCounts: {},\n },\n {\n qStateCounts: {},\n },\n ],\n qMeasureInfo: [\n {\n qMin: startMin,\n qMax: startMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n ],\n },\n };\n layout.generatedMatrix = generatedMatrix;\n layout.generated = generated;\n}\n\nfunction generateSlicedHyperCube(layout, top, height) {\n layout.generated.qHyperCube.qDataPages = [\n {\n qArea: {\n qTop: top,\n qLeft: 0,\n qWidth: 5,\n qHeight: height,\n },\n qMatrix: layout.generatedMatrix.slice(top, top + height),\n },\n ];\n}\n\nexport default {\n generateHyperCube,\n generateSlicedHyperCube,\n getGeneratedDimensionPath,\n getGeneratedMeasurePath,\n};\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { scaleLinear } from 'd3-scale';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nconst tickGenerator = {\n getMinorTicks({ majorTicks, minorTickCount }) {\n const minor = [];\n for (let i = 0; i < majorTicks.length - 1; i++) {\n const start = majorTicks[i];\n const end = majorTicks[i + 1];\n const step = (end - start) / (minorTickCount + 1);\n\n for (let c = 1; c <= minorTickCount; c++) {\n minor.push(start + step * c);\n }\n }\n\n return minor;\n },\n\n // Adjust ticks: a) add minor ticks at two ends, if neccessary,\n // b) add set min and/or set max\n // For simplicity, only consider minorTickCount == 1\n adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max }) {\n // a) add minor ticks at two ends, if neccessary,\n const d = minorTicks[0] - majorTicks[0];\n const deltaMin = majorTicks[0] - min;\n if (deltaMin > d) ticks.unshift({ value: majorTicks[0] - d, isMinor: true });\n const deltaMax = max - majorTicks[majorTicks.length - 1];\n if (deltaMax > d) ticks.push({ value: majorTicks[majorTicks.length - 1] + d, isMinor: true });\n if (autoMinMax) return ticks;\n\n // b) add set min and/or set max\n if ((minMax === 'min' || minMax === 'minMax') && deltaMin > 0) {\n ticks.unshift({ value: min, isMinor: false });\n }\n if ((minMax === 'max' || minMax === 'minMax') && deltaMax > 0) {\n ticks.push({ value: max, isMinor: false });\n }\n return ticks;\n },\n\n getTicks({ layout, height }) {\n const { autoMinMax, minMax, spacing } = layout.measureAxis;\n let min = Math.min(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMin));\n let max = Math.max(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMax));\n if (!autoMinMax) {\n switch (minMax) {\n case 'min':\n min = layout.measureAxis.min;\n break;\n case 'max':\n max = layout.measureAxis.max;\n break;\n case 'minMax':\n ({ min, max } = layout.measureAxis);\n break;\n default:\n break;\n }\n }\n const distance = SENSE_PICASSO_SPACING_COEFFICIENT * spacing;\n const count = Math.max(1, Math.round(height / distance));\n\n const scale = scaleLinear().domain([min, max]);\n const majorTicks = scale.ticks(count);\n const minorTicks = tickGenerator.getMinorTicks({ majorTicks, minorTickCount: 1 });\n\n // Generate an array of tick objects following the format defined by picasso\n const ticks = [\n ...majorTicks.map((value) => ({ value, isMinor: false })),\n ...minorTicks.map((value) => ({ value, isMinor: true })),\n ].sort((a, b) => a.value - b.value);\n return tickGenerator.adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max });\n },\n};\n\nexport default tickGenerator;\n","import ChartView from '@qlik/common/picasso/chart-view';\nimport ChartBuilder from '@qlik/common/picasso/chart-builder/chart-builder';\nimport Color from '@qlik/common/extra/color';\nimport ScrollHandler from '@qlik/common/picasso/scroll/scroll-handler';\nimport DependentInteractions from '@qlik/common/picasso/selections/dependent-interactions';\nimport TooltipHandler from '@qlik/common/picasso/tooltip/tooltips-handler';\nimport formatting from '@qlik/common/picasso/formatting';\nimport stringUtil from '@qlik/common/extra/string-util';\nimport { getAxisLabelStyle, getLegendLabelStyle, getValueLabelStyle } from '@qlik/common/extra/chart-style-component';\nimport { themeService as createThemeService } from 'qlik-chart-modules';\nimport CubeGenerator from './waterfallchart-cube-generator-by-measures';\nimport waterfallUtils from './waterfallchart-utils';\nimport tickGenerator from './waterfallchart-tick-generator';\n\nconst chartID = waterfallUtils.chartID;\nconst MAX_GLYPH_COUNT = 20;\nconst BAR_WIDTH_RATIO = 0.7;\n\n//\n// Implementation details\n//\n\nfunction init({ picasso, environment, $element, flags }) {\n const backendApi = null;\n const selectionsApi = null;\n this._super(picasso, $element, environment, backendApi, selectionsApi);\n this._tooltipHandler = TooltipHandler.create(this.chartInstance, $element, chartID);\n this._scrollHandler = new ScrollHandler(\n this.chartInstance,\n $element,\n this.getSlicedData.bind(this),\n this.updateChart.bind(this)\n );\n this._scrollHandler.setOptions({ direction: 'horizontal' });\n this.setDataPaths(['generated/qHyperCube']);\n this.flags = flags;\n}\n\nfunction getSlicedData(top, height) {\n CubeGenerator.generateSlicedHyperCube(this.layout, top, height);\n return Promise.resolve(this.layout);\n}\n\nfunction setSnapshotData(snapshotLayout) {\n this._super(snapshotLayout);\n snapshotLayout.generated = this.layout.generated; // eslint-disable-line no-param-reassign\n snapshotLayout.generatedMatrix = this.layout.generatedMatrix; // eslint-disable-line no-param-reassign\n}\nfunction getViewState() {\n return {\n scroll: this._scrollHandler.getScrollState(),\n };\n}\n\nfunction updateScrollHandlerState(b) {\n this._scrollHandler.setDisabled(!!b);\n}\n\nfunction updateConstraints(constraints) {\n const navigation = !constraints.active;\n const tooltip = !constraints.passive;\n\n this._scrollHandler[navigation ? 'on' : 'off']();\n this._tooltipHandler[tooltip ? 'on' : 'off']();\n}\nfunction off() {\n this._scrollHandler.off();\n this._tooltipHandler.off();\n}\n\nfunction getMaxGlyphCountForDimAxis(layout) {\n let glyphCount = -Number.MAX_VALUE;\n layout.qHyperCube.qMeasureInfo.forEach((measureInfo) => {\n glyphCount = Math.max(glyphCount, measureInfo.qFallbackTitle.length);\n if (\n measureInfo.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n measureInfo.subtotal &&\n measureInfo.subtotal.enable\n ) {\n glyphCount = Math.max(glyphCount, measureInfo.subtotal.label ? measureInfo.subtotal.label.length : 0);\n }\n });\n return Math.min(MAX_GLYPH_COUNT, Math.max(0, glyphCount));\n}\n\nfunction getDimAxisSettings(layout) {\n return {\n settings: {\n labels: {\n mode: layout.dimensionAxis.label,\n maxGlyphCount: Math.ceil(stringUtil.stringWidthOverMWidth(getMaxGlyphCountForDimAxis(layout))), // To mitigate SUI-1445\n maxLengthPx: this.picassoElement.getBoundingClientRect().height / 4, // Picasso version 0.5.3 does not support function here\n },\n },\n };\n}\n\nfunction getBarSettings(tooltipSettings, layout) {\n const brushTrigger = tooltipSettings ? [tooltipSettings.box.trigger] : [];\n const brushConsume = tooltipSettings ? tooltipSettings.box.consume : [];\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n start: { field: CubeGenerator.getGeneratedMeasurePath(0) },\n end: { field: CubeGenerator.getGeneratedMeasurePath(1) },\n measure: {\n field: CubeGenerator.getGeneratedMeasurePath(2),\n reduce: 'first',\n value(v) {\n return v;\n },\n },\n boxColor: {\n field: CubeGenerator.getGeneratedDimensionPath(1),\n value(v) {\n return v.qText;\n },\n },\n isCustomFormatted: !!layout.qDef.isCustomFormatted,\n tooltip: {\n value(v) {\n return v;\n },\n },\n },\n },\n },\n settings: {\n major: { scale: 'dimension' },\n minor: { scale: 'measure' },\n orientation: '', // There is a bug in Picasso where it uses height instead of width when the orientation is vertical.\n box: {\n width: BAR_WIDTH_RATIO,\n maxWidthPx: 4000,\n fill(d) {\n return d.datum.boxColor.value;\n },\n strokeWidth: 0,\n },\n },\n brush: {\n trigger: brushTrigger,\n consume: brushConsume,\n },\n };\n}\n\nfunction getLabel(context) {\n const measure = context.data.measure;\n const field = context.dataset(measure.source.key).field(measure.source.field);\n return formatting.formatMeasureValue(field, measure);\n}\n\nfunction getBarLabelSettings(themeService, layout) {\n const styles = themeService.getStyles();\n const valueLabelSettings = getValueLabelStyle(chartID, styles, layout);\n const outsideValueColor = valueLabelSettings?.fill || styles.label.value.color;\n const darkColor = styles.label.value.darkColor;\n const lightColor = styles.label.value.lightColor;\n const getContrastColor = () => (ctx) => (Color.isDark(ctx.node.attrs.fill) ? lightColor : darkColor);\n return {\n settings: {\n sources: [\n {\n strategy: {\n settings: {\n ...valueLabelSettings,\n direction(context) {\n return context.data && context.data.end.value > context.data.start.value ? 'up' : 'down';\n },\n labels: [\n {\n placements: [\n { fill: outsideValueColor },\n {\n fill: valueLabelSettings?.fill ? outsideValueColor : getContrastColor(),\n },\n {\n position: 'opposite',\n fill: outsideValueColor,\n justify: 0,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n}\n\nfunction getPicassoScrollSettings(layout, viewSize) {\n return {\n viewSize,\n max: layout.generatedMatrix.length,\n };\n}\n\nfunction getBridgeSettings(isRtl, theme) {\n const bridgeColor = theme.getStyle(chartID, 'shape.bridge', 'stroke');\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n x: {},\n y: {\n field: CubeGenerator.getGeneratedMeasurePath(1),\n },\n },\n },\n },\n settings: {\n x: {\n scale: 'dimension',\n ref: 'x',\n fn(d) {\n return isRtl ? d.scale(d.datum.value) : d.scale(d.datum.value) + d.scale.bandwidth(); // place the point between two bars\n },\n },\n y: { scale: 'measure' },\n sizeLimits: {\n maxPx: 20000,\n maxRelExtent: 10000,\n minRelDiscrete: 0,\n maxRelDiscrete: 1,\n },\n shape: 'line',\n stroke: bridgeColor,\n size: 1 - BAR_WIDTH_RATIO,\n strokeDasharray: '4 4',\n fill: 'none',\n strokeWidth(d, i) {\n return i === d.data.items.length - 1 ? 0 : 2;\n },\n },\n };\n}\n\nfunction getLegendSettings(environment, layout, flags) {\n const { theme, translator } = environment;\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n const positiveText = translator.get('waterfall.legend.positiveValue.label');\n const negativeText = translator.get('waterfall.legend.negativeValue.label');\n const subtotalText = translator.get('waterfall.legend.subtotal.label');\n const labelStyleSettings = getLegendLabelStyle(chartID, theme, layout, flags);\n\n return {\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n scale: {\n type: 'categorical-color',\n data: [positiveText, negativeText, subtotalText],\n range: [positveColor, negativeColor, subtotalColor],\n },\n style: {\n item: {\n label: {\n fontSize: labelStyleSettings.fontSize,\n fontFamily: labelStyleSettings.fontFamily,\n fill: labelStyleSettings.color,\n },\n },\n title: {\n show: false,\n },\n },\n };\n}\n\nfunction createChartSettings(layout) {\n // Create components\n const isRtl = this.isRtl();\n const { theme } = this.environment;\n const isSnapshot = !!layout.snapshotData;\n const chartBuilder = ChartBuilder.create({\n chartID,\n theme,\n isRtl,\n flags: this.flags,\n });\n const width = this.picassoElement.clientWidth;\n const height = this.picassoElement.clientHeight;\n const tooltipSettings = {};\n tooltipSettings.box = this._tooltipHandler.setUp({\n chartBuilder,\n environment: this.environment,\n data: [''],\n contexts: ['boxTip'],\n componentKey: 'box-marker',\n headerResolver() {\n return undefined; // Waterfall does not have dimension\n },\n rowResolver(field, measureContent, shapeData) {\n const color = shapeData.boxColor.value;\n const value = formatting.formatMeasureValue(field, measureContent);\n return {\n value,\n label: shapeData.tooltip.value.qText,\n color,\n };\n },\n labelData: ['tooltip'], // Should be a mapped path under extract, mandatory to display tooltip\n measureRows: ['measure'], // Should be a mapped path under extract, mandatory to display tooltip\n });\n\n const handlers = {\n scrollHandler: this._scrollHandler,\n selectionHandler: null,\n };\n\n const keys = {\n componentKey: 'box-marker',\n };\n\n if (this._dependentActions) {\n this._dependentActions.destroy();\n }\n this._dependentActions = DependentInteractions.create(handlers, 'vertical', isRtl, keys);\n\n chartBuilder.addPreset('dimension-measure-chart', {\n // common\n isRtl,\n orientation: 'vertical',\n theme,\n\n // grid lines\n gridlines: layout.gridlines,\n\n // dimension axis and title\n includeDimensionAxis: true,\n dimensionAxisProperties: layout.dimensionAxis,\n dimensionAxisSettings: getDimAxisSettings.call(this, layout),\n dimensionSource: CubeGenerator.getGeneratedDimensionPath(0),\n dimensionScaleSettings: {\n component: {\n maxPxStep() {\n return height / 4;\n },\n },\n },\n\n // measure axis and title\n includeMeasureAxis: true,\n measureAxisProperties: layout.measureAxis,\n // measureTitleText: \"\",\n measureSource: [CubeGenerator.getGeneratedMeasurePath(0), CubeGenerator.getGeneratedMeasurePath(1)],\n measureScaleSettings: {\n component: {\n expand: 0,\n include: [0], // Make sure that the measure axis starts from 0.\n ticks: {\n values: () => tickGenerator.getTicks({ layout, height }),\n },\n },\n },\n\n // scroll\n hasNavigation: !isSnapshot,\n isNavigationEnabledFn: () => this._scrollHandler.isOn(),\n scrollSettings: getPicassoScrollSettings(layout, this._scrollHandler.getScrollViewSizeInItem()),\n\n // ref-lines\n refLines: layout.refLine && layout.refLine.refLines,\n\n brushActions: this._dependentActions.gestures,\n axisLabelStyle: getAxisLabelStyle(chartID, theme, layout),\n });\n\n chartBuilder.addComponent('box-marker', getBarSettings(tooltipSettings, layout));\n chartBuilder.addComponent('point-marker', getBridgeSettings(isRtl, theme));\n\n if (!layout.legend || layout.legend.show) {\n chartBuilder.addComponent('categorical-legend', getLegendSettings(this.environment, layout, this.flags), {\n dock: layout.legend ? layout.legend.dock : 'auto',\n isRtl,\n chartWidth: width,\n chartHeight: height,\n });\n }\n\n const themeService = createThemeService({\n theme,\n config: {\n id: 'waterfallChart',\n },\n });\n if (layout.dataPoint.showLabels) {\n chartBuilder.addComponent('labels', getBarLabelSettings(themeService, layout));\n }\n\n // Add snapshot settings\n const settings = chartBuilder.getSettings();\n this.addSnapshotChartSettings(settings, layout);\n\n return settings;\n}\n\nfunction updateData(layout) {\n const { theme, options } = this.environment;\n const self = this;\n\n return this._super(layout).then(() => {\n if (self._destroyed) {\n return Promise.reject();\n }\n\n let top;\n let height;\n\n const isSnapshot = !!layout.snapshotData;\n if (isSnapshot) {\n const area = self.layout.generated.qHyperCube.qDataPages[0].qArea; // To fix SUI-4307\n top = area.qTop;\n height = area.qHeight;\n CubeGenerator.generateHyperCube(self.layout, theme);\n } else {\n CubeGenerator.generateHyperCube(self.layout, theme);\n updateScrollHandlerState.call(self, true); // No need to run it in snapshot mode\n const { viewState } = options;\n if (viewState) {\n self._scrollHandler.updateViewState(self.layout.generatedMatrix.length);\n self._scrollHandler.setScrollState(viewState.scroll);\n top = viewState.scroll;\n } else {\n self._scrollHandler.resetScroll();\n top = 0;\n }\n height = self._scrollHandler.getScrollViewSizeInItem();\n }\n CubeGenerator.generateSlicedHyperCube(self.layout, top, height);\n return undefined;\n });\n}\n\nfunction updateOnScrollViewChanged(chart) {\n chart._scrollHandler.onResize();\n}\n\nfunction resize() {\n updateOnScrollViewChanged(this);\n this._super();\n}\n\nfunction paint() {\n const isSnapshot = !!this.layout.snapshotData;\n if (!isSnapshot && !this.environment.options.viewState) {\n updateScrollHandlerState.call(this, false);\n }\n this._tooltipHandler.closeTooltip();\n\n const pageNumberOfRows = this.layout.generated.qHyperCube.qDataPages[0].qMatrix.length;\n const datasetNumberOfRows = this.layout.generatedMatrix.length;\n if (!isSnapshot && this._scrollHandler.isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows)) {\n const _super = this._super;\n const self = this;\n return this._scrollHandler.getViewData().finally(() => _super.call(self));\n }\n return this._super();\n}\n\nconst waterfallChartView = ChartView.extend('WaterfallChart', {\n namespace: '.waterfallchart',\n chartID,\n init,\n updateConstraints,\n off,\n createChartSettings,\n updateData,\n resize,\n paint,\n getSlicedData,\n setSnapshotData,\n getViewState,\n});\n\nexport default waterfallChartView;\n","import {\n useConstraints,\n useEffect,\n useElement,\n useMemo,\n usePromise,\n useState,\n useStaleLayout,\n} from '@nebula.js/stardust';\nimport $ from 'jquery';\nimport locale from '@qlik/common/locale';\nimport picassoSetup from '@qlik/common/picasso/picasso-setup';\nimport useResize from '@qlik/common/nebula/resize';\nimport useEnvironment from '@qlik/common/nebula/use-environment';\nimport setupSnapshot from '@qlik/common/nebula/snapshot';\n\nimport qae from './waterfallchart-qae';\nimport ext from './ext';\nimport ChartView from './waterfallchart-view';\n\nfunction usePromiseNoError(...args) {\n const [, error] = usePromise(...args);\n if (error) {\n throw error;\n }\n}\n\nexport default function supernova(env) {\n locale(env.translator);\n\n return {\n qae: qae(env),\n ext: ext(env),\n component() {\n const element = useElement();\n const environment = useEnvironment();\n const renderer = environment.options.renderer;\n const picasso = useMemo(() => picassoSetup(renderer), [renderer]);\n const layout = useStaleLayout();\n const constraints = useConstraints();\n\n const [instance, setInstance] = useState();\n\n useEffect(() => {\n const $element = $(element);\n const view = new ChartView({ picasso, environment, $element, flags: env.flags });\n\n setInstance(view);\n\n return () => {\n view.destroy();\n };\n }, []);\n\n usePromiseNoError(async () => {\n if (!instance) {\n return;\n }\n instance.updateEnvironment(environment);\n instance.updateConstraints(constraints);\n\n await instance.updateData(layout);\n await instance.paint();\n }, [layout, instance, environment]);\n\n useResize(instance);\n setupSnapshot(instance);\n },\n };\n}\n","import all from './all.json';\n\nexport default function autoRegister(translator) {\n if (translator && translator.get && translator.add) {\n const t = 'Object.Disclaimer.LimitedData';\n const g = translator.get(t);\n // if translated string is different from its id\n // assume translations already exists for current locale\n if (g !== t) {\n return;\n }\n\n Object.keys(all).forEach((key) => {\n translator.add(all[key]);\n });\n }\n}\n","import { useApp, useAppLayout, useTranslator, useOptions, useMemo, useTheme, useDeviceType } from '@nebula.js/stardust';\n\nexport default function useEnvironment() {\n const app = useApp();\n const appLayout = useAppLayout();\n const deviceType = useDeviceType();\n const options = useOptions();\n const theme = useTheme();\n const translator = useTranslator();\n\n const environment = useMemo(\n () => ({\n app,\n appLayout,\n deviceType,\n options,\n theme,\n translator,\n }),\n [app, appLayout, options.direction, options.freeResize, translator.language(), theme.name(), deviceType]\n );\n\n return environment;\n}\n","import picassojs from 'picasso.js';\nimport PicassoQ from 'picasso-plugin-q';\nimport PicassoHammer from 'picasso-plugin-hammer';\nimport Hammer from 'hammerjs';\nimport eventArea from './plugins/event-area';\nimport disclaimer from './disclaimer/disclaimer-component.jsx';\n\nexport default function setup(renderer) {\n const picasso = picassojs();\n // default to use canvas renderer\n picasso.renderer.prio([renderer || 'canvas']);\n\n // TODO: investigate picasso warnings\n // if (DebugFlags.DEVELOPER) {\n // picasso.logger.level(picassojs.logger.LOG_LEVEL.WARN);\n // }\n\n picasso.use(PicassoQ);\n picasso.use(PicassoHammer(Hammer));\n picasso.use(eventArea);\n picasso.component('disclaimer', disclaimer);\n return picasso;\n}\n","import { useConstraints, useOptions, usePromise, useRect } from '@nebula.js/stardust';\n\nexport default function useResize(chartInstance) {\n const rect = useRect();\n const options = useOptions();\n const constraints = useConstraints();\n\n const [, error] = usePromise(async () => {\n if (!chartInstance) {\n return;\n }\n chartInstance.updateConstraints(constraints);\n chartInstance.options = options;\n await chartInstance.resize();\n }, [rect.width, rect.height]);\n\n if (error) {\n throw error;\n }\n}\n"],"names":["init","Picasso","component","mounted","element","classList","add","style","pointerEvents","zIndex","render","disclaimer","renderer","disableTriggers","preferredSize","h","settings","label","rtl","layout","dock","this","dir","rect","display","justifyContent","alignItems","color","fontStyle","fontSize","width","height","transform","transformOrigin","textAlign","getStyle","modifiedLabel","spanStyle","overflow","whiteSpace","textOverflow","ref","alignToRef","title","properties","version","qHyperCubeDef","qDimensions","qMeasures","qMode","qInitialDataFetch","qWidth","qHeight","qSuppressMissing","auto","positiveValue","paletteColor","index","negativeValue","subtotal","dataPoint","showLabels","dimensionAxis","show","gridlines","spacing","legend","measureAxis","autoMinMax","max","min","minMax","qDef","qNumFormat","numFormatFromTemplate","isCustomFormatted","refLine","refLines","showTitles","subtitle","footnote","data","env","translator","path","dimensions","measures","description","get","self","exports","e","r","Object","prototype","hasOwnProperty","n","toString","t","defineProperty","i","getOwnPropertyDescriptor","o","Array","isArray","call","a","constructor","s","name","enumerable","configurable","value","newValue","writable","u","l","c","p","arguments","f","m","length","d","__esModule","default","Symbol","toStringTag","Fe","split","Number","isNaN","updated","previous","EXPRESSIONS","observed","trend","seasonal","residual","OPTIONS","translation","concat","qLibraryId","qInfo","qId","dimensionList","qData","info","qTags","indexOf","trim","charAt","substring","qName","qDerivedFieldData","qDerivedFieldLists","qFieldDefs","fieldList","fullAccumulation","fullRange","crossAllDimensions","replace","y","q","b","v","D","modifier","dimensionAndFieldList","funcComp","valueComp","showExcludedValues","g","x","isFullRange","getNumDimensions","getExpressionWithExcludedComp","expression","treatMissingAsNull","getRowNoComp","getNumStepComp","steps","getAboveCompPrefix","getAboveCompSuffix","getAboveComp","getFunctionPrefix","getFunctionSuffix","getRangeComp","getAggrComp","getExcludedComp","needDimension","primaryDimension","accumulationDimension","getDimComp","qSortCriterias","qSortByExpression","qSortByNumeric","qSortByAscii","simplifyExpression","extractInputExpression","outputExpression","initModifier","keys","forEach","isNumeric","isApplicable","minDimensions","maxDimensions","getExpressionWithMarkers","canExtract","getDimDefWithWrapper","getFieldWithWrapper","generateTSDExpression","base","decomposition","find","qLabel","startsWith","substr","getDecomposition","values","toLowerCase","includes","A","E","iterator","C","bind","I","S","M","L","O","F","slice","P","generate","val","push","op","splice","from","apply","test","TypeError","Error","clone","createPatch","updateObject","V","N","Promise","resolve","map","qOp","qValue","JSON","stringify","qPath","applyPatches","w","H","type","T","j","disabled","R","translationKey","generateExpression","numDimensions","enableTotalsFunction","propertyPanelDef","items","refFn","primaryDimensionTooltip","schemaIgnore","defaultValue","options","qHyperCube","qDimensionInfo","qGroupFallbackTitles","crossAllDimensionsTooltip","range","rangeFull","rangeCustom","rangeSteps","change","Math","abs","ext","support","modifiers","_","B","k","W","nullSuppression","$","showNull","inverted","U","G","z","Y","J","timeSeriesDecomposition","modifierTrendDecompositionDecomposition","trendDecompositionParametersDecompositionObserved","modifierTimeSeriesDecompositionPeriods","K","X","Q","Z","ee","re","ne","te","ie","oe","dimensionalScope","selectionScope","ae","se","ue","le","ce","join","field","updateModifier","modifierSelectionScope","modifierSelectionScopeTooltip","selectionScopeCurrentSelection","selectionScopeSpecificValue","selectionScopeTotal","dropdownOnly","app","getFieldList","then","modifierDimensionalScope","modifierDimensionalScopeTooltip","supportTooltip","dimensionalScopeOneDimension","tooltipTranslation","dimensionalScopeOneDimensionTooltip","dimensionalScopeAllDimensions","dimensionalScopeAllDimensionsTooltip","dimensionalScopeDisregardAllDimensions","dimensionalScopeDisregardAllDimensionsTooltip","getDisregardSelectionComp","getFieldSelectionComp","getTotalComp","getSelectedDimComp","pe","fe","me","de","ye","qe","getExpression","getExpressionRef","getLibraryIdRef","getLibraryId","getLabelRef","getLabelExpressionRef","be","ve","De","ge","he","xe","Ae","Ee","Ce","Ie","Se","initBase","isValid","restoreBase","Me","Le","Oe","accumulation","movingAverage","difference","normalization","Ve","applyModifiers","Ne","cleanUpMeasure","we","destroy","Pe","id","masterItemSubscriber","unsubscribe","hasActiveModifiers","He","getActiveModifier","Te","isSupportedModifiers","some","isApplicableSupportedModifiers","modifierTypes","measureBase","limitedSorting","_e","ze","Qe","ifEnableTotalsFunction","je","model","isSnapshot","masterItem","isFirstTime","lastReloadTime","Ge","measure","getEffectiveProperties","ke","Ze","Ye","Je","libraryIds","Re","$e","oldProperties","runUpdateIfChange","libraryItemsProps","er","Xe","newProperties","libraryId","qMeasure","qLabelExpression","quarantine","coloring","qAggrFunc","We","Be","Ue","getDimensionList","all","measureLibraryIds","dimensionLibraryIds","getMeasure","getProperties","getDimension","Ke","qHasSoftPatches","qExtendsId","setProperties","callback","dimension","enabled","listener","layoutSubscribe","subscribe","dispose","clearUndoBuffer","charCodeAt","String","fromCharCode","floor","getValue","setValue","isEmpty","isAtomicValue","generateId","round","random","isOrderedSubset","indexAdded","indexRemoved","findItemByPropertyValue","findIndexByPropertyValue","exportFormat","excludedDimensions","excludedMeasures","qInterColumnSortOrder","interColumnSortOrder","qLayoutExclude","changed","to","store","match","parse","qv","othersLabel","pow","visualization","autoSort","cId","qNullSuppression","qOtherLabel","qOtherTotalSpec","qOtherLimitMode","qOtherMode","qOtherSortMode","qSuppressOther","qTrendLines","newHyperCubeDef","defaultDimension","maxMeasures","minMeasures","defaultMeasure","dataDefinition","initialProperties","hypercubePath","key","components","added","exportProperties","propertyTree","viewDataMode","qProperty","filters","qContextSetExpression","qDynamicScript","importProperties","defaultPropertyValues","extension","supportedFilters","isHCModifierSupported","qChildren","qTop","qLeft","cellBackgroundColor","cellForegroundColor","colorByAlternative","colorByExpression","tooltip","urlLabel","url","create","qAttribute","moveByIdFromGroup","IDMAP","CELL_BACKGROUND_COLOR","CELL_FOREGROUND_COLOR","COLOR_BY_ALTERNATIVE","COLOR_BY_EXPRESSION","TOOLTIP","CELL_LINK_LABEL","CELL_LINK_URL","getNumMeasures","wrapFieldName","getItemLabel","colorModeOptions","primary","multiColor","scatterplot","piechart","linechart","distributionplot","altLabel","qStringExpression","qExpr","isDimension","attributeExpression","item","qExpression","matchMeasure","activeMeasureIndex","labelExpRef","colorMapRef","qSortBy","qAttributeDimensions","qAttributeExpressions","qFieldLabels","useMasterNumberFormat","mode","byDimDef","activeDimensionIndex","byMeasureDef","formatting","byDimension","byMeasure","byMultiple","byExpression","canColorBy","autoColor","colorMode","qTotalMode","shouldUpdateColorBy","measureType","measureAxes","series","axis","line","marker","bar","total","filter","sort","supportedAutoMinMax","qColumnOrder","columnOrder","arrayPath","quarantineName","arrayName","itemPath","unquarantine","quarantineAlternative","unquarantineAlternative","hypercube","colorChart","axisChart","quarantineProperty","unquarantineProperty","quarantineArrayProp","unquarantineArrayProp","conditionalColoring","conditionalShow","propTree","conversion","props","extend","qSuppressZero","qae","targets","next","done","return","toUpperCase","groupHeader","styles","fontFamily","theme","flags","Set","Boolean","metaText","isEnabled","getDefaultValue","getOptions","config","paths","RegExp","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","rgb","formatHex","formatRgb","exec","parseInt","NaN","opacity","copy","assign","displayable","hex","formatHex8","formatHsl","brighter","darker","clamp","PI","it","ot","tt","et","cos","sin","atan2","sqrt","nt","at","ct","lt","gamma","Yt","Ut","alignment","condition","layoutService","meta","size","getHyperCubeValue","every","qMin","qMax","isContinuous","reduce","xr","un","fn","Rn","children","Vn","Map","Bn","_n","Yn","pop","parent","depth","eachBefore","$n","Kn","count","eachAfter","each","sum","ancestors","descendants","leaves","links","source","target","reverse","search","toFixed","lastIndexOf","io","oo","ao","lo","co","so","uo","fo","po","matrix","attribute","overrides","getAxisLabelStyle","chartId","_overrides2","_axis$label","_axis$label2","_axis$label3","labels","fill","fontColor","CHART_ID","getShapeColor","defaultColor","defaultIndex","layoutColor","waterfallUtils","valueTypes","NORMAL","INVERSE","SUBTOTAL","chartID","getColorForPositiveValue","getColorPickerColor","getColorForNegativeValue","getColorForSubtotal","freeze","getStylingItems","styleOptions","axisLabelSection","valueLabelSection","legendLabelSection","undefined","getStylingPanelDefinition","bkgOptionsEnabled","chartTitle","useGeneral","useBackground","colorIsNotAuto","propertyDefinition","stylingPanelEnabled","uses","addTranslation","disabledRef","numberFormatting","valueType","subTotal","subTotalLabel","enable","anything","sense","fontResolver","getChartFontResolver","createFontResolver","ChartStyleComponent","propertyDefs","getColorComponent","getDataColorPickerPalettes","colors","labelSection","getFontWrapperComponent","fontWrapper","presentation","grouped","stylingPanel","gridLines","snapshot","tid","showGridLines","gridSpacing","positiveValueColor","dualOutput","negativeValueColor","subtotalColor","simpleColors","classification","section","tags","exclusive","simpleItems","_data$color","measureAxisTitle","othersGroup","simpleLabels","header","_props$qHyperCubeDef$","pointLabels","_props$qHyperCubeDef$2","globalChange","numberFormattingType","addons","dataHandling","suppressZero","calcCond","colorBackground","_env$anything","definition","pp","cssScaling","export","exportData","sharing","viewData","mapProperties","getDefaultDimensionProperties","getDefaultMeasureProperties","hyperCubePath","Qn","Rt","bn","xn","wn","qn","Cn","kn","Mn","fnTest","Class","className","proto","_super","tmp","ret","ctor","Function","idGen","getChar","charCode","base62","chr","SCROLLBAR_KEY","getAxisDock","direction","isRtl","getYAxisDock","getXAxisDock","yDockNearFar","axisDockUtil","getOppositeAxisDock","rangesOfLRgExp","rangesOfRRgExp","rangesOfALRgExp","isLtrChar","isRtlChar","rtlUtils","lrm","rlm","detectTextDirection","refLineUtil","lineSettings","_options$style","defaultSettings","stroke","strokeDasharray","lineType","lineLabelSettings","labelColor","labelFontSize","labelFontFamily","align","vAlign","text","maxWidthPx","isVisible","refLineExpr","getRefLineTitle","valueString","showValue","showLabel","RtlUtil","constants","SHOW_AXIS_LABELS_OPTIONS","SHOW_TITLE_OPTIONS","HORIZONTAL","VERTICAL","LAYOUTSETTINGS","lasso","displayOrder","rangeDim","rangeMeasure","rangeMinor","scrollBar","minimumLayoutMode","prioOrder","dimensionAxisTitle","refLinesLabels","DEFAULT_CHART_ORIENTATION","DimensionMeasureChart","chartBuilder","opts","measureAxisProperties","dimensionAxisProperties","chartOrientation","orientation","CONSTANTS","isChartHorizontal","measureDirection","dimensionDirection","includeMeasureAxisComponent","includeMeasureAxisTitleComponent","measureTitleText","includeDimensionAxisComponent","includeDimensionAxis","includeDimensionAxisTitleComponent","dimensionTitleText","includeGridlines","includeRefLines","interactionActions","measureAxisSettings","scale","axisLabelStyle","forceBounds","showBounds","measureAxisOptions","getMeasureAxisOptions","addComponent","addMeasureAxisComponent","measureTitleSettings","axisTitleStyle","getMeasureAxisTitleOptions","addMeasureAxisTitleComponent","measureScaleSettings","measureScaleOptions","measureSource","ticks","distance","addScale","addMeasureScale","dimensionAxisSettings","dimensionAxisOptions","getDimensionAxisOptions","addDimensionAxisComponent","dimensionAxisTitleSettings","dimensionAxisTitleOptions","getDimensionAxisTitleOptions","addDimensionAxisTitleComponent","dimensionScaleOptions","dimensionSource","dimensionScaleSettings","addDimensionScale","gridlinesOptions","gridlinesSettings","minorTicks","addGridlinesComponent","hasNavigation","getSettings","scroll","viewSize","scrollSettings","scrollbarOptions","isHorizontal","scrollBarSettings","addInteractionActions","isEnabledFn","targetIsScrollbar","manager","startPoint","center","deltaX","deltaY","chart","componentsFromPoint","tap","events","emit","pan","panstart","panend","pancancel","getScrollActions","isNavigationEnabledFn","addScrollbarComponent","axisDock","refLinesSettings","oob","lines","refLinesLabelsSettings","require","measureText","formatter","scales","labelWidths","formattedValue","minimumText","wanted","required","maxLabelWidth","labelPadding","expressionValue","lineOptions","addRefLineComponent","enableLasso","selectionsEnabled","lassoOptions","brushKey","brushComponents","brushData","addLassoComponent","enableDimRange","rangeDimSettings","rangeDimOptions","brushAxis","brushArea","brushScale","addRangeDimComponent","dimRange","enableMeasureRange","rangeMeasureSettings","rangeMeasureOptions","multiple","addRangeMeasureComponent","measureRange","enableAreaRange","rangeMinorSettings","chartInstance","addRangeAreaComponent","areaRange","brushActions","addInteraction","gestures","addInteractionComponent","actions","invert","domain","trackBy","getTextRenderer","_flags$isEnabled","navigator","userAgent","axisLineStroke","titleFontSize","titleFill","labelsFill","labelsFontSize","titleFontFamily","labelsFontFamily","brush","trigger","consume","strokeWidth","tiltAngle","maxEdgeBleed","maxSize","axisSettings","active","measureScale","fields","expand","scaleSettings","dimensionScale","extract","qText","datum","xAxis","yAxis","xAxisTitle","yAxisTitle","rangeUtil","getBublesAlign","isAlignStart","getDock","dockTargets","dockT","layoutModes","SPARK","XSMALL","SMALL","MEDIUM","FULL","LayoutModes","getLabel","context","end","dataset","getLayoutModeKeys","layoutModeKeys","modeKey","directions","left","right","up","down","createComponent","minor","boxMarker","pointMarker","backgroundColor","scrollbar","comp","contexts","fillActive","bubbles","isStartBorder","binStart","binEnd","action","rangeArea","chartHeight","chartWidth","itemFill","itemFontSize","itemFontFamily","anchor","vertical","navigation","button","class","content","state","lineHeight","wordBreak","margin","top","bottom","shape","showTitle","categoricalLegend","tickFill","tickFontSize","tickFontFamily","getAlignValue","word","major","tick","sequentialLegend","gridLine","interaction","oobColor","oobBackgroundColor","padding","eventArea","sources","selector","strategy","parseFloat","placements","position","justify","ChartBuilder","dockLayout","interactions","getComponent","addPreset","ChartPresets","validateComponentKeys","msg","ALIGNMENT","CENTER","BOTTOM","DisclaimersConfig","DISCLAIMERS","util","getNoDataExistAttribute","qSize","qcy","qcx","getLimitedDataAttribute","maxNbrOfDimensions","result","stackedDataPages","explicitLimitedData","qDataPages","paging","qMatrix","qStackedDataPages","qSubNodes","node","qDown","qArea","getNegativeOrZeroValuesAttribute","supportNegative","qMeasureInfo","getOnlyNegativeOrZeroValuesAttribute","getOnlyNanDataAttribute","explicitOnlyNanData","getDataRangeIncludingZeroAttribute","supportRangeOverZero","measureInfo","len","explicitMinOn","explicitMaxOn","MAX_VALUE","hasDataRangeIncludingZero","applyAttributes","dataAttributes","NoDataExist","RequireNumericDimension","explicitRequireNumericDimension","LimitedData","NegativeOrZeroValues","OnlyNegativeOrZeroValues","OnlyNanData","DataRangeIncludingZero","Helper","disclaimersConfig","supportedDisclaimers","list","Disclaimer","environment","clear","isValidAndSupported","isAnyValidDisclaimer","getMessage","str","ERRORS","SET","DISPLAY","_applyDefaultSupport","supported","getComponentSettings","_this$environment","vizAttributes","helper","DisclaimerComponentHelper","message","set","attributes","AttributesUtil","ChartView","picasso","$element","backendApi","selectionsApi","_selectionsApi","_on","_disclaimer","_dataPaths","picassoElement","dataAreaElem","updateEnvironment","_this$environment$opt","setDataPaths","dataPaths","getData","hyperCube","dataPagesPath","page","maxHeight","pages","hasValidData","paint","_disclaimerComponent$","getDisclaimerAttributes","disclaimerComponent","isSuppressingDisc","chartSettings","createChartSettings","errorMsg","console","error","updateChart","_painted","resize","addSnapshotChartSettings","freeResize","snapshotData","logicalSize","preserveAspectRatio","updateData","_destroyed","reject","permissions","isPartialData","_this$environment$app","_this$environment$app2","localeInfo","appLayout","qLocaleInfo","colorService","update","partialData","setAttribute","off","getViewState","isLassoDisabled","setSnapshotData","snapshotLayout","chartData","colorStruct","transparent","rgba","hexShort","hsl","hsla","Color","lcs","h_","rgb_","matches","colorString","_invalid","_r","_g","_b","_a","CSSColors","_spaces","isInvalid","setAlpha","getAlpha","toRGB","toRGBA","toHex","toHSL","luma","toHSLA","toHSV","hsvComp","toHSVComponents","toNumber","num","isDark","getLuminance","_lumi","shiftLuminance","chsla","isEqual","blend","c2","createShiftedColor","lumi","greenMultiplier","hsla_string","ch","c1","r1","g1","b1","getBlend","isCSSColor","getBestContrast","cl","cd","lum","getContrast","color1","color2","l1","l2","useDarkLabel","areaColor","bgIsDark","namespace","ScrollHandler","$chartElement","getSlicedDataFn","onScrollCallback","legendKey","_chartInstance","_$chartElement","_getSlicedDataFn","_itemSize","_onScrollCallback","_legendKey","calculateScrollViewSizeInItem","scrollSize","getItemSize","_scrollViewSizeInItem","onMouseWheel","event","orgEvent","delta","wheelDelta","detail","HORIZONTAL_AXIS","wheelDeltaY","wheelDeltaX","pageX","pageY","getMouseWheelData","originalEvent","preventDefault","onLegendMouseWheel","_disabled","getScrollApi","_scrollApi","move","onScroll","_sizeChanged","getViewData","catch","err","setDisabled","getDisabled","setItemSize","getScrollViewSizeInItem","on","removeAllListeners","isOn","updateViewState","onResize","isDataSizeChanged","pageNumberOfRows","datasetNumberOfRows","resetScroll","moveTo","getState","start","setOptions","getScrollState","setScrollState","onComponentChecker","isOnComponentForRange","selectionGesture","isOnComponentForLasso","gesturesParams","lassoGesture","componentKey","isOnComponentForNavBtn","legendBrushKey","navBtnGesture","callLassoGesture","gesturesFns","Hammer","DIRECTION_ALL","threshold","lassoing","isSelectionEnabled","hitComp","handlers","selectionHandler","lassoState","allFieldsLocked","recognizeWith","scrollHandler","lassostart","switchTo","pauseEngineCalls","lassoBrushKey","clientX","pointers","clientY","doEmit","lassomove","lassoend","resumeEngineCalls","lassocancel","measureRangeGesture","callMeasureRangeGesture","activeRangeBrush","dimRangeBrushKey","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","rangeSelStatus","isOpenMea","measureSelecting","gesture","measureRangeBrushKey","requireFailure","measurerangestart","measurerangemove","measurerangeend","measurerangecancel","getAxisOrientation","areaRangeGesture","callAreaRangeGesture","isOpenDim","minoring","arearangestart","areaBrushKey","arearangemove","arearangeend","arearangecancel","dimensionRangeGesture","callDimensionRangeGesture","dimAxis","majoring","majorrangestart","majorrangemove","majorrangeend","majorrangecancel","dragGesture","callDragGesture","hasSelections","dragPoint","dragging","isNavigationEnabled","getBrushConfig","dragstart","dragmove","dragend","dragcancel","callNavBtnGesture","navBtnTap","btn","attr","getAttribute","DependentInteractions$1","clearKey","activeChart","newType","cont","inst","onScrollUpdate","rangeClearTap","unshift","removeListener","TooltipActions","tooltipKey","hasOpen","closeTooltip","isOpen","brushes","shapes","getAffectedShapes","nodes","openTooltip","toggleInterceptor","check","TooltipAction","args","formatMeasureValue","measureContent","raw","qNum","createContent","tooltipInfo","uniqueShapes","dataPath","numberInExcess","numItems","localContent","rows","labelData","refPaths","isNullValue","currentNode","qElemNo","qElemNumber","headerResolver","measureRows","measureRow","rowData","rowResolver","row","colorByData","getColorByDimData","rowCount","extractContent","renderSettings","_tooltipInfo$colorSer","_tooltipInfo$colorSer2","_shape$attrs","colorData","colorSettings","fieldType","ids","mapping","elemNoObj","othersIndex","getOthersIndex","attrs","TOOLTIP_CONTAINER_ID","TOOLTIP_CONTAINER_SELECTOR","appendTooltipContainer","document","querySelector","container","createElement","body","appendChild","beforeMount","beforeUpdate","destroyed","elm","parentElement","childElementCount","removeChild","destroyTooltipContainer","appendTo","placement","arrow","background","cell","hyphens","getDirection","DEFAULT_OPTIONS","labelTextAlign","headerStyle","fontWeight","colSpan","valueContent","symbolStyle","symbol","labelStyle","valueStyle","moreText","moreStyle","Tooltips","chartType","tooltipContexts","registerContext","listeners","removed","treatAsDesktop","intercept","deregister","deRegContext","removeInterceptor","mouseLeave","prop","setUp","attrDimPath","filterShapes","deviceType","createContext","createTooltip","uniques","filterDuplicateShapes","globalPropagation","tearDown","TooltipHandler","CHARACTER_AVERAGE_WIDTH","CJK_OVER_LATIN_WIDTH_RATIO","stringWidthOverMWidth","getCharacterRatios","latin","cjk","CJK","hiragana","katakana","getTotalCharacterRatios","columnIndex","res","latinRatio","cjkRatio","estimateLatinLabelWidth","numLatins","maxLatinWidth","averageLatinWidth","stringUtil","endsWith","string","suffix","prefix","contains","haystack","needle","getAdjustedMaxGlyphCount","maxGlyphCount","totalCharacterRatios","latinGlyphCount","cjkGlyphCount","ceil","estimateLabelWidth","numCjks","cjkWidth","CubeGenerator","generateHyperCube","numMeasures","positveColor","negativeColor","_numberFormatter","generatedMatrix","startMax","startMin","endMax","endMin","qFallbackTitle","numFormat","getMeasureFormat","isAutoFormat","qIsAutoFormat","generated","qStateCounts","generateSlicedHyperCube","getGeneratedDimensionPath","dimIndex","getGeneratedMeasurePath","mesIndex","ascending","descending","bisector","compare1","compare2","hi","mid","zero","bisectRight","e10","e5","e2","tickSpec","stop","step","power","log10","factor","i1","i2","inc","tickIncrement","initRange","define","factory","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color_formatHex","color_formatRgb","format","rgbn","Rgb","rgb_formatHex","rgb_formatRgb","clampa","clampi","Hsl","hslConvert","clamph","clampt","hsl2rgb","m1","m2","channels","nogamma","exponential","constant","linear","rgbGamma","colorRgb","numberArray","genericArray","nb","na","date","Date","setTime","interpolateNumber","object","reA","reB","am","bm","bs","bi","lastIndex","number","one","interpolate","ArrayBuffer","isView","DataView","valueOf","interpolateRound","unit","identity","normalize","bimap","d0","d1","r0","polymap","bisect","transformer","untransform","unknown","piecewise","output","input","interpolateValue","rescale","rangeRound","formatDecimalParts","toExponential","coefficient","exponent","prefixExponent","formatSpecifier","specifier","FormatSpecifier","sign","comma","precision","formatRounded","formatTypes","%","toLocaleString","toPrecision","locale","formatPrefix","prefixes","formatLocale","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","minus","nan","newFormat","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","i0","formatTrim","Infinity","tickFormat","tickStep","precisionPrefix","precisionRound","precisionFixed","linearish","nice","prestep","maxIter","tickGenerator","getMinorTicks","majorTicks","minorTickCount","adjustTicks","deltaMin","isMinor","deltaMax","getTicks","scaleLinear","updateScrollHandlerState","_scrollHandler","getMaxGlyphCountForDimAxis","glyphCount","getDimAxisSettings","maxLengthPx","getBoundingClientRect","getBarLabelSettings","themeService","getStyles","valueLabelSettings","getValueLabelStyle","_overrides3","_value$value","_value$value2","_value$value3","outsideValueColor","darkColor","lightColor","ctx","getPicassoScrollSettings","getLegendSettings","positiveText","negativeText","subtotalText","labelStyleSettings","getLegendLabelStyle","_overrides5","_legend$label","_legend$label2","_legend$label3","waterfallChartView","_tooltipHandler","getSlicedData","updateConstraints","constraints","passive","clientWidth","clientHeight","tooltipSettings","box","shapeData","boxColor","_dependentActions","DependentInteractions","maxPxStep","includeMeasureAxis","include","brushTrigger","brushConsume","getBarSettings","bridgeColor","bandwidth","sizeLimits","maxPx","maxRelExtent","minRelDiscrete","maxRelDiscrete","getBridgeSettings","getTheme","setTheme","createThemeService","area","viewState","finally","supernova","useElement","useApp","useAppLayout","useDeviceType","useOptions","useTheme","useTranslator","useMemo","language","useEnvironment","picassojs","prio","use","PicassoQ","PicassoHammer","picassoSetup","useStaleLayout","useConstraints","instance","setInstance","useState","useEffect","view","usePromise","usePromiseNoError","async","useRect","useResize","onTakeSnapshot","useImperativeHandle"],"mappings":"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","x_google_ignoreList":[5,8,14,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108]}
1
+ {"version":3,"file":"index.js","sources":["../../../../chart-modules/common/picasso/plugins/event-area.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component.jsx","../../../../chart-modules/common/nebula/snapshot.js","../../src/object-properties.js","../../src/waterfallchart-data-definition.js","../../../../node_modules/.pnpm/qlik-object-conversion@0.16.5/node_modules/qlik-object-conversion/dist/conversion.js","../../src/waterfallchart-import-export.js","../../src/waterfallchart-qae.js","../../../../node_modules/.pnpm/qlik-chart-modules@0.94.0_@emotion+react@11.14.0_@types+react@19.1.5_react@19.1.0__@emo_d50bd95b89f19c6f913258a3daa629fc/node_modules/qlik-chart-modules/dist/qlik-chart-modules.esm.js","../../../../chart-modules/common/extra/chart-style-component.js","../../src/waterfallchart-utils.js","../../src/styling-panel-property-definiton.js","../../src/waterfallchart-properties.js","../../src/ext.js","../../../../chart-modules/common/extra/class.js","../../../../chart-modules/common/extra/generate-id.js","../../../../chart-modules/common/picasso/scroll/scroll-actions.js","../../../../chart-modules/common/picasso/chart-builder/components/util/axis-dock-util.js","../../../../chart-modules/common/extra/rtl-util.js","../../../../chart-modules/common/picasso/chart-builder/components/util/ref-line-util.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/constants.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/layout-settings.js","../../../../chart-modules/common/picasso/chart-builder/presets/dimension-measure-chart/dimension-measure-chart.js","../../../../chart-modules/common/picasso/chart-builder/scale.js","../../../../chart-modules/common/picasso/chart-builder/components/util/get-text-renderer.js","../../../../chart-modules/common/picasso/chart-builder/components/axis.js","../../../../chart-modules/common/picasso/chart-builder/components/text.js","../../../../chart-modules/common/picasso/chart-builder/components/util/range-util.js","../../../../chart-modules/common/picasso/chart-builder/layout-modes.js","../../../../chart-modules/common/picasso/chart-builder/components/labels.js","../../../../chart-modules/common/picasso/chart-builder/components/categorical-legend.js","../../../../chart-modules/common/picasso/chart-builder/chart-builder.js","../../../../chart-modules/common/picasso/chart-builder/components/box-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/point-marker.js","../../../../chart-modules/common/picasso/chart-builder/components/scrollbar.js","../../../../chart-modules/common/picasso/chart-builder/components/lasso.js","../../../../chart-modules/common/picasso/chart-builder/components/range.js","../../../../chart-modules/common/picasso/chart-builder/components/range-area.js","../../../../chart-modules/common/picasso/chart-builder/components/sequential-legend.js","../../../../chart-modules/common/picasso/chart-builder/components/grid-line.js","../../../../chart-modules/common/picasso/chart-builder/components/interaction.js","../../../../chart-modules/common/picasso/chart-builder/components/ref-line.js","../../../../chart-modules/common/picasso/chart-builder/components/event-area.js","../../../../chart-modules/common/picasso/chart-builder/chart-presets.js","../../../../chart-modules/common/picasso/disclaimer/disclaimers-config.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-attributes-util.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer-component-helper.js","../../../../chart-modules/common/picasso/disclaimer/disclaimer.js","../../../../chart-modules/common/picasso/chart-view.js","../../../../chart-modules/common/extra/css-colors.js","../../../../chart-modules/common/extra/color.js","../../../../chart-modules/common/picasso/scroll/scroll-handler.js","../../../../chart-modules/common/picasso/selections/gestures/on-component-checker.js","../../../../chart-modules/common/picasso/selections/gestures/lasso-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/measure-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/area-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/dimension-range-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/drag-gesture.js","../../../../chart-modules/common/picasso/selections/gestures/navigational-button-gesture.js","../../../../chart-modules/common/picasso/selections/dependent-interactions.js","../../../../chart-modules/common/picasso/tooltip/tooltip-actions.js","../../../../chart-modules/common/picasso/formatting.js","../../../../chart-modules/common/picasso/tooltip/tooltip-content.js","../../../../chart-modules/common/picasso/tooltip/tooltips-component.js","../../../../chart-modules/common/picasso/tooltip/tooltip-renderer.jsx","../../../../chart-modules/common/picasso/tooltip/tooltips-handler.js","../../../../chart-modules/common/extra/string-util.js","../../src/waterfallchart-cube-generator-by-measures.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ascending.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/descending.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisect.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js","../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ticks.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js","../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/define.js","../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js","../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/exponent.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatRounded.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTypes.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatGroup.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTrim.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionRound.js","../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js","../../src/waterfallchart-tick-generator.js","../../src/waterfallchart-view.js","../../src/index.js","../../../../chart-modules/common/locale/index.js","../../../../chart-modules/common/nebula/use-environment.js","../../../../chart-modules/common/picasso/picasso-setup.js","../../../../chart-modules/common/nebula/resize.js"],"sourcesContent":["export default function init(Picasso) {\n // Transparent component, placed on top of the data area and used to register event on\n Picasso.component('event-area', {\n mounted(element) {\n element.classList.add('event-area');\n element.style.pointerEvents = 'auto';\n element.style.zIndex = 1;\n },\n render() {\n const nodes = [];\n return nodes;\n },\n });\n}\n","/** @jsx h */\n\nfunction getStyle(dock, rect) {\n const style = {\n pointerEvents: 'auto',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: '#7b7a78',\n fontStyle: 'italic',\n fontSize: '13px',\n };\n\n switch (dock) {\n case 'left':\n style.width = `${rect.height}px`;\n style.transform = `rotate(-90deg) translate(-${rect.height}px, 0)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'right':\n style.width = `${rect.height}px`;\n style.transform = `rotate(90deg) translate(0, -${rect.width}px)`;\n style.transformOrigin = 'top left';\n break;\n\n case 'center':\n style.width = `${rect.width}px`;\n style.height = `${rect.height}px`;\n style.color = '#595959';\n style.fontStyle = 'normal';\n style.fontSize = '1.2em';\n style.textAlign = 'center';\n break;\n\n default:\n case 'top':\n case 'bottom':\n style.justifyContent = 'flex-start';\n style.alignItems = 'flex-start';\n break;\n }\n return style;\n}\n\nexport default {\n renderer: 'dom',\n disableTriggers: true,\n preferredSize: function preferredSize() {\n return 22;\n },\n render(h) {\n const {\n settings: { label, rtl },\n layout: { dock },\n } = this.settings;\n const dir = (dock === 'top' || dock === 'bottom') && rtl ? 'rtl' : 'ltr';\n const style = getStyle(dock, this.rect);\n\n const modifiedLabel = dock === 'center' ? label : `* ${label}`;\n\n const spanStyle = dock !== 'center' ? { overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' } : {};\n\n return (\n <div style={style} dir={dir}>\n <span ref={this.alignToRef} style={spanStyle} title={modifiedLabel}>\n {modifiedLabel}\n </span>\n </div>\n );\n },\n};\n","import { onTakeSnapshot, useImperativeHandle } from '@nebula.js/stardust';\n\nconst setupSnapshot = (chartInstance) => {\n onTakeSnapshot((layout) => {\n if (!chartInstance) {\n return undefined;\n }\n\n return chartInstance.setSnapshotData(layout);\n });\n\n useImperativeHandle(\n () => ({\n getViewState() {\n if (!chartInstance) {\n return undefined;\n }\n return chartInstance.getViewState();\n },\n }),\n [chartInstance]\n );\n};\n\nexport default setupSnapshot;\n","/**\n * Settings for subtotal\n * @name subtotalProperties\n * @type object\n * @property {boolean} enable=false Option to add a subtotal after a measure.\n * @property {string} label='Subtotal' Label of the subtotal added after a measure.\n */\n\n/**\n * Extends `NxInlineMeasureDef`, see Engine API: `NxInlineMeasureDef`.\n * @name InlineMeasureDef\n * @type object\n * @extends NxInlineMeasureDef\n * @property {subtotalProperties} subtotal subtotal settings.\n * @property {'NORMAL'|'INVERSE'|'SUBTOTAL'} valueType='NORMAL' Measure operation.\n */\n\n/**\n * Extends `NxMeasure`, see Engine API: `NxMeasure`.\n * @name MeasureProperties\n * @type object\n * @extends NxMeasure\n * @property {InlineMeasureDef} qDef\n */\n\n/**\n * Field attributes structure.\n * @name FieldAttributes\n * @type object\n * @property {string} dec - Defines the decimal separator.\n * @property {string} Fmt - Defines the format pattern that applies to qText.\n * @property {number} nDec - Number of decimals.\n * @property {string} Thou - Defines the thousand separator (if any).\n * @property {string} Type - Type of the field.\n * @property {number} UseThou - Defines whether or not a thousands separator must be used.\n */\n\n/**\n * Color information structure. Holds the actual color and index in palette.\n * @name paletteColor\n * @type object\n * @property {string} color - Color as hex string (mandatory if index: -1)\n * @property {number} index - Index in palette\n */\n\n/**\n * Styling settings for reference line\n * @name refLineStyle\n * @type object\n * @property {number} [lineThickness=2] Set the thickness for this reference line.\n * @property {string} [lineType=''] Set the dash type for this reference line.\n */\n\n/**\n * @name refLine\n * @type object\n * @property {boolean|ValueExpression} show=true Set to true to display this reference line.\n * @property {string} label Reference line label.\n * @property {boolean} [showLabel=true] Set to true to show the label of this reference line.\n * @property {boolean} [showValue=true] Set to true to show the value of this reference line.\n * @property {paletteColor} paletteColor\n * @property {refLineStyle} [style] - Styling settings for reference line\n * @property {boolean} [coloredBackground=false] Set to true to fill the label and/or value of this reference line with this color\n */\n\n/**\n * @namespace properties\n * @entry\n */\n\nconst properties = {\n /**\n * Current version of this generic object definition.\n * @type {string}\n * @default\n */\n version: process.env.PACKAGE_VERSION,\n\n /**\n * Extends `HyperCubeDef`, see Engine API: `HyperCubeDef`.\n * @extends {HyperCubeDef}\n */\n qHyperCubeDef: {\n qDimensions: [],\n /** @type {MeasureProperties[]} */\n qMeasures: [],\n qMode: 'S',\n qInitialDataFetch: [{ qWidth: 200, qHeight: 10 }],\n qSuppressMissing: true,\n },\n /**\n * Color settings.\n * Most color options for visualizations are set in the color object in the options. You activate custom coloring by setting `\"auto\": false` which turns off auto-coloring.\n * If `\"auto\": true`, no other properties need to be defined in the color object.\n * Note: Some of the color properties are depending on which theme is currently being used.\n * @type {object}\n */\n color: {\n /**\n * Set to use automatic coloring.\n * When `\"auto\": true`, color settings are based on the visualization used and the number of dimensions\n * and measures, that is, the settings are not fixed, but are dependent on the data input.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Positive value color.\n * @type {object}\n */\n positiveValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: 6, color: null }\n */\n paletteColor: {\n index: 6,\n color: null,\n },\n },\n /**\n * Negative value color.\n * @type {object}\n */\n negativeValue: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#cc6677' }\n */\n paletteColor: {\n index: -1,\n color: '#cc6677',\n },\n },\n /**\n * Subtotal value color.\n * @type {object}\n */\n subtotal: {\n /**\n * paletteColor\n * @type {paletteColor}\n * @default { index: -1, color: '#c3c3c3' }\n */\n paletteColor: {\n index: -1,\n color: '#c3c3c3',\n },\n },\n },\n /**\n * Data point.\n * @type {object}\n */\n dataPoint: {\n /**\n * Show labels.\n * @type {boolean}\n * @default\n */\n showLabels: true,\n },\n /**\n * Dimension axis settings.\n * @type {object}\n */\n dimensionAxis: {\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Label orientation\n * @type {'auto'|'horizontal'|'tilted'}\n */\n label: 'auto',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default\n */\n show: 'labels',\n },\n /**\n * Grid lines settings.\n * @type {object}\n */\n gridlines: {\n /**\n * Automatic grid line spacing.\n * @type {boolean}\n * @default\n */\n auto: true,\n /**\n * Grid line spacing. Used only when auto is set to false.\n * @type {0|2|3}\n * @default\n */\n spacing: 2,\n },\n /**\n * Legend settings.\n * @type {object}\n */\n legend: {\n /**\n * Sets the legend position.\n * @type {'auto'|'right'|'left'|'bottom'|'top'}\n * @default 'auto'\n */\n dock: 'auto',\n /**\n * Set to show the legend.\n * @type {boolean}\n * @default\n */\n show: true,\n },\n /**\n * Measure axis settings.\n * @type {object}\n */\n measureAxis: {\n /**\n * Automatic max/min\n * @type {boolean}\n * @default\n */\n autoMinMax: true,\n /**\n * Axis docking position\n * @type {'near'|'far'}\n * @default \"near\"\n */\n dock: 'near',\n /**\n * Axis max value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"max\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n max: 10,\n /**\n * Axis min value. `\"autoMinMax\"` must be set to false and `\"minMax\"`\n * must be set to `\"min\"` or `\"minMax\"` to use this property\n * @type {number|ValueExpression}\n * @default\n */\n min: 0,\n /**\n * Set custom max/min\n * @type {'min'|'max'|'minMax'}\n * @default \"min\"\n */\n minMax: 'min',\n /**\n * Labels and title\n * @type {'labels'|'none'}\n * @default \"labels\"\n */\n show: 'labels',\n /**\n * Axis scale\n * @type {number}\n * @default\n */\n spacing: 1,\n },\n qDef: {\n /**\n * see Engine API: `FieldAttributes`.\n * @type {FieldAttributes=}\n */\n qNumFormat: {},\n /**\n * When enabled, the number format to use can be selected from multiple predefined formats based on the desired type (number, date).\n * @type {boolean}\n * @default\n */\n numFormatFromTemplate: true,\n /**\n * If true, the client formatting will be toggled off.\n * @type {boolean}\n * @default\n */\n isCustomFormatted: false,\n },\n /**\n * Reference lines settings\n * @type {object}\n */\n refLine: {\n /**\n * Array of measure based reference line definitions\n * @type {refLine[]}\n */\n refLines: [],\n },\n /**\n * Show title for the visualization.\n * @type {boolean=}\n * @default\n */\n showTitles: true,\n /**\n * Visualization subtitle.\n * @type {(string|StringExpression)=}\n * @default\n */\n subtitle: '',\n /**\n * Visualization title.\n * @type {(string|StringExpression)=}\n * @default\n */\n title: '',\n /**\n * Visualization footnote.\n * @type {(string|StringExpression)=}\n * @default\n */\n footnote: '',\n};\n\nexport default properties;\n","export default function data(env) {\n const { translator } = env;\n\n const dimensions = {\n min: 0,\n max: 0,\n };\n const measures = {\n min: 1,\n max: 50,\n description() {\n return translator.get('Visualizations.Descriptions.Bars');\n },\n };\n return {\n path: '/qHyperCubeDef',\n dimensions,\n measures,\n };\n}\n","!function(e,r){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=r();else if(\"function\"==typeof define&&define.amd)define([],r);else{var n=r();for(var t in n)(\"object\"==typeof exports?exports:e)[t]=n[t]}}(self,(()=>(()=>{var e={909:e=>{\"use strict\";var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString,t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===n.call(e)},a=function(e){if(!e||\"[object Object]\"!==n.call(e))return!1;var t,i=r.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!i&&!o)return!1;for(t in e);return void 0===t||r.call(e,t)},s=function(e,r){t&&\"__proto__\"===r.name?t(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},u=function(e,n){if(\"__proto__\"===n){if(!r.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var r,n,t,i,l,c,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)t=u(p,n),p!==(i=u(r,n))&&(d&&i&&(a(i)||(l=o(i)))?(l?(l=!1,c=t&&o(t)?t:[]):c=t&&a(t)?t:{},s(p,{name:n,newValue:e(d,c,i)})):void 0!==i&&s(p,{name:n,newValue:i}));return p}},8:(e,r)=>{(()=>{\"use strict\";var e={229:e=>{var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString,t=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===n.call(e)},a=function(e){if(!e||\"[object Object]\"!==n.call(e))return!1;var t,i=r.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!i&&!o)return!1;for(t in e);return void 0===t||r.call(e,t)},s=function(e,r){t&&\"__proto__\"===r.name?t(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},u=function(e,n){if(\"__proto__\"===n){if(!r.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var r,n,t,i,l,c,p=arguments[0],f=1,m=arguments.length,d=!1;for(\"boolean\"==typeof p&&(d=p,p=arguments[1]||{},f=2),(null==p||\"object\"!=typeof p&&\"function\"!=typeof p)&&(p={});f<m;++f)if(null!=(r=arguments[f]))for(n in r)t=u(p,n),p!==(i=u(r,n))&&(d&&i&&(a(i)||(l=o(i)))?(l?(l=!1,c=t&&o(t)?t:[]):c=t&&a(t)?t:{},s(p,{name:n,newValue:e(d,c,i)})):void 0!==i&&s(p,{name:n,newValue:i}));return p}}},n={};function t(r){var i=n[r];if(void 0!==i)return i.exports;var o=n[r]={exports:{}};return e[r](o,o.exports,t),o.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var i={};(()=>{t.r(i),t.d(i,{default:()=>Fe});var e=t(229),r=t.n(e);const n=function(e,r,n){if(!r)return!1;var t,i=r.split(\".\"),o=i[i.length-1],a=e;for(t=0;t<i.length-1;++t)void 0===a[i[t]]&&(a[i[t]]=Number.isNaN(+i[t+1])?{}:[]),a=a[i[t]];if(void 0!==n){var s=a[o];return a[o]=n,{updated:n,previous:s}}return delete a[o],!1},o=function(e,r,n){var t,i=r.split(\".\"),o=e;if(void 0===o)return n;for(t=0;t<i.length;++t){if(void 0===o[i[t]])return n;o=o[i[t]]}return o},a={EXPRESSIONS:{observed:\"\",trend:\"STL_Trend\",seasonal:\"STL_Seasonal\",residual:\"STL_Residual\"},OPTIONS:[{value:\"observed\",translation:\"cao.trendDecomposition.parameters.decomposition.observed\"},{value:\"trend\",translation:\"cao.trendDecomposition.parameters.decomposition.trend\"},{value:\"seasonal\",translation:\"cao.trendDecomposition.parameters.decomposition.seasonal\"},{value:\"residual\",translation:\"cao.trendDecomposition.parameters.decomposition.residual\"}]};var s=\"\".concat(\" \",\"(\").concat(\" \"),u=\"\".concat(\" \",\")\").concat(\" \");function l(e){return s+e+u}function c(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.qLibraryId){var n=function(e,r){if(!r)return null;var n,t;for(n=0;n<r.length;n++)if((t=r[n]).qInfo.qId===e)return t;return null}(e.qLibraryId,r.dimensionList);return n&&n.qData.info[0].qTags.indexOf(\"$numeric\")>-1}var t=function(e,r){if(!r)return null;var n,t,i=function(e){var r=e.trim();\"=\"===r.charAt(0)&&(r=(r=r.substring(1)).trim());var n=r.length-1;return\"[\"===r.charAt(0)&&\"]\"===r.charAt(n)&&(r=(r=r.substring(1,n)).trim()),r}(e);for(n=0;n<r.length;n++){if((t=r[n]).qName===i)return t;if(t.qDerivedFieldData)for(var o=0;o<t.qDerivedFieldData.qDerivedFieldLists.length;++o)for(var a=t.qDerivedFieldData.qDerivedFieldLists[o],s=0;s<a.qFieldDefs.length;++s){var u=a.qFieldDefs[s];if(u.qName===i)return u}}return null}(e.qDef.qFieldDefs[0],r.fieldList);return t&&t.qTags.indexOf(\"$numeric\")>-1}function p(e){return!(!e.fullAccumulation&&!e.fullRange)}function f(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"RowNo(Total)\":\"RowNo()\"}function m(e){var r=function(e){return e?(e=function(e){return e.replace(/\\/\\*[^]*?\\*\\//g,\"\")}(e=function(e){return e.replace(/\\/\\/(.*)$/gm,\"\")}(e))).trim():\"\"}(e),n=r.trim();return\"=\"===n.substring(0,1)?n.substring(1).trim():n}function d(){return\"[$(=Replace(GetObjectField(\".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,\"),']',']]'))]\")}function y(e,r){var n=e.crossAllDimensions;return 2===r&&n?\"Above(Total \":\"Above(\"}function q(e){return void 0===e?\")\":\", 0, \".concat(e,\")\")}function b(e){return\"Replace(Replace(\".concat(e,\",'''',''''''),'$','$''&''')\")}function v(e,r){return e?\"\".concat(r,'={\">=$(=Min(').concat(r,\"))<=$(=Max(\").concat(r,'))\"}'):\"\".concat(r,'={\"=Only({1}').concat(r,\")>='$(=\").concat(b(\"MinString(\".concat(r,\")\")),\")' and Only({1}\").concat(r,\")<='$(=\").concat(b(\"MaxString(\".concat(r,\")\")),\")'\\\"}\")}function D(e){var r=e.modifier,n=void 0===r?{}:r,t=e.dimensions,i=e.dimensionAndFieldList,o=e.funcComp,a=void 0===o?\"Sum\":o,s=e.valueComp,u=void 0===s?\"0\":s;if(!n.showExcludedValues)return\"\";if(t&&1===t.length){var l=v(c(t[0],i),d(0));return\"\".concat(a,\"({1<\").concat(l,\">}\").concat(u,\")\")}if(t&&2===t.length){var p=c(t[0],i),f=c(t[1],i),m=d(0),y=d(1),q=v(p,m),b=v(f,y);return\"\".concat(a,\"({1<\").concat(q,\",\").concat(b,\">}\").concat(u,\")\")}return\"\".concat(a,\"({1}\").concat(u,\")\")}function g(e){return\"\".concat(e,\"(\")}function h(e){var r=e.properties,n=e.layout;return o(r,\"qHyperCubeDef.qDimensions\",o(n,\"qHyperCube.qDimensionInfo\",[])).length}const x={isFullRange:p,getNumDimensions:h,getExpressionWithExcludedComp:function(e){var r=e.expression,n=e.modifier,t=e.dimensions,i=e.dimensionAndFieldList,o=e.treatMissingAsNull,a=l(m(r));if(!n.showExcludedValues)return a;var s=D({modifier:n,dimensions:t,dimensionAndFieldList:i}),u=o?\"\":\", 0\";if(t&&1===t.length){var c=d(0);return\"If(Count(\".concat(c,\") > 0, \").concat(a,\" + \").concat(s).concat(u,\")\")}if(t&&2===t.length){var p=d(0),f=d(1);return\"If(Count(\".concat(p,\") * Count(\").concat(f,\") > 0, \").concat(a,\" + \").concat(s).concat(u,\")\")}return a},getRowNoComp:f,getNumStepComp:function(e,r){if(!p(e)){var n=e.steps;return\"number\"!=typeof n||Number.isNaN(n)?6:n}return f(e,r)},getAboveCompPrefix:y,getAboveCompSuffix:q,getAboveComp:function(e,r,n,t){return y(e,r)+n+q(t)},getFunctionPrefix:g,getFunctionSuffix:function(){return\")\"},getRangeComp:function(e,r){return g(e)+r+\")\"},getAggrComp:function(e,r,n){return\"Aggr(\".concat(e,\", \").concat(r,\", \").concat(n,\")\")},getExcludedComp:D,needDimension:function(e){var r=e.modifier,n=e.properties,t=e.layout,i=function(e){return void 0===e.primaryDimension?e.accumulationDimension:e.primaryDimension}(r);return 0===i&&2===h({properties:n,layout:t})},getDimComp:function(e,r){var n=function(e){return e[arguments.length>1&&void 0!==arguments[1]?arguments[1]:0].qDef.qSortCriterias[0]}(e,r),t=d(r);if(!n.qSortByExpression&&!n.qSortByNumeric&&!n.qSortByAscii)return t;var i=[\"Descending\",\"Ascending\"],o=n.qSortByNumeric?\"(Numeric, \".concat(i[(n.qSortByNumeric+1)/2],\")\"):\"\",a=n.qSortByAscii?\"(Text, \".concat(i[(n.qSortByAscii+1)/2],\")\"):\"\";return n.qSortByNumeric&&n.qSortByAscii?\"(\".concat(t,\", \").concat(o,\", \").concat(a,\")\"):n.qSortByNumeric?\"(\".concat(t,\", \").concat(o,\")\"):n.qSortByAscii?\"(\".concat(t,\", \").concat(a,\")\"):t},simplifyExpression:m,extractInputExpression:function(e){var r=e.outputExpression;if(e.modifier){var n=r.indexOf(s);if(-1!==n){var t=r.indexOf(u);if(-1!==t)return r.substring(n+s.length,t)}}},initModifier:function(e,r){Object.keys(r).forEach((function(n){void 0===e[n]&&(e[n]=r[n])}))},isNumeric:c,isApplicable:function(e){var r=e.properties,n=e.layout,t=e.minDimensions,i=void 0===t?1:t,o=e.maxDimensions,a=void 0===o?2:o;if(!r&&!n)return!0;var s=h({properties:r,layout:n});return s>=i&&s<=a},getExpressionWithMarkers:l,canExtract:function(e){var r=e.indexOf(s),n=e.indexOf(u);return r>-1&&n>-1&&r<n},getDimDefWithWrapper:d,getFieldWithWrapper:function(e){var r=e?e.replace(/]/g,\"]]\"):e;return\"[\".concat(r,\"]\")},generateTSDExpression:function(e,r,n){var t=r||e.outputExpression;if(e.base&&e.base.qDef&&(t=r!==e.base.qDef?r:e.base.qDef),\"observed\"!==e.decomposition){var i=n.qHyperCubeDef.qMeasures.find((function(r){return r.qDef.base&&r.qDef.base.qLibraryId&&e.base&&e.base.qLibraryId?r.qDef.base.qLibraryId===e.base.qLibraryId:null}));i&&r!==i.qDef.qLabel&&(t=i.qLibraryId||i.qDef.base.qLibraryId?\"[\".concat(i.qDef.qLabel,\"]\"):i.qDef.base.qDef);var o=function(e){var r=a.OPTIONS.find((function(r){return r.value===e.decomposition}));return r?a.EXPRESSIONS[r.value]:\"\"}(e);t=t.startsWith(\"=\")?t.substr(1):t,t=\"\".concat(o,\"(\").concat(t,\", \").concat(e.steps,\")\")}return t},getDecomposition:function(e){var r=\"observed\";return Object.values(a.EXPRESSIONS).find((function(n){var t=e.qDef.base.qDef.toLowerCase()||e.qDef.qDef.toLowerCase();return a.EXPRESSIONS[n]&&t.includes(a.EXPRESSIONS[n].toLowerCase())&&(r=n),n})),r}};function A(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function E(e){return E=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},E(e)}var C=r().bind(null,!0),I={},S=Array.isArray;function M(e){return null!=e&&!Array.isArray(e)&&\"object\"===E(e)}function L(e){return void 0===e}function O(e,r){return\"function\"==typeof e[r]||\"$$\"===r.substring(0,2)||\"_\"===r.substring(0,1)}function F(e,r){var n,t=r.substring(1).split(\"/\").slice(0,-1);return t.forEach((function(r,i){if(i!==t.length){n=+r;var o=Number.isNaN(n)?{}:[];e[n||r]=L(e[n||r])?o:e[r],e=e[n||r]}})),e}function P(e,r){var n=!0;if(M(e)&&M(r))return Object.keys(e).length===Object.keys(r).length&&(Object.keys(e).forEach((function(t){P(e[t],r[t])||(n=!1)})),n);if(S(e)&&S(r)){if(e.length!==r.length)return!1;for(var t=0,i=e.length;t<i;t+=1)if(!P(e[t],r[t]))return!1;return!0}return e===r}I.generate=function(e,r,n){n=n||\"\";var t=[];return Object.keys(r).forEach((function(i){var o=function(e){return e?C({},{val:e}).val:e}(r[i]),a=e[i],s=\"\".concat(n,\"/\").concat(i);P(o,a)||O(r,i)||(L(a)?t.push({op:\"add\",path:s,value:o}):M(o)&&M(a)?t=t.concat(I.generate(a,o,s)):S(o)&&S(a)?t=t.concat(function(e,r,n){var t=[],i=e.slice(),o=-1;function a(e,r,n){if(e[n]&&L(e[n].qInfo))return null;if(e[n]&&e[n].qInfo.qId===r)return n;for(var t=0,i=e.length;t<i;t+=1)if(e[t]&&e[t].qInfo.qId===r)return t;return-1}if(P(r,i))return t;if(!L(r[0])&&L(r[0].qInfo))return t.push({op:\"replace\",path:n,value:r}),t;for(var s=i.length-1;s>=0;s-=1)-1===(o=a(r,i[s].qInfo&&i[s].qInfo.qId,s))?(t.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(s)}),i.splice(s,1)):t=t.concat(I.generate(i[s],r[o],\"\".concat(n,\"/\").concat(s)));for(var u=0,l=r.length;u<l;u+=1)-1===(o=a(i,r[u].qInfo&&r[u].qInfo.qId))?(t.push({op:\"add\",path:\"\".concat(n,\"/\").concat(u),value:r[u]}),i.splice(u,0,r[u])):o!==u&&(t.push({op:\"move\",path:\"\".concat(n,\"/\").concat(u),from:\"\".concat(n,\"/\").concat(o)}),i.splice(u,0,i.splice(o,1)[0]));return t}(a,o,s)):t.push({op:\"replace\",path:\"\".concat(n,\"/\").concat(i),value:o}))})),Object.keys(e).forEach((function(i){L(r[i])&&!O(e,i)&&t.push({op:\"remove\",path:\"\".concat(n,\"/\").concat(i)})})),t},I.apply=function(e,r){r.forEach((function(r){var n,t,i=F(e,r.path),o=r.path.split(\"/\").splice(-1)[0],a=o&&Number.isNaN(+o)?i[o]:i[+o]||i,s=r.from?r.from.split(\"/\").splice(-1)[0]:null;if(\"/\"===r.path&&(i=null,a=e),\"add\"===r.op||\"replace\"===r.op)if(S(i))\"-\"===o&&(o=i.length),i.splice(+o,\"add\"===r.op?0:1,r.value);else if(S(a)&&S(r.value)){var u,l=r.value.slice();a.length=0,(u=a).push.apply(u,function(e){if(Array.isArray(e))return A(e)}(t=l)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(t)||function(e,r){if(e){if(\"string\"==typeof e)return A(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,r):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}())}else if(M(a)&&M(r.value))n=a,Object.keys(n).forEach((function(e){Object.getOwnPropertyDescriptor(n,e).configurable&&!O(n,e)&&delete n[e]})),C(a,r.value);else{if(!i)throw new Error(\"Patchee is not an object we can patch\");i[o]=r.value}else if(\"move\"===r.op){var c=F(e,r.from);S(i)?i.splice(+o,0,c.splice(+s,1)[0]):(i[o]=c[s],delete c[s])}else\"remove\"===r.op&&(S(i)?i.splice(+o,1):delete i[o])}))},I.clone=function(e){return C({},e)},I.createPatch=function(e,r,n){var t={op:e.toLowerCase(),path:n};return\"move\"===t.op?t.from=r:void 0!==r&&(t.value=r),t},I.updateObject=function(e,r){Object.keys(e).length?I.apply(e,I.generate(e,r)):C(e,r)};const V=I,N=function(e,n,t){if(!e)return Promise.resolve();var i=V.generate(n,t);return r()(!0,n,t),i&&i.length?(i=i.map((function(e){return{qOp:e.op,qValue:JSON.stringify(e.value),qPath:e.path}})),e.applyPatches(i,!0)):Promise.resolve()};var w=\"accumulation\";function H(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===w)return n[t]}function T(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===w)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var j={type:\"accumulation\",disabled:!1,accumulationDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullAccumulation:!1,steps:6,outputExpression:\"\"};const R={translationKey:\"properties.modifier.accumulation\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,i=e.layout,a=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=a;void 0===u&&(u=x.getNumDimensions({properties:t,layout:i}));var l=o(t,\"qHyperCubeDef.qDimensions\",[]),c=x.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=x.getNumStepComp(n,u),f=x.getAboveComp(n,u,c,p),m=x.getRangeComp(\"RangeSum\",f);if(x.needDimension({modifier:n,properties:t,layout:i})){var d=x.getDimComp(l,1),y=x.getDimComp(l,0),q=x.getAggrComp(m,d,y);m=n.showExcludedValues?x.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:s,valueComp:q}):q}return m},extractInputExpression:x.extractInputExpression,initModifier:function(e){x.initModifier(e,j)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.accumulation.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(T(r,e),\".accumulationDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.accumulation.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(T(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.accumulation.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(T(r,e),\".fullAccumulation\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(T(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=H(r,e);if(n){var t=n.steps;n.steps=\"number\"!=typeof t||Number.isNaN(t)?6:Math.abs(t)}},show:function(r){var n=H(r,e);return n&&!n.fullAccumulation}},showExcludedValues:{refFn:function(r){return\"\".concat(T(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(w))return!1;var o=H(r,e);return o&&!o.disabled}};return n}};var _=\"movingAverage\";function B(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===_)return n[t]}function k(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===_)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var W={type:\"movingAverage\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,fullRange:!1,steps:6,outputExpression:\"\",nullSuppression:!1};const $={translationKey:\"properties.modifier.movingAverage\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r,n=e.expression,t=e.modifier,i=e.properties,a=e.layout,s=e.numDimensions,u=e.dimensionAndFieldList;if(!t)return n;var l=s;void 0===l&&(l=x.getNumDimensions({properties:i,layout:a}));var c=o(i,\"qHyperCubeDef.qDimensions\",[]),p=t.showExcludedValues&&t.nullSuppression,f=x.getExpressionWithExcludedComp({expression:n,modifier:t,dimensions:c,dimensionAndFieldList:u,treatMissingAsNull:p}),m=x.getNumStepComp(t,l),d=x.getAboveComp(t,l,f,m);if(t.nullSuppression)r=x.getRangeComp(\"RangeAvg\",d);else{var y=x.getRangeComp(\"RangeSum\",d),q=function(e,r){var n=x.getRowNoComp(e,r);if(!x.isFullRange(e)){var t=e.steps,i=\"number\"!=typeof t||Number.isNaN(t)?6:t;return\"RangeMin(\".concat(i,\", \").concat(n,\")\")}return n}(t,l);r=\"\".concat(y,\" / \").concat(q)}var b=r;if(x.needDimension({modifier:t,properties:i,layout:a})){var v=x.getDimComp(c,1),D=x.getDimComp(c,0),g=x.getAggrComp(b,v,D);b=t.showExcludedValues?x.getExcludedComp({modifier:t,dimensions:c,dimensionAndFieldList:u,funcComp:\"Only\",valueComp:g}):g}return b},extractInputExpression:x.extractInputExpression,initModifier:function(e){x.initModifier(e,W)},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.movingAverage.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(k(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.movingAverage.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(k(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.movingAverage.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},fullRange:{refFn:function(r){return\"\".concat(k(r,e),\".fullRange\")},type:\"boolean\",translation:r.range||\"properties.modifier.range\",component:\"dropdown\",schemaIgnore:!0,defaultValue:!1,options:[{value:!0,translation:r.rangeFull||\"properties.modifier.range.full\"},{value:!1,translation:r.rangeCustom||\"properties.modifier.range.custom\"}]},steps:{refFn:function(r){return\"\".concat(k(r,e),\".steps\")},type:\"integer\",translation:r.rangeSteps||\"properties.modifier.range.steps\",schemaIgnore:!0,defaultValue:6,change:function(r){var n=B(r,e);if(n){var t=n.steps;n.steps=\"number\"!=typeof t||Number.isNaN(t)?6:Math.abs(t)}},show:function(r){var n=B(r,e);return n&&!n.fullRange}},showExcludedValues:{refFn:function(r){return\"\".concat(k(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0},nullSuppression:{refFn:function(r){return\"\".concat(k(r,e),\".nullSuppression\")},type:\"boolean\",translation:r.showNull||\"properties.dimensions.showNull\",schemaIgnore:!0,defaultValue:!1,inverted:!0}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(_))return!1;var o=B(r,e);return o&&!o.disabled}};return n}};var U=\"timeSeriesDecomposition\";function G(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===U)return n[t]}function z(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===U)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var Y={type:\"timeSeriesDecomposition\",disabled:!1,decomposition:\"\",steps:2,outputExpression:\"\"};const J={translationKey:\"properties.modifier.timeSeriesDecomposition\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties;return n?x.generateTSDExpression(n,r,t):r},extractInputExpression:x.extractInputExpression,initModifier:function(e,r){x.initModifier(e,Y),\"\"===e.decomposition&&r&&(e.decomposition=x.getDecomposition(r))},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.timeSeriesDecomposition||\"properties.modifier.timeSeriesDecomposition\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{decomposition:{refFn:function(r){return\"\".concat(z(r,e),\".decomposition\")},type:\"string\",translation:r.modifierTrendDecompositionDecomposition||\"properties.modifier.trendDecomposition.decomposition\",component:\"dropdown\",schemaIgnore:!0,defaultValue:r.trendDecompositionParametersDecompositionObserved||\"cao.trendDecomposition.parameters.decomposition.observed\",options:a.OPTIONS},steps:{refFn:function(r){return\"\".concat(z(r,e),\".steps\")},type:\"integer\",translation:r.modifierTimeSeriesDecompositionPeriods||\"properties.modifier.timeSeriesDecomposition.periods\",schemaIgnore:!0,defaultValue:2,change:function(r,n){var t=G(r,e);if(t){var i=t.steps;t.steps=\"number\"!=typeof i||Number.isNaN(i)?2:Math.abs(i),n.properties.qHyperCubeDef.qMeasures=n.properties.qHyperCubeDef.qMeasures.map((function(e){return e.qDef.modifiers.map((function(e){return\"timeSeriesDecomposition\"===e.type?e.steps=i:e.steps=e.steps,e})),e}))}},show:function(r){var n=G(r,e);return n&&!n.fullRange}}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(U))return!1;var o=G(r,e);return o&&!o.disabled}};return n}};var K=\"difference\";function X(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===K)return n[t]}function Q(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===K)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}var Z={type:\"difference\",disabled:!1,primaryDimension:0,crossAllDimensions:!1,showExcludedValues:!0,outputExpression:\"\"};const ee={translationKey:\"properties.modifier.difference\",needDimension:x.needDimension,isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:x.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,i=e.layout,a=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=a;void 0===u&&(u=x.getNumDimensions({properties:t,layout:i}));var l=o(t,\"qHyperCubeDef.qDimensions\",[]),c=x.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=x.getAboveComp(n,u,c),f=\"\".concat(c,\" - \").concat(p);if(x.needDimension({modifier:n,properties:t,layout:i})){var m=x.getDimComp(l,1),d=x.getDimComp(l,0),y=x.getAggrComp(f,m,d);f=n.showExcludedValues?x.getExcludedComp({modifier:n,dimensions:l,dimensionAndFieldList:s,funcComp:\"Only\",valueComp:y}):y}return f},initModifier:function(e){Object.keys(Z).forEach((function(r){void 0===e[r]&&(e[r]=Z[r])}))},enableTotalsFunction:function(){return!1},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.difference.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{primaryDimension:{refFn:function(r){return\"\".concat(Q(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.difference.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},crossAllDimensions:{refFn:function(r){return\"\".concat(Q(r,e),\".crossAllDimensions\")},type:\"boolean\",translation:r.crossAllDimensions||\"properties.modifier.crossAllDimensions\",title:{translation:r.crossAllDimensionsTooltip||\"properties.modifier.difference.crossAllDimensions.tooltip\"},schemaIgnore:!0,defaultValue:!1,show:function(e,r){return r.layout.qHyperCube.qDimensionInfo.length>1}},showExcludedValues:{refFn:function(r){return\"\".concat(Q(r,e),\".showExcludedValues\")},type:\"boolean\",translation:r.showExcludedValues||\"properties.modifier.showExcludedValues\",schemaIgnore:!0,defaultValue:!0}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(K))return!1;var o=X(r,e);return o&&!o.disabled}};return n}};var re=\"normalization\";function ne(e,r){var n=o(e,r);if(n)for(var t=0;t<n.length;t++)if(n[t].type===re)return n[t]}function te(e,r){var n=function(e,r){var n=o(e,r);if(!n)return-1;for(var t=0;t<n.length;t++)if(n[t].type===re)return t;return-1}(e,r);return n>-1?\"\".concat(r,\".\").concat(n):r}function ie(e,r){for(var n=0;n<e.length;n++)if(e[n].value===r)return n;return-1}var oe={type:\"normalization\",disabled:!1,primaryDimension:0,outputExpression:\"\",dimensionalScope:2,selectionScope:2};function ae(e){return 2===e?\"{1}\":\"\"}function se(e,r,n){return 1===e?\"{$<\".concat(x.getFieldWithWrapper(r),\"={'\").concat(n,\"'}>}\"):\"\"}function ue(e,r){return 0===e&&r>1||2===e?\"Total\":\"\"}function le(e,r,n){return 0===e&&r>1?\"<\".concat(x.getDimDefWithWrapper(n),\">\"):\"\"}const ce={translationKey:\"properties.modifier.normalization\",needDimension:function(){return!0},isApplicable:function(e){var r=e.properties,n=e.layout;return x.isApplicable({properties:r,layout:n,minDimensions:1,maxDimensions:2})},extractInputExpression:x.extractInputExpression,generateExpression:function(e){var r=e.expression,n=e.modifier,t=e.properties,i=e.layout,a=e.numDimensions,s=e.dimensionAndFieldList;if(!n)return r;var u=a;void 0===u&&(u=x.getNumDimensions({properties:t,layout:i}));var l=o(t,\"qHyperCubeDef.qDimensions\",[]),c=x.getExpressionWithExcludedComp({expression:r,modifier:n,dimensions:l,dimensionAndFieldList:s}),p=n.selectionScope,f=n.dimensionalScope;return function(e,r,n,t,i,o,a){var s=ae(r),u=se(r,n,t),l=\"\"===s&&\"\"===u?\"\":s||u,c=ue(i,o),p=le(i,o,a),f=function(e){for(var r=[],n=0;n<e;n++)r[n]=x.getDimDefWithWrapper(n);return r.join(\", \")}(o);return\"\".concat(e,\"/ Sum(\").concat(l,\" \").concat(c).concat(p,\" Aggr(\").concat(l,\" \").concat(e,\", \").concat(f,\"))\")}(c,p,n.field,n.value,f,u,n.primaryDimension)},initModifier:function(e){Object.keys(oe).forEach((function(r){void 0===e[r]&&(e[r]=oe[r])}))},updateModifier:function(e,r){1===(r.qDimensions?r.qDimensions.length:0)&&0===e.dimensionalScope&&(e.dimensionalScope=2)},enableTotalsFunction:function(){return!0},propertyPanelDef:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={type:\"items\",items:{disclaimer:{component:\"text\",translation:r.disclaimer||\"properties.modifier.normalization.disclaimer\",show:function(e,r){return!x.isApplicable({properties:r.properties})}},settings:{type:\"items\",items:{selectionScope:{refFn:function(r){return\"\".concat(te(r,e),\".selectionScope\")},type:\"string\",translation:r.modifierSelectionScope||\"properties.modifier.selectionScope\",title:{translation:r.modifierSelectionScopeTooltip||\"properties.modifier.selectionScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:2,options:function(n){return function(e,r,n){var t=[{value:0,translation:r.selectionScopeCurrentSelection||\"properties.modifier.selectionScope.currentSelection\"},{value:1,translation:r.selectionScopeSpecificValue||\"properties.modifier.selectionScope.selectAField\"},{value:2,translation:r.selectionScopeTotal||\"properties.modifier.selectionScope.total\"}];return t=function(e,r){if(1===e){var n=ie(r,0);r.splice(n,1)}return r}(ne(e,n).dimensionalScope,t),t}(n,r,e)}},field:{refFn:function(r){return\"\".concat(te(r,e),\".field\")},type:\"string\",component:\"expression-with-dropdown\",translation:\"Common.Field\",defaultValue:\"\",dropdownOnly:!0,options:function(e,r,n){return n.app.getFieldList().then((function(e){return e.map((function(e){return{label:e.qName,value:e.qName}}))}))},show:function(r){return 1===ne(r,e).selectionScope}},value:{refFn:function(r){return\"\".concat(te(r,e),\".value\")},type:\"string\",ref:\"value\",component:\"string\",translation:\"properties.value\",expression:\"optional\",show:function(r){return 1===ne(r,e).selectionScope}},dimensionalScope:{refFn:function(r){return\"\".concat(te(r,e),\".dimensionalScope\")},type:\"string\",translation:r.modifierDimensionalScope||\"properties.modifier.dimensionalScope\",title:{translation:r.modifierDimensionalScopeTooltip||\"properties.modifier.dimensionalScope.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:2,supportTooltip:!0,options:function(n,t){return function(e,r,n,t){var i=r.layout.qHyperCube.qDimensionInfo.length,o=[{value:0,translation:n.dimensionalScopeOneDimension||\"properties.modifier.dimensionalScope.respectOneDimension\",tooltipTranslation:n.dimensionalScopeOneDimensionTooltip||\"properties.modifier.dimensionalScope.respectOneDimension.tooltip\"},{value:1,translation:n.dimensionalScopeAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===i?\"respectAllDimensions\":\"respectDimension\"),tooltipTranslation:n.dimensionalScopeAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===i?\"respectAllDimensions\":\"respectDimension\",\".tooltip\")},{value:2,translation:n.dimensionalScopeDisregardAllDimensions||\"properties.modifier.dimensionalScope.\".concat(2===i?\"disregardAllDimensions\":\"disregardDimension\"),tooltipTranslation:n.dimensionalScopeDisregardAllDimensionsTooltip||\"properties.modifier.dimensionalScope.\".concat(2===i?\"disregardAllDimensions\":\"disregardDimension\",\".tooltip\")}];return o=function(e,r){if(e<2){var n=ie(r,0);r.splice(n,1)}return r}(i,o),o=function(e,r){if(0===e){var n=ie(r,1);r.splice(n,1)}return r}(ne(e,t).selectionScope,o),o}(n,t,r,e)}},primaryDimension:{refFn:function(r){return\"\".concat(te(r,e),\".primaryDimension\")},type:\"integer\",translation:r.primaryDimension||\"properties.modifier.primaryDimension\",title:{translation:r.primaryDimensionTooltip||\"properties.modifier.normalization.primaryDimension.tooltip\"},component:\"dropdown\",schemaIgnore:!0,defaultValue:1,options:function(e,r){return r.layout.qHyperCube.qDimensionInfo.map((function(e,r){return{value:r,label:e.qGroupFallbackTitles[0]}}))},show:function(r,n){return 0===(ne(r,e).dimensionalScope||0)&&n.layout.qHyperCube.qDimensionInfo.length>1}}},show:function(e,r){return x.isApplicable({properties:r.properties})}}},show:function(r,n,t){var i=t.ext.support.modifiers;if(!Array.isArray(i)||-1===i.indexOf(re))return!1;var o=ne(r,e);return o&&!o.disabled}};return n},getDisregardSelectionComp:ae,getFieldSelectionComp:se,getTotalComp:ue,getSelectedDimComp:le};var pe=\"qDef.base\",fe=\"qDef.qDef\",me=\"qDef.base.qDef\",de=\"qLibraryId\",ye=\"qDef.base.qLibraryId\";const qe={getExpression:function(e){var r=o(e,me);return void 0!==r?r:o(e,fe)},getExpressionRef:function(e){return void 0!==o(e,me)?me:fe},getLibraryIdRef:function(e){return o(e,ye)?ye:de},getLibraryId:function(e){return o(e,ye)||o(e,de)},getLabelRef:function(e){return o(e,pe)?\"qDef.base.qLabel\":\"qDef.qLabel\"},getLabelExpressionRef:function(e){return o(e,pe)?\"qDef.base.qLabelExpression\":\"qDef.qLabelExpression\"}};var be=\"qDef.qDef\",ve=\"qDef.base.qDef\",De=\"qLibraryId\",ge=\"qDef.base.qLibraryId\",he=\"qDef.qLabel\",xe=\"qDef.qLabelExpression\",Ae=\"qDef.base.qLabel\",Ee=\"qDef.base.qLabelExpression\",Ce=\"qDef.qAggrFunc\",Ie=\"qDef.base.qAggrFunc\",Se={initBase:function(e,r){(r||Se.isValid(e))&&(n(e,ve,o(e,be)),n(e,ge,o(e,De)),n(e,Ae,o(e,he)),n(e,Ee,o(e,xe)))},restoreBase:function(e){Se.isValid(e)&&(n(e,be,o(e,ve)),n(e,De,o(e,ge)),n(e,he,o(e,Ae)),n(e,xe,o(e,Ee)),o(e,Ce)&&o(e,Ie)&&n(e,Ce,o(e,Ie)),delete e.qDef.base)},isValid:function(e){var r=o(e,ve),n=o(e,ge);return void 0!==r||void 0!==n}};const Me=Se;function Le(e){return Le=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Le(e)}var Oe={accumulation:R,movingAverage:$,difference:ee,normalization:ce,timeSeriesDecomposition:J};const Fe={modifiers:Oe,apply:Ve,applyModifiers:Ne,cleanUpMeasure:we,destroy:function(e){e&&Pe[e.id]&&Pe[e.id].masterItemSubscriber&&(Pe[e.id].masterItemSubscriber&&Pe[e.id].masterItemSubscriber.unsubscribe(),delete Pe[e.id])},hasActiveModifiers:He,getActiveModifier:Te,initBase:Me.initBase,isSupportedModifiers:function(e){return Array.isArray(e)&&e.some((function(e){return Oe[e]}))},isApplicableSupportedModifiers:function(e){var r=e.modifierTypes,n=e.properties,t=e.layout;return Array.isArray(r)&&r.some((function(e){return Oe[e]&&Oe[e].isApplicable({properties:n,layout:t})}))},measureBase:qe,limitedSorting:function(e){var r=e.measures,n=e.properties,t=e.layout,i=!1,o=!1;return r.forEach((function(e){var r=_e(e);ze({modifiers:r,properties:n,layout:t})&&(i=!0,o=o||Qe({modifiers:r,properties:n,layout:t}))})),i&&!o},ifEnableTotalsFunction:je};var Pe={};function Ve(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.model,t=e.properties,i=e.isSnapshot,a=void 0!==i&&i,s=e.masterItem,u=!1;Pe[n.id]=Pe[n.id]||{isFirstTime:!0};var l=Pe[n.id].isFirstTime;if(Pe[n.id].isFirstTime=!1,t&&\"object\"===Le(t))return Ne({model:n,properties:t});var c=n?n.layout:void 0,p=o(c,\"qSelectionInfo.qInSelections\");if(a||p)return Promise.resolve(u);var f=o(c,\"qHyperCube.qMeasureInfo\"),m=Pe[n.id].lastReloadTime;if(Pe[n.id].lastReloadTime=o(n,\"app.layout.qLastReloadTime\"),He({measures:f,layout:c})){var d=function(e){var r=e.measures,n=e.layout,t=e.lastReloadTime;return o(e.model,\"app.layout.qLastReloadTime\")!==t&&function(e){var r=e.measures,n=e.properties,t=e.layout;return!!Array.isArray(r)&&r.some((function(e){return Ge({measure:e,properties:n,layout:t})}))}({measures:r,layout:n})}({measures:f,layout:c,model:n,lastReloadTime:m});return d||function(e){var r=e.measures,n=e.layout,t=e.masterItem,i=e.isFirstTime;return!!Array.isArray(r)&&(i||t||r.some((function(e){return function(e){var r=e.measure,n=e.layout;return ze({modifiers:_e(r),layout:n})?!r.base:!!r.base}({measure:e,layout:n})})))}({measures:f,layout:c,masterItem:s,isFirstTime:l})?n.getEffectiveProperties().then((function(e){var t=r()(!0,{},e);ke(t);var i=Ze(t);return Ye({model:n}).then((function(r){return Je({libraryIds:i,model:n}).then((function(i){return d&&function(e){var r=e.properties;Re(r).forEach((function(e){return function(e){var r=e.measure;if(Ge({measure:r,properties:e.properties})){var n=0,t=r.qDef.modifiers;Array.isArray(t)&&t.forEach((function(e){if(\"object\"===Le(e)&&!e.disabled){if(n++,\"object\"!==Le(Oe[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(n>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");var t=Oe[e.type].extractInputExpression({outputExpression:r.qDef.qDef,modifier:e});void 0!==t&&$e(r)&&x.simplifyExpression(r.qDef.base.qDef)!==x.simplifyExpression(t)&&(r.qDef.base.qDef=t)}}))}}({measure:e,properties:r})}))}({properties:t}),Ne({model:n,oldProperties:e,properties:t,runUpdateIfChange:!0,masterItem:s,libraryItemsProps:i,dimensionAndFieldList:r})}))}))})):Promise.resolve(u)}return function(e){return!!Array.isArray(e)&&e.some((function(e){return\"object\"===Le(e.base)}))}(f)?n.getEffectiveProperties().then((function(e){return function(e){var n=e.model,t=e.properties,i=Ze(t);return er({model:n,libraryIds:i}).then((function(){var e=r()(!0,{},t);return Re(t).forEach((function(e){return we(e)})),Xe({oldProperties:e,newProperties:t,model:n})}))}({model:n,properties:e})})):Promise.resolve(u)}function Ne(e){var n=e.model,t=e.oldProperties,i=e.properties,a=e.measures,s=e.runUpdateIfChange,u=void 0!==s&&s,l=e.masterItem,c=e.libraryItemsProps,p=e.dimensionAndFieldList;void 0===t&&(t=u?r()(!0,{},i):i),ke(i);var f=Ze(i);return er({model:n,libraryIds:f,masterItem:l}).then((function(){return function(e){var n=e.measures,t=e.properties,i=e.model,a=e.libraryItemsProps,s=e.dimensionAndFieldList;if(n||(n=Re(t)),!n.length)return Promise.resolve();if(!He({measures:n,properties:t}))return n.forEach((function(e){return we(e)})),Promise.resolve();var u=a?void 0:Ze(t);return Ye({model:i,dimensionAndFieldList:s}).then((function(e){return Je({libraryIds:u,model:i,libraryItemsProps:a}).then((function(i){n.forEach((function(n){ze({modifiers:n.qDef.modifiers,properties:t})?(function(e){var n=e.measure,t=e.properties,i=e.libraryItemsProps,a=e.dimensionAndFieldList,s=0;Me.isValid(n)||Me.initBase(n,!0);var u=n.qDef,l=u.modifiers,c=u.base;Array.isArray(l)&&l.forEach((function(e){if(\"object\"===Le(e)&&!e.disabled){if(s++,\"object\"!==Le(Oe[e.type]))throw new Error('Modifier \"'.concat(e.type,'\" is not available'));if(s>1)throw new Error(\"More than 1 modifier on a measure! (not yet supported)\");Oe[e.type].initModifier(e,n);var u=n.qLibraryId||c&&c.qLibraryId;u?function(e){var n=e.measure,t=e.modifier,i=e.properties,o=e.dimensionAndFieldList,a=e.libraryItemsProps[e.libraryId],s=a.qMeasure.qDef,u=\"\"===s?s:Oe[t.type].generateExpression({expression:s,modifier:t,properties:i,dimensionAndFieldList:o});t.outputExpression=u,n.qDef.qDef=t.outputExpression,(n.qDef.qLabel||a.qMeasure.qLabel)&&(n.qDef.qLabel=a.qMeasure.qLabel),(n.qDef.qLabelExpression||a.qMeasure.qLabelExpression)&&(n.qDef.qLabelExpression=a.qMeasure.qLabelExpression),n.qDef.quarantine&&n.qDef.quarantine.qNumFormat&&a.qMeasure.qNumFormat&&(n.qDef.qNumFormat=a.qMeasure.qNumFormat,n.qDef.isCustomFormatted=a.qMeasure.isCustomFormatted),delete n.qLibraryId,n.qDef.coloring=a.qMeasure.coloring,t.base=r()(!0,{},n.qDef.base)}({measure:n,modifier:e,libraryId:u,properties:t,libraryItemsProps:i,dimensionAndFieldList:a}):function(e){var n=e.measure,t=e.modifier,i=e.properties,o=e.dimensionAndFieldList;\"function\"==typeof Oe[t.type].updateModifier&&Oe[t.type].updateModifier(t,i.qHyperCubeDef);var a=qe.getExpression(n),s=\"\"===a?a:Oe[t.type].generateExpression({expression:a,modifier:t,properties:i,dimensionAndFieldList:o});t.outputExpression=s,n.qDef.qDef=t.outputExpression,n.qDef.base.qLabelExpression?n.qDef.qLabelExpression=n.qDef.base.qLabelExpression:n.qDef.qLabel=n.qDef.base.qLabel||a,t.base=r()(!0,{},n.qDef.base)}({measure:n,modifier:e,properties:t,dimensionAndFieldList:a}),function(e){var r=o(e,\"qDef.qAggrFunc\");\"Expr\"!==r||je(e)?\"None\"!==r?delete e.qDef.base.qAggrFunc:\"None\"===r&&je(e)&&\"Expr\"===e.qDef.base.qAggrFunc&&(e.qDef.qAggrFunc=\"Expr\",delete e.qDef.base.qAggrFunc):(e.qDef.qAggrFunc=\"None\",e.qDef.base.qAggrFunc=\"Expr\")}(n)}}))}({measure:n,properties:t,libraryItemsProps:i,dimensionAndFieldList:e}),We(n)):we(n)}))}))}))}({measures:a,properties:i,model:n,libraryItemsProps:c,dimensionAndFieldList:p}).then((function(){return u?Xe({oldProperties:t,newProperties:i,model:n}):Promise.resolve(!1)}))}))}function we(e){!function(e){var r=_e(e);return Array.isArray(r)&&r.some((function(e){return\"object\"===Le(e)&&!e.disabled&&!Oe[e.type]}))}(e)?Me.restoreBase(e):delete e.qDef.base,e.qDef.coloring&&delete e.qDef.coloring,We(e)}function He(e){var r=e.measures,n=e.properties,t=e.layout;return!!Array.isArray(r)&&r.some((function(e){return ze({modifiers:_e(e),properties:n,layout:t})}))}function Te(e){var r=_e(e);if(Array.isArray(r))for(var n=0;n<r.length;n++){var t=r[n];if(Oe[t.type]&&!t.disabled)return t}}function je(e){var r=Te(e);return!r||Oe[r.type].enableTotalsFunction(e)}function Re(e){return o(e,\"qHyperCubeDef.qMeasures\",[]).concat(o(e,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\",[]))}function _e(e){return e.modifiers||e.qDef&&e.qDef.modifiers}function Be(e){return o(e,\"outputExpression.qValueExpression.qExpr\")||o(e,\"outputExpression\")}function ke(e){Re(e).forEach((function(e){return function(e){var n=Te(e);n&&(void 0!==n.outputExpression&&Be(n)!==e.qDef.qDef?delete e.qDef.base:!Me.isValid(e)&&n.base&&(e.qDef.base=r()(!0,{},n.base)))}(e)}))}function We(e){var r=_e(e);Array.isArray(r)&&r.forEach((function(r){\"object\"===Le(r)&&(r.disabled||!Oe[r.type]&&Be(r)!==e.qDef.qDef)&&(r.disabled=!0,delete r.base)}))}function $e(e){return e.base||e.qDef&&e.qDef.base}function Ue(e){var r=$e(e);return e.qLibraryId||r&&r.qLibraryId}function Ge(e){var r=e.measure,n=e.properties,t=e.layout;return!Ue(r)&&ze({modifiers:_e(r),properties:n,layout:t})}function ze(e){var r=e.modifiers,n=e.properties,t=e.layout,i={};return Array.isArray(r)&&r.some((function(e){return!(\"object\"!==Le(e)||e.disabled||!Oe[e.type])&&(void 0===i[e.type]&&(i[e.type]=Oe[e.type].isApplicable({properties:n,layout:t})),i[e.type])}))}function Ye(e){var r=e.model,n=e.dimensionAndFieldList;if(n)return Promise.resolve(n);var t=[],i={},o=r.app.getDimensionList().then((function(e){i.dimensionList=e}));t.push(o);var a=r.app.getFieldList().then((function(e){i.fieldList=e}));return t.push(a),Promise.all(t).then((function(){return i}))}function Je(e){var r=e.libraryIds,n=e.model,t=e.libraryItemsProps;if(t)return Promise.resolve(t);var i=r.measureLibraryIds,o=r.dimensionLibraryIds,a={},s=[];return i.forEach((function(e){var r=n.app.getMeasure(e).then((function(r){return r.getProperties().then((function(r){a[e]=r}))}));s.push(r)})),o.forEach((function(e){var r=n.app.getDimension(e).then((function(r){return r.getProperties().then((function(r){a[e]=r}))}));s.push(r)})),Promise.all(s).then((function(){return a}))}function Ke(e,r){if(\"\"!==r||-1===[\"qFmt\",\"qDec\",\"qThou\"].indexOf(e))return r}function Xe(e){var r=e.oldProperties,n=e.newProperties,t=e.model,i=JSON.stringify(o(r,\"qHyperCubeDef.qMeasures\"),Ke)!==JSON.stringify(o(n,\"qHyperCubeDef.qMeasures\"),Ke)||JSON.stringify(o(r,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),Ke)!==JSON.stringify(o(n,\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\"),Ke);return i?function(e){var r=e.model,n=e.oldProperties,t=e.newProperties,i=r.layout;return i&&!i.qHasSoftPatches&&!i.qExtendsId&&o(i,\"qMeta.privileges\",[]).indexOf(\"update\")>-1?r.setProperties(t):N(r,n,t)}({model:t,oldProperties:r,newProperties:n}).then((function(){return i})):Promise.resolve(i)}function Qe(e){var r=e.modifiers,n=e.properties,t=e.layout;return Array.isArray(r)&&r.some((function(e){return\"object\"===Le(e)&&!e.disabled&&Oe[e.type]&&Oe[e.type].needDimension({modifier:e,properties:n,layout:t})}))}function Ze(e){var r=Re(e),n=[],t=[],i=!1;return r.forEach((function(r){var t=_e(r);if(ze({modifiers:t,properties:e})){var o=Ue(r);o&&n.push(o),i=i||Qe({modifiers:t,properties:e})}})),o(e,\"qHyperCubeDef.qDimensions\",[]).forEach((function(e){var r=e.qLibraryId;r&&t.push(r)})),{measureLibraryIds:n,dimensionLibraryIds:t}}function er(e){var r=e.model,n=e.libraryIds;return!e.masterItem&&n&&(n.measureLibraryIds.length||n.dimensionLibraryIds.length)?(Pe[r.id].masterItemSubscriber=Pe[r.id].masterItemSubscriber||function(e){var r=e.model,n=e.callback,t={},i={},a={},s={dimension:[\"qDim.qFieldDefs\"],measure:[\"qMeasure.qDef\",\"qMeasure.qLabel\",\"qMeasure.qLabelExpression\",\"qMeasure.coloring\",\"qMeasure.qNumFormat\",\"qMeasure.isCustomFormatted\"]};function u(e){var r={},n=o(e,\"qInfo.qType\");return n&&s[n]&&s[n].forEach((function(n){r[n]=o(e,n)})),JSON.stringify(r)}function l(e){var r=e.qInfo.qId;if(t[r]){var i=u(e);t[r].properties!==i&&(t[r].properties=i,\"function\"==typeof n&&t[r].enabled&&n(e)),t[r].enabled=!0}}function c(e,n){return r.app[n](e).then((function(r){t[e]={listener:r.layoutSubscribe(l),enabled:!1,properties:u(r.layout)}}))}return{subscribe:function(e){var n=e.measureLibraryIds,o=e.dimensionLibraryIds,s=[];return function(e){var r=e.dimensionLibraryIds;i={},e.measureLibraryIds.forEach((function(e){i[e]=!0})),a={},r.forEach((function(e){a[e]=!0}))}({measureLibraryIds:n,dimensionLibraryIds:o}),Object.keys(t).forEach((function(e){i[e]||a[e]||(t[e].listener.dispose(),delete t[e])})),r.app&&(Object.keys(i).forEach((function(e){i[e]&&!t[e]&&s.push(c(e,\"getMeasure\"))})),Object.keys(a).forEach((function(e){a[e]&&!t[e]&&s.push(c(e,\"getDimension\"))}))),Promise.all(s)},unsubscribe:function(){Object.keys(t).forEach((function(e){t[e].listener.dispose()})),t={}}}}({model:r,callback:function(e){return Ve({model:r,masterItem:e}).then((function(){return r.app.clearUndoBuffer()}))}}),Pe[r.id].masterItemSubscriber.subscribe(n)):Promise.resolve()}})(),r.default=i.default,Object.defineProperty(r,\"__esModule\",{value:!0})})()}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var o=r[t]={exports:{}};return e[t](o,o.exports,n),o.exports}n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r);var t={};return(()=>{\"use strict\";function e(r){var n,t=r;return t>9?(n=65+t-10)>90&&(n+=6):t=\"\".concat(t).charCodeAt(0),[48,111,79,105,73,108].indexOf(n)>-1?e(t+1):String.fromCharCode(n)}function r(n){var t=e(n%62),i=Math.floor(n/62);return i>0?r(i)+t:t}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}n.d(t,{default:()=>ke});const o={getValue:function(e,r,n){if(null==e||null==r)return n;for(var t=r.split(\".\"),i=e,o=0;o<t.length;++o){var a=t[o];if(\"\"!==a){if(void 0===i[a]||null===i[a])return n;i=i[a]}}return i},setValue:function(e,r,n){if(null!=e&&null!=r){for(var t=r.split(\".\"),i=t[t.length-1],o=e,a=0;a<t.length-1;++a){var s=t[a];void 0!==o[s]&&null!==o[s]||(o[s]=Number.isNaN(+t[a+1])?{}:[]),o=o[s]}void 0!==n?o[i]=n:delete o[i]}},isEmpty:function(e){return 0===Object.keys(e).length&&e.constructor===Object},isAtomicValue:function(e){return/boolean|number|string/.test(i(e))},generateId:function(){return r(Math.round(99e11*Math.random()+1e11)).replace(/\\W/g,\"\")}};function a(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,r){if(e){if(\"string\"==typeof e)return s(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,r):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function s(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function u(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,r){if(e){if(\"string\"==typeof e)return l(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,r):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function c(e,r,n){if(e){for(var t=0;t<e.length;t++)if(e[t][r]===n)return t;return-1}return-1}const p={isOrderedSubset:function(e,r){if(!(e&&r&&e.length&&r.length))return!1;var n=e.indexOf(r[0]);if(-1!==n){for(var t=0;t<r.length;t++){var i=e.indexOf(r[t]);if(n>i)return!1;n=i}return!0}return!1},indexAdded:function(e,r){var n;for(n=0;n<e.length;++n)e[n]>=0&&e[n]>=r&&++e[n];e.push(r)},indexRemoved:function(e,r){var n,t=0;for(n=0;n<e.length;++n)e[n]>r?--e[n]:e[n]===r&&(t=n);return e.splice(t,1),t},findItemByPropertyValue:function(e,r,n){if(e){for(var t=0;t<e.length;t++)if(e[t][r]===n)return e[t];return null}return null},findIndexByPropertyValue:c};var f=n(8),m=n.n(f);const d=function(e){var r,n=e.exportFormat,t=e.qHyperCubeDef,i=n.data[0];(r=i.dimensions).push.apply(r,a(t.qDimensions));var s,u=o.getValue(t,\"qLayoutExclude.qHyperCubeDef.qDimensions\");u&&(s=i.excludedDimensions).push.apply(s,a(u))},y=function(e){var r,n=e.exportFormat,t=e.qHyperCubeDef,i=n.data[0];(r=i.measures).push.apply(r,u(t.qMeasures));var a,s=o.getValue(t,\"qLayoutExclude.qHyperCubeDef.qMeasures\");s&&(a=i.excludedMeasures).push.apply(a,u(s))},q=function(e){var r=e.exportFormat,n=e.qHyperCubeDef,t=r.data[0];n.qInterColumnSortOrder||(n.qInterColumnSortOrder=[]),t.interColumnSortOrder=n.qInterColumnSortOrder.concat();var i=o.getValue(n,\"qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder\");i&&p.isOrderedSubset(i,t.interColumnSortOrder)&&(t.interColumnSortOrder=i.concat())},b=function(e){var r=e.exportFormat,n=e.properties;Object.keys(n).forEach((function(e){r.properties[e]=n[e]}))},v=function(e){var r=e.exportFormat,n=e.properties;n.qLayoutExclude||(n.qLayoutExclude={}),n.qLayoutExclude.disabled&&(Object.keys(n.qLayoutExclude.disabled).forEach((function(e){r.properties.hasOwnProperty(e)||(r.properties[e]=n.qLayoutExclude.disabled[e])})),delete n.qLayoutExclude.disabled),n.qLayoutExclude.changed&&(function(e){Object.keys(e.qLayoutExclude.changed).forEach((function(r){e.qLayoutExclude.changed[r].to===o.getValue(e,r)&&o.setValue(e,r,e.qLayoutExclude.changed[r].from)}))}(n),delete n.qLayoutExclude.changed),n.qLayoutExclude.quarantine&&!o.isEmpty(n.qLayoutExclude.quarantine)||delete n.qLayoutExclude},D=function(e){e.forEach((function(e){m().cleanUpMeasure(e),e.qDef.modifiers&&(e.store={modifiers:e.qDef.modifiers},delete e.qDef.modifiers)}))};function g(e,r,n){var t,i,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=o.getValue(e,r);if(!o.isAtomicValue(s))try{if((i=(i=(t=JSON.stringify(s)).match(/:\\{/g))?i.length:0)>2&&!a)return;s=JSON.parse(t)}catch(e){return}o.getValue(e,\"qLayoutExclude.quarantine\")||o.setValue(e,\"qLayoutExclude.quarantine\",{});var u=o.getValue(e,\"qLayoutExclude.quarantine\");u[n]||(u[n]={}),u[n][r]=s}var h=n(909),x=n.n(h);function A(e,r){var n=x()(!0,{},r,e);return o.getValue(n,\"qOtherTotalSpec.qOtherCounted\")||o.setValue(n,\"qOtherTotalSpec.qOtherCounted\",{qv:\"10\"}),o.getValue(n,\"qOtherTotalSpec.qOtherLimit\")||o.setValue(n,\"qOtherTotalSpec.qOtherLimit\",{qv:\"0\"}),n.hasOwnProperty(\"othersLabel\")||(n.othersLabel=\"Others\"),n}function E(e,r){return x()(!0,{},r,e)}function C(e,r,n){return\"function\"==typeof e?e(r):Number.isNaN(+e)?n:e}var I=Math.pow(2,53)-1;function S(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function M(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}const L=function(e,r,n){var t=\"masterobject\"===o.getValue(r,\"properties.qInfo.qType\")?\"masterobject\":o.getValue(n,\"qInfo.qType\");o.setValue(e,\"qInfo.qType\",t),e.visualization=n.visualization},O=function(e,r,n){r.hasOwnProperty(e)&&(n[e]=r[e])},F=function(e,r,n,t){r.hasOwnProperty(e)?n[e]=r[e]:n[e]=t},P=function(){return{qDef:{autoSort:!0,cId:\"\",othersLabel:\"Others\"},qLibraryId:\"\",qNullSuppression:!1,qOtherLabel:\"Others\",qOtherTotalSpec:{qOtherLimitMode:\"OTHER_GE_LIMIT\",qOtherMode:\"OTHER_OFF\",qOtherSortMode:\"OTHER_SORT_DESCENDING\",qSuppressOther:!1}}},V=function(){return{qDef:{autoSort:!0,cId:\"\",numFormatFromTemplate:!0},qLibraryId:\"\",qTrendLines:[]}},N=function(e){var r,n=e.exportFormat,t=e.maxDimensions,i=e.minDimensions,o=e.newHyperCubeDef,a=e.defaultDimension,s=n.data[0];for(r=0;r<s.dimensions.length;++r){var u=A(s.dimensions[r],a);o.qDimensions.length<t?o.qDimensions.push(u):o.qLayoutExclude.qHyperCubeDef.qDimensions.push(u)}for(r=0;r<s.excludedDimensions.length;++r){var l=A(s.excludedDimensions[r],a);o.qDimensions.length<i?o.qDimensions.push(l):o.qLayoutExclude.qHyperCubeDef.qDimensions.push(l)}},w=function(e){var r,n=e.exportFormat,t=e.maxMeasures,i=e.minMeasures,o=e.newHyperCubeDef,a=e.defaultMeasure,s=n.data[0];for(r=0;r<s.measures.length;++r){var u=E(s.measures[r],a);o.qMeasures.length<t?o.qMeasures.push(u):o.qLayoutExclude.qHyperCubeDef.qMeasures.push(u)}for(r=0;r<s.excludedMeasures.length;++r){var l=E(s.excludedMeasures[r],a);o.qMeasures.length<i?o.qMeasures.push(l):o.qLayoutExclude.qHyperCubeDef.qMeasures.push(l)}},H=function(e){var r=e.exportFormat,n=e.dataDefinition,t=void 0===n?{}:n,i=r.data[0],o=t.dimensions||{max:0},a=t.measures||{max:0},s=C(a.max,i.dimensions.length,I),u=C(a.min,i.dimensions.length,0);return{maxDimensions:C(o.max,s,I),minDimensions:C(o.min,u,0),maxMeasures:s,minMeasures:u}},T=function(e){var r=e.exportFormat,n=e.newHyperCubeDef,t=r.data[0],i=n.qDimensions.length+n.qMeasures.length;n.qInterColumnSortOrder=t.interColumnSortOrder.concat();var o=n.qInterColumnSortOrder.length;if(o!==i)for(n.qLayoutExclude&&(n.qLayoutExclude.qHyperCubeDef.qInterColumnSortOrder=t.interColumnSortOrder.concat());o!==i;)o<i?(p.indexAdded(n.qInterColumnSortOrder,o),++o):(--o,p.indexRemoved(n.qInterColumnSortOrder,o))},j=function(e){var r=e.exportFormat,n=e.initialProperties,t=e.hypercubePath,i={qLayoutExclude:{disabled:{},quarantine:{}}};return Object.keys(r.properties).forEach((function(e){\"qLayoutExclude\"===e?r.properties[e].quarantine&&(i.qLayoutExclude.quarantine=x()(!0,{},r.properties[e].quarantine)):\"qHyperCubeDef\"===e&&t?o.setValue(i,\"\".concat(t,\".qHyperCubeDef\"),r.properties.qHyperCubeDef):n.hasOwnProperty(e)||-1!==[\"qMetaDef\",\"descriptionExpression\",\"labelExpression\"].indexOf(e)||function(e,r){return\"components\"===r&&Array.isArray(e[r])&&e[r].some((function(e){return\"general\"===e.key}))}(r.properties,e)?i[e]=r.properties[e]:i.qLayoutExclude.disabled[e]=r.properties[e]})),null===(i=x()(!0,{},n,i)).components&&(i.components=[]),i},R=function(e){var r=e.exportFormat,n=e.maxDimensions,t=e.minDimensions,i=e.maxMeasures,o=e.minMeasures,a=r.data[0];return a.dimensions.length>n&&n>0||a.measures.length>i&&i>0||a.excludedDimensions.length>0&&a.dimensions.length+a.excludedDimensions.length>t||a.excludedMeasures.length>0&&a.measures.length+a.excludedMeasures.length>o||!i&&a.measures.length>0||!n&&a.dimensions.length>0},_=function(e){var r=e.exportFormat,n=e.maxDimensions,t=e.minDimensions,i=e.maxMeasures,o=e.minMeasures,a=e.newHyperCubeDef,s=r.data[0];a.qLayoutExclude||(a.qLayoutExclude={}),a.qLayoutExclude.qHyperCubeDef||(a.qLayoutExclude.qHyperCubeDef={}),(s.dimensions.length>n&&n>0||s.excludedDimensions&&s.excludedDimensions.length&&s.dimensions.length+s.excludedDimensions.length>t)&&(a.qLayoutExclude.qHyperCubeDef.qDimensions||(a.qLayoutExclude.qHyperCubeDef.qDimensions=[])),(s.measures.length>i&&i>0||s.excludedMeasures&&s.excludedMeasures.length&&s.measures.length+s.excludedMeasures.length>o)&&(a.qLayoutExclude.qHyperCubeDef.qMeasures||(a.qLayoutExclude.qHyperCubeDef.qMeasures=[])),!i&&s.measures.length&&(a.qLayoutExclude.qHyperCubeDef.qMeasures||(a.qLayoutExclude.qHyperCubeDef.qMeasures=[])),!n&&s.dimensions.length&&(a.qLayoutExclude.qHyperCubeDef.qDimensions||(a.qLayoutExclude.qHyperCubeDef.qDimensions=[]))},B=function(e){var r,n=e.newProperties,t=e.dataDefinition,i=e.hypercubePath;if(t.dimensions&&\"function\"==typeof t.dimensions.added){var a=o.getValue(n,i||\"\").qHyperCubeDef,s=function(e){if(Array.isArray(e))return S(e)}(r=a.qDimensions)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(r)||function(e,r){if(e){if(\"string\"==typeof e)return S(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?S(e,r):void 0}}(r)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}();a.qDimensions=[],s.forEach((function(e){a.qDimensions.push(e),t.dimensions.added(e,n)}))}},k=function(e){var r,n=e.newProperties,t=e.dataDefinition,i=e.hypercubePath;if(t.measures&&\"function\"==typeof t.measures.added){var a=o.getValue(n,i||\"\").qHyperCubeDef,s=function(e){if(Array.isArray(e))return M(e)}(r=a.qMeasures)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(r)||function(e,r){if(e){if(\"string\"==typeof e)return M(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,r):void 0}}(r)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}();a.qMeasures=[],s.forEach((function(e){a.qMeasures.push(e),t.measures.added(e,n)}))}},W=function(e){var r=e.measures,n=e.modifierTypes;r&&n&&m().isSupportedModifiers(n)&&r.forEach((function(e){e.store&&e.store.modifiers&&(e.qDef.modifiers=e.store.modifiers),delete e.store}))};function $(e,r){var n=o.getValue(e,\"qLayoutExclude.quarantine\",{})[r];return!!n&&(Object.keys(n).forEach((function(r){o.setValue(e,r,n[r])})),delete e.qLayoutExclude.quarantine[r],!0)}const U={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,i=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r={data:[],properties:{}},n=0;n<e;++n)r.data.push({dimensions:[],measures:[],excludedDimensions:[],excludedMeasures:[],interColumnSortOrder:[]});return r}(),a=r.qProperty,s=o.getValue(a,n||\"\"),u=s.qHyperCubeDef;return u.qInterColumnSortOrder||(u.qInterColumnSortOrder=[]),d({exportFormat:i,qHyperCubeDef:u}),y({exportFormat:i,qHyperCubeDef:u}),q({exportFormat:i,qHyperCubeDef:u}),delete u.qLayoutExclude,b({exportFormat:i,properties:a}),n&&(i.properties.qHyperCubeDef=u,delete s.qHyperCubeDef),v({exportFormat:i,properties:a}),t||D(i.properties.qHyperCubeDef.qMeasures),Array.isArray(i.properties.filters)&&(g(i.properties,\"filters\",\"storedFilters\",!0),delete i.properties.filters),i.properties.qHyperCubeDef.qContextSetExpression&&(g(i.properties,\"qHyperCubeDef.qContextSetExpression\",\"storedFilters\"),i.properties.qHyperCubeDef.qContextSetExpression=\"\"),i.properties.qHyperCubeDef.qDynamicScript&&i.properties.qHyperCubeDef.qDynamicScript.length&&(g(i.properties,\"qHyperCubeDef.qDynamicScript\",\"dynamicScript\"),i.properties.qHyperCubeDef.qDynamicScript=[]),i},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=void 0===n?{}:n,i=e.dataDefinition,a=void 0===i?{}:i,s=e.defaultPropertyValues,u=void 0===s?{}:s,l=e.hypercubePath,c=e.extension,p=e.supportedFilters,f=void 0===p||p,m=e.isHCModifierSupported,d=void 0===m||m,y={qChildren:[]},q=j({exportFormat:r,initialProperties:t,hypercubePath:l}),b=o.getValue(t,l||\"\").qHyperCubeDef,v=o.getValue(q,l||\"\").qHyperCubeDef,D=H({exportFormat:r,dataDefinition:a}),g=D.maxDimensions,h=D.minDimensions,x=D.maxMeasures,A=D.minMeasures,E=u.defaultDimension,C=void 0===E?P():E,I=u.defaultMeasure,S=void 0===I?V():I;v.qDimensions.length=0,v.qMeasures.length=0,R({exportFormat:r,maxDimensions:g,minDimensions:h,maxMeasures:x,minMeasures:A})&&_({exportFormat:r,maxDimensions:g,minDimensions:h,maxMeasures:x,minMeasures:A,newHyperCubeDef:v}),N({exportFormat:r,maxDimensions:g,minDimensions:h,newHyperCubeDef:v,defaultDimension:C}),w({exportFormat:r,maxMeasures:x,minMeasures:A,newHyperCubeDef:v,defaultMeasure:S}),B({newProperties:q,dataDefinition:a,hypercubePath:l}),k({newProperties:q,dataDefinition:a,hypercubePath:l}),T({exportFormat:r,newHyperCubeDef:v}),O(\"qMaxStackedCells\",b,v),O(\"qNoOfLeftDims\",b,v),F(\"qInitialDataFetch\",b,v,[{qTop:0,qLeft:0,qWidth:0,qHeight:0}]),F(\"qMode\",b,v,\"S\"),F(\"qReductionMode\",b,v,\"N\"),F(\"qSortbyYValue\",b,v),F(\"qIndentMode\",b,v),F(\"qShowTotalsAbove\",b,v),L(q,r,t),y.qProperty=q;var M=o.getValue(c||{},\"support.modifiers\");return W({measures:v.qMeasures,modifierTypes:M}),f&&$(y.qProperty,\"storedFilters\"),\"S\"===v.qMode&&d&&$(y.qProperty,\"dynamicScript\"),y}};var G={cellBackgroundColor:!0,cellForegroundColor:!0,colorByAlternative:!0,colorByExpression:!0,tooltip:!0,urlLabel:!0,url:!0};function z(e,r,n,t){r=r||[];var i=c(e,t,n),o=c(r,t,n);if(-1!==i&&-1===o){var a=e.splice(i,1);r.push(a[0])}return r}function Y(e,r){return e.length!==r}const J={create:function(e,r){if(!e||!G[e])throw new Error(\"Attribute Expressions Util: ID required\");var n={};return r&&Object.keys(r).forEach((function(e){n[e]=r[e]})),n.id=e,n.qAttribute=!0,n},moveByIdFromGroup:function(e,r,n,t,i){n=n||\"qAttributeExpressions\",i=i||\"id\";for(var o=0;o<e.length;o++){var a=e[o][n],s=r.length;if(z(a,r,t,i),Y(r,s))return r}return r},IDMAP:{CELL_BACKGROUND_COLOR:\"cellBackgroundColor\",CELL_FOREGROUND_COLOR:\"cellForegroundColor\",COLOR_BY_ALTERNATIVE:\"colorByAlternative\",COLOR_BY_EXPRESSION:\"colorByExpression\",TOOLTIP:\"tooltip\",CELL_LINK_LABEL:\"urlLabel\",CELL_LINK_URL:\"url\"}},K={getNumDimensions:function(e){return o.getValue(e,\"qHyperCubeDef.qDimensions.length\",0)},getNumMeasures:function(e){return o.getValue(e,\"qHyperCubeDef.qMeasures.length\",0)},wrapFieldName:function(e){return e.split(\" \").length>1&&\"=\"!==e[0]&&\"[\"!==e[0]?\"[\".concat(e,\"]\"):e},getItemLabel:function(e){return e.label||e.name}},X={colorModeOptions:{primary:function(){return!0},dimension:function(e){return K.getNumDimensions(e)>0&&K.getNumMeasures(e)<=1},multiColor:function(e){return K.getNumMeasures(e)>1},measure:function(e){return K.getNumDimensions(e)>0},expression:function(e){return K.getNumMeasures(e)>=1}}},Q={colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return K.getNumMeasures(e)>=1}}};var Z={scatterplot:Q,\"sn-scatter-plot\":Q,piechart:{colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return K.getNumMeasures(e)>=1}}},linechart:{colorModeOptions:{primary:function(){return!0},dimension:function(e){return K.getNumDimensions(e)>1},multiColor:function(e){return K.getNumMeasures(e)>1},measure:function(e){return K.getNumDimensions(e)<=1},expression:function(e){return K.getNumMeasures(e)>=1}}},map:{colorModeOptions:{primary:function(){return!0},dimension:function(e){return K.getNumDimensions(e)>=1},multiColor:function(e){return K.getNumMeasures(e)>1},measure:function(e){return K.getNumDimensions(e)>=1},expression:function(e){return K.getNumDimensions(e)>=1}}},distributionplot:{colorModeOptions:{primary:function(){return!0},dimension:function(){return!0},multiColor:function(){return!1},measure:function(){return!0},expression:function(e){return K.getNumDimensions(e)>=1}}}};function ee(e,r,n){if(Array.isArray(e[r])){var t=p.findIndexByPropertyValue(e[r],\"id\",n);t>=0&&e[r].splice(t,1)}else e[r]=[]}function re(e,r){var n=J.IDMAP.COLOR_BY_ALTERNATIVE;e.forEach((function(e){ee(e,\"qAttributeDimensions\",n),ee(e,\"qAttributeExpressions\",n)})),r.forEach((function(e){ee(e,\"qAttributeDimensions\",n),ee(e,\"qAttributeExpressions\",n)}))}function ne(e,r){if(r){var n=\"=\"===r.charAt(0);e.color.altLabel=n?{qStringExpression:{qExpr:r.substr(1)}}:r}}function te(e){var r=e.properties,n=e.isDimension,t=e.dimensions,i=e.excludedDimensions,a=e.measures,s=e.label;re(t,i);var u=t[t.length-1];if(u){var l=n?o.getValue(r,\"color.byDimDef\"):o.getValue(r,\"color.byMeasureDef\"),c=o.getValue(r,\"color.formatting.qNumFormat\"),f=o.getValue(r,\"color.formatting.isCustomFormatted\");if(l){var m=J.create(J.IDMAP.COLOR_BY_ALTERNATIVE);switch(l.type){case\"expression\":!function(e){var r=e.attributeExpression,n=e.label,t=e.item,i=e.isDimension,o=e.qNumFormat,a=e.isCustomFormatted;r.label=n||t.label,i?r.qDef=t.key:(r.qExpression=t.key,o&&(r.qNumFormat=o,r.isCustomFormatted=a)),r.matchMeasure=t.activeMeasureIndex,r.label&&\"=\"===r.label.charAt(0)&&(r.labelExpRef=\"color.altLabel\")}({attributeExpression:m,label:s,item:l,isDimension:n,qNumFormat:c,isCustomFormatted:f});break;case\"libraryItem\":!function(e){var r=e.attributeExpression,n=e.measures,t=e.item,i=e.qNumFormat,o=e.isCustomFormatted;e.isDimension||(r.matchMeasure=p.findIndexByPropertyValue(n,\"qLibraryId\",t.key),i&&(r.qNumFormat=i,r.isCustomFormatted=o)),void 0!==t.expression?r.qExpression=t.expression:r.qLibraryId=t.key,r.colorMapRef=t.key}({attributeExpression:m,measures:a,item:l,isDimension:n,qNumFormat:c,isCustomFormatted:f})}n?(m.qSortBy={qSortByAscii:1},u.qAttributeDimensions.push(m)):u.qAttributeExpressions.push(m)}}}function ie(e,r,n,t){var i,o,a,s={};switch(e){case\"dimension\":n.qLibraryId?(s.type=\"dimension\",s.name=n.qLibraryId,s.id=n.qLibraryId):(s.type=\"field\",r?(s.name=n.label||n.qDef,s.id=n.qDef):(s.name=n.qDef.qFieldDefs[0],s.label=(a=n.qDef).qLabelExpression?a.qLabelExpression:a.qFieldLabels&&a.qFieldLabels[0]?a.qFieldLabels[0]:a.qFieldDefs[0]));break;case\"measure\":i=function(e,r){return r?e.qLibraryId:m().measureBase.getLibraryId(e)}(n,r),i?(s.type=\"measure\",s.name=i,s.id=i,o=function(e,r){return m().hasActiveModifiers({measures:[e]})&&r?e.qDef.qDef:void 0}(n,t),o&&(s.expression=o)):(s.type=\"expression\",r?(s.name=n.label||n.qExpression,s.id=n.qExpression):(s.name=n.qDef.qDef,s.label=function(e){var r=e.qDef;return r.qLabelExpression?r.qLabelExpression:r.qLabel?r.qLabel:r.qDef}(n)));break;default:throw new Error('columnType should be \"dimension\" or \"measure\"')}return s}const oe={useMasterNumberFormat:function(e){e.quarantine={qNumFormat:e.qNumFormat||{},isCustomFormatted:e.isCustomFormatted||!1},e.qNumFormat=null,e.isCustomFormatted=void 0}};function ae(e,r,n,t){var i=n?\"expression\":r.type,o=e.color,a=o.mode,s=K.getItemLabel(r);switch(ne(e,s||\"\"),i){case\"field\":a=\"byDimension\",o.byDimDef={label:r.label||K.wrapFieldName(r.name),key:K.wrapFieldName(r.name),type:\"expression\",activeDimensionIndex:r.activeDimensionIndex};break;case\"expression\":a=\"byMeasure\",o.byMeasureDef={label:n||s,key:n||r.name,type:\"expression\",activeMeasureIndex:r.activeMeasureIndex};break;case\"dimension\":a=\"byDimension\",o.byDimDef={label:r.name,key:r.id,type:\"libraryItem\",activeDimensionIndex:r.activeDimensionIndex};break;case\"measure\":a=\"byMeasure\",o.byMeasureDef={label:r.name,key:r.id,expression:r.expression,type:\"libraryItem\",activeMeasureIndex:r.activeMeasureIndex},o.formatting&&oe.useMasterNumberFormat(o.formatting)}t||(o.auto=!1,o.mode=a)}function se(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),i=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]),a=o.getValue(e,\"color.byDimDef\");if(a&&ne(e,a.label),function(e){return!!(e&&e.activeDimensionIndex>-1)}(a))!function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"color.byDimDef\");t.activeDimensionIndex=Math.min(t.activeDimensionIndex,n.length-1);var i=ie(\"dimension\",!1,n[t.activeDimensionIndex]);i.activeDimensionIndex=t.activeDimensionIndex,ae(e,i)}(e,r);else if(function(e){return!e||!e.key}(a)&&function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=n[function(e,r,n){var t=o.getValue(r,\"visualization\"),i=n.split(\".\"),a=Number(i[1]),s=o.getValue(r,\"layers.\".concat(a,\".type\"));return 2===e.length&&\"map\"===t&&\"point\"===s}(n,e,r)?0:n.length-1],i=J.IDMAP.COLOR_BY_ALTERNATIVE,a=p.findItemByPropertyValue(t.qAttributeDimensions,\"id\",i);return ae(e,ie(\"dimension\",!!a,a||t)),!!a}(e,r))return;te({properties:e,isDimension:!0,dimensions:n,excludedDimensions:i,measures:t,label:o.getValue(e,\"color.byDimDef.label\")})}const ue=function(e,r,n){o.setValue(e,r,n),o.isAtomicValue(n)&&function(e,r,n){var t=e.qLayoutExclude;t&&(t.changed||(t.changed={}),t.changed[r]={from:o.getValue(e,r),to:n})}(e,r,n)},le=function(e,r){var n={primary:!0};if(e){var t=(Z[r]||X).colorModeOptions||X.colorModeOptions;n.byDimension=t.dimension(e),n.byMeasure=t.measure(e),n.byMultiple=t.multiColor(e),n.byExpression=t.expression(e)}return n},ce=function(e){var r=e.canColorBy,n=e.autoColor,t=e.colorMode,i=e.dimensions;return!(r[t]&&!n&&(\"byDimension\"!==t&&\"byMeasure\"!==t||!i.length))},pe=function(e,r){var n,t=o.getValue(e,\"color.mode\"),i=o.getValue(e,\"color.auto\"),a=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),s=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),u=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]);i?re(a,u):!(n={auto:i,colorMode:t,dimensions:a}).auto&&\"byDimension\"===n.colorMode&&n.dimensions.length>0?se(e,r):function(e){var r=e.auto,n=e.colorMode,t=e.dimensions,i=e.measures,a=e.properties,s=o.getValue(a,\"visualization\");return!(r||\"byMeasure\"!==n||!t.length||\"map\"!==s&&!i.length)}({auto:i,colorMode:t,dimensions:a,measures:s,properties:e})?function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),i=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]),a=o.getValue(e,\"color.byMeasureDef\");if(a&&ne(e,a.label),function(e){return!!(e&&e.activeMeasureIndex>-1)}(a))!function(e,r){var n=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),t=o.getValue(e,\"color.byMeasureDef\");if(t.activeMeasureIndex=Math.min(t.activeMeasureIndex,n.length-1),t.activeMeasureIndex>-1){var i=ie(\"measure\",!1,n[t.activeMeasureIndex],!0);i.activeMeasureIndex=t.activeMeasureIndex,ae(e,i)}}(e,r);else if(function(e,r){return(!e||!e.key)&&r.length>0}(a,t)&&function(e,r){var n=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),t=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),i=n[n.length-1],a=J.IDMAP.COLOR_BY_ALTERNATIVE,s=p.findItemByPropertyValue(i.qAttributeExpressions,\"id\",a);return ae(e,ie(\"measure\",!!s,s||t[0])),!!s}(e,r))return;te({properties:e,isDimension:!1,dimensions:n,excludedDimensions:i,measures:t,label:o.getValue(e,\"color.byMeasureDef.label\")})}(e,r):function(e,r){var n=o.getValue(e,\"color.mode\"),t=o.getValue(e,\"\".concat(r,\"qDimensions\"),[]),i=o.getValue(e,\"\".concat(r,\"qMeasures\"),[]),a=o.getValue(e,\"\".concat(r,\"qLayoutExclude.qHyperCubeDef.qDimensions\"),[]);\"byMultiple\"===n&&i.length<2&&o.setValue(e,\"color.mode\",\"primary\"),re(t,a)}(e,r)},fe=function(e){e.forEach((function(e){e.qOtherTotalSpec&&\"qTotalMode\"in e.qOtherTotalSpec&&delete e.qOtherTotalSpec.qTotalMode}))},me=function(e){var r=e.shouldUpdateColorBy,n=e.properties,t=o.getValue(n,\"qHyperCubeDef.qMeasures\",[]),i=o.getValue(n,\"color.mode\",\"\");return!r&&\"byExpression\"===i&&t.length>0},de=function(e){var r=o.getValue(e,\"qHyperCubeDef.qMeasures.0.qAttributeExpressions\",[]),n=o.getValue(e,\"color.colorExpression\",\"\");r.splice(0,0,{qExpression:n,id:\"colorByExpression\"}),o.setValue(e,\"qHyperCubeDef.qMeasures.0.qAttributeExpressions\",r)},ye=function(e){o.setValue(e,\"color.mode\",\"primary\"),o.setValue(e,\"color.auto\",!0)},qe=function(e){var r=o.getValue(e,\"qHyperCubeDef.qDimensions\",[]),n=o.getValue(e,\"color.persistent\",!1);return r.length>1&&!n},be={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,i=U.exportProperties({propertyTree:r,hypercubePath:n,viewDataMode:t}),o=i.data[0],a=o.dimensions.concat(o.excludedDimensions),s=o.measures.concat(o.excludedMeasures),u=J.IDMAP,l=u.COLOR_BY_ALTERNATIVE,c=u.COLOR_BY_EXPRESSION;return J.moveByIdFromGroup(a,[],\"qAttributeDimensions\",l),J.moveByIdFromGroup(a,[],\"qAttributeExpressions\",l),J.moveByIdFromGroup(s,[],\"qAttributeExpressions\",c),i},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.dataDefinition,i=e.defaultPropertyValues,a=e.hypercubePath,s=e.extension,u=e.supportedFilters,l=e.isHCModifierSupported,c=U.importProperties({exportFormat:r,initialProperties:n,dataDefinition:t,defaultPropertyValues:i,hypercubePath:a,extension:s,supportedFilters:u,isHCModifierSupported:l}),p=c.qProperty,f=o.getValue(p,\"visualization\"),m=o.getValue(p,\"qHyperCubeDef.qDimensions\",[]),d=o.getValue(p,\"color.mode\",\"\"),y=o.getValue(p,\"color.auto\",\"\"),q=le(p,f),b=ce({canColorBy:q,autoColor:y,colorMode:d,dimensions:m});return q[d]?me({shouldUpdateColorBy:b,properties:p})&&de(p):ye(p),b&&pe(p,\"qHyperCubeDef.\"),qe(p)&&ue(p,\"color.persistent\",!0),fe(m),c}};var ve=[\"bar\",\"marker\",\"line\"];const De=function(e){var r=e.initialProperties,n=e.properties;r.measureAxis&&void 0===r.measureAxis.autoMinMax?$(n,\"unsupportedAutoMinMax\")||x()(n.measureAxis,r.measureAxis):$(n,\"supportedAutoMinMax\")||x()(n.measureAxis,r.measureAxis)},ge=function(e){var r,n=e.exportFormat,t=e.initialProperties,i=e.properties,o=e.measureType,a=i.qHyperCubeDef,s=i.measureAxis;if(function(e){var r=e.initialProperties;return!(!e.exportFormat.properties.measureAxes||r.measureAxes||!r.measureAxis||void 0===r.measureAxis.autoMinMax)}({exportFormat:n,initialProperties:t})){var u=function(e){var r=[];return e.qMeasures.length>0&&e.qMeasures.forEach((function(e){if(e.qDef.series){var n=e.qDef.series,t=n.type,i=n.axis;r[i]||(r[i]={axis:i,type:{line:0,marker:0,bar:0,total:0}}),ve.includes(t)&&r[i].type[t]++,r[i].type.total++}})),r}(a);u.length?(o&&(r=u.filter((function(e){return e.type[o]>0})).sort((function(e,r){return r.type[o]-e.type[o]}))),r&&r.length||(r=u.sort((function(e,r){return r.type.total-e.type.total}))),r&&r[0]&&x()(s,n.properties.measureAxes[r[0].axis])):x()(s,n.properties.measureAxes[0])}},he=function(e){if(e.qDimensions.length>1){var r=e.qInterColumnSortOrder.indexOf(0);if(0!==r){var n=e.qInterColumnSortOrder[0];e.qInterColumnSortOrder[0]=0,e.qInterColumnSortOrder[r]=n}}},xe={exportProperties:function(e){var r=e.propertyTree,n=e.hypercubePath,t=e.viewDataMode,i=e.supportedAutoMinMax,o=void 0===i||i,a=be.exportProperties({propertyTree:r,hypercubePath:n,viewDataMode:t}),s=a.properties;return o?(g(s,\"measureAxis.min\",\"supportedAutoMinMax\"),g(s,\"measureAxis.max\",\"supportedAutoMinMax\")):(g(s,\"measureAxis.min\",\"unsupportedAutoMinMax\"),g(s,\"measureAxis.max\",\"unsupportedAutoMinMax\")),a},importProperties:function(e){var r=e.exportFormat,n=e.initialProperties,t=e.dataDefinition,i=e.defaultPropertyValues,o=e.hypercubePath,a=e.measureType,s=e.extension,u=e.supportedFilters,l=e.isHCModifierSupported,c=be.importProperties({exportFormat:r,initialProperties:n,dataDefinition:t,defaultPropertyValues:i,hypercubePath:o,extension:s,supportedFilters:u,isHCModifierSupported:l}),p=c.qProperty;return De({initialProperties:n,properties:p}),ge({exportFormat:r,initialProperties:n,properties:p,measureType:a}),he(p.qHyperCubeDef),p.qHyperCubeDef.qColumnOrder=[],p.qHyperCubeDef.columnOrder=[],c}};function Ae(e,r,n){return\"qLayoutExclude.quarantine.\".concat(e,\".\").concat(r,\".\").concat(n)}function Ee(e){var r=e.properties,n=e.arrayPath,t=e.quarantineName,i=e.arrayName,a=e.itemPath;o.getValue(r,n,[]).forEach((function(e){return function(e){var r=e.properties,n=e.quarantineName,t=e.arrayName,i=e.item,a=e.itemPath,s=o.getValue(i,a);if(void 0!==s){var u=o.getValue(i,\"qDef.cId\");u||(u=o.generateId(),o.setValue(i,\"qDef.cId\",u));var l=Ae(n,t,u);o.setValue(r,l,s),o.setValue(i,a,void 0)}}({properties:r,quarantineName:t,arrayName:i,item:e,itemPath:a})}))}function Ce(e){var r=e.properties,n=e.arrayPath,t=e.quarantineName,i=e.arrayName,a=e.itemPath;o.getValue(r,n,[]).forEach((function(e){return function(e){var r=e.properties,n=e.quarantineName,t=e.arrayName,i=e.item,a=e.itemPath,s=o.getValue(i,\"qDef.cId\");if(s){var u=Ae(n,t,s),l=o.getValue(r,u);void 0!==l&&(o.setValue(i,a,l),o.setValue(r,u,void 0))}}({properties:r,quarantineName:t,arrayName:i,item:e,itemPath:a})}))}var Ie=\"qHyperCubeDef.qMeasures\",Se=\"conditionalColoring\",Me=\"measures\",Le=\"qDef.conditionalColoring\";const Oe={quarantine:function(e){Ee({properties:e,arrayPath:Ie,quarantineName:Se,arrayName:Me,itemPath:Le})},unquarantine:function(e){Ce({properties:e,arrayPath:Ie,itemPath:Le,arrayName:Me,quarantineName:Se})}};var Fe=\"qHyperCubeDef.qMeasures\",Pe=\"measures\",Ve=\"qHyperCubeDef.qDimensions\",Ne=\"dimensions\",we=\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qMeasures\",He=\"alternativeMeasures\",Te=\"qHyperCubeDef.qLayoutExclude.qHyperCubeDef.qDimensions\",je=\"alternativeDimensions\",Re=\"qCalcCondition\",_e=\"conditionalShowHide\";const Be={quarantine:function(e){Ee({properties:e,arrayPath:Fe,quarantineName:_e,arrayName:Pe,itemPath:Re}),Ee({properties:e,arrayPath:Ve,quarantineName:_e,arrayName:Ne,itemPath:Re})},unquarantine:function(e){Ce({properties:e,arrayPath:Fe,quarantineName:_e,arrayName:Pe,itemPath:Re}),Ce({properties:e,arrayPath:Ve,quarantineName:_e,arrayName:Ne,itemPath:Re})},quarantineAlternative:function(e){Ee({properties:e,arrayPath:we,quarantineName:_e,arrayName:He,itemPath:Re}),Ee({properties:e,arrayPath:Te,quarantineName:_e,arrayName:je,itemPath:Re})},unquarantineAlternative:function(e){Ce({properties:e,arrayPath:we,quarantineName:_e,arrayName:He,itemPath:Re}),Ce({properties:e,arrayPath:Te,quarantineName:_e,arrayName:je,itemPath:Re})}},ke={hypercube:U,colorChart:be,axisChart:xe,quarantineProperty:g,unquarantineProperty:$,quarantineArrayProp:Ee,unquarantineArrayProp:Ce,conditionalColoring:Oe,conditionalShow:Be}})(),t.default})()));","import extend from 'extend';\nimport conversion from 'qlik-object-conversion';\n\nexport function importProperties({ dataDefinition, defaultPropertyValues, exportFormat, initialProperties }) {\n const propTree = conversion.hypercube.importProperties({\n exportFormat,\n initialProperties,\n dataDefinition,\n defaultPropertyValues,\n });\n\n const props = propTree.qProperty;\n if (props.dimensionAxis.show === 'all') {\n props.dimensionAxis.show = 'labels';\n } else if (props.dimensionAxis.show === 'title') {\n props.dimensionAxis.show = 'none';\n }\n if (props.measureAxis.show === 'all') {\n props.measureAxis.show = 'labels';\n } else if (props.measureAxis.show === 'title') {\n props.measureAxis.show = 'none';\n }\n\n if (props.qHyperCubeDef.qMeasures.length > 0) {\n props.qDef.numFormatFromTemplate = props.qHyperCubeDef.qMeasures[0].qDef.numFormatFromTemplate;\n props.qDef.qNumFormat = props.qHyperCubeDef.qMeasures[0].qDef.qNumFormat;\n props.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = props.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, props.qDef.qNumFormat);\n });\n }\n\n props.qHyperCubeDef.qSuppressZero = false;\n\n return propTree;\n}\n\nexport function exportProperties({ propertyTree, viewDataMode }) {\n const exportFormat = conversion.hypercube.exportProperties({\n propertyTree,\n viewDataMode,\n });\n\n return exportFormat;\n}\n","import properties from './object-properties';\nimport data from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default (env) => {\n const dataDefinition = data(env);\n return {\n properties,\n data: {\n targets: [dataDefinition],\n },\n importProperties({ exportFormat, initialProperties }) {\n return importProperties({ dataDefinition, exportFormat, initialProperties });\n },\n exportProperties,\n };\n};\n","/*\n* qlik-chart-modules v0.94.0\n* Copyright (c) 2025 QlikTech International AB\n* Released under the MIT license.\n*/\n\nfunction e(e){return null!==e&&\"object\"==typeof e&&\"r\"in e&&\"number\"==typeof e.r&&\"g\"in e&&\"number\"==typeof e.g&&\"b\"in e&&\"number\"==typeof e.b&&(\"number\"==typeof e.a||void 0===e.a)}function t(t){if(\"object\"==typeof t&&e(t))return(t.r<<16)+(t.g<<8)+t.b;let n=0,r=0,i=0;if(\"string\"==typeof t){let e;(e=/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(t))?(n=parseInt(e[1],10),r=parseInt(e[2],10),i=parseInt(e[3],10)):(e=/^#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})$/i.exec(t))?(n=parseInt(e[1],16),r=parseInt(e[2],16),i=parseInt(e[3],16)):(e=/^#([A-Fa-f0-9])([A-Fa-f0-9])([A-Fa-f0-9])$/i.exec(t))&&(n=parseInt(e[1]+e[1],16),r=parseInt(e[2]+e[2],16),i=parseInt(e[3]+e[3],16))}return(n<<16)+(r<<8)+i}const n={aliceblue:{r:240,g:248,b:255},antiquewhite:{r:250,g:235,b:215},aqua:{r:0,g:255,b:255},aquamarine:{r:127,g:255,b:212},azure:{r:240,g:255,b:255},beige:{r:245,g:245,b:220},bisque:{r:255,g:228,b:196},black:{r:0,g:0,b:0},blanchedalmond:{r:255,g:235,b:205},blue:{r:0,g:0,b:255},blueviolet:{r:138,g:43,b:226},brown:{r:165,g:42,b:42},burlywood:{r:222,g:184,b:135},cadetblue:{r:95,g:158,b:160},chartreuse:{r:127,g:255,b:0},chocolate:{r:210,g:105,b:30},coral:{r:255,g:127,b:80},cornflowerblue:{r:100,g:149,b:237},cornsilk:{r:255,g:248,b:220},crimson:{r:220,g:20,b:60},cyan:{r:0,g:255,b:255},darkblue:{r:0,g:0,b:139},darkcyan:{r:0,g:139,b:139},darkgoldenrod:{r:184,g:134,b:11},darkgray:{r:169,g:169,b:169},darkgreen:{r:0,g:100,b:0},darkgrey:{r:169,g:169,b:169},darkkhaki:{r:189,g:183,b:107},darkmagenta:{r:139,g:0,b:139},darkolivegreen:{r:85,g:107,b:47},darkorange:{r:255,g:140,b:0},darkorchid:{r:153,g:50,b:204},darkred:{r:139,g:0,b:0},darksalmon:{r:233,g:150,b:122},darkseagreen:{r:143,g:188,b:143},darkslateblue:{r:72,g:61,b:139},darkslategray:{r:47,g:79,b:79},darkslategrey:{r:47,g:79,b:79},darkturquoise:{r:0,g:206,b:209},darkviolet:{r:148,g:0,b:211},deeppink:{r:255,g:20,b:147},deepskyblue:{r:0,g:191,b:255},dimgray:{r:105,g:105,b:105},dimgrey:{r:105,g:105,b:105},dodgerblue:{r:30,g:144,b:255},firebrick:{r:178,g:34,b:34},floralwhite:{r:255,g:250,b:240},forestgreen:{r:34,g:139,b:34},fuchsia:{r:255,g:0,b:255},gainsboro:{r:220,g:220,b:220},ghostwhite:{r:248,g:248,b:255},gold:{r:255,g:215,b:0},goldenrod:{r:218,g:165,b:32},gray:{r:128,g:128,b:128},green:{r:0,g:128,b:0},greenyellow:{r:173,g:255,b:47},grey:{r:128,g:128,b:128},honeydew:{r:240,g:255,b:240},hotpink:{r:255,g:105,b:180},indianred:{r:205,g:92,b:92},indigo:{r:75,g:0,b:130},ivory:{r:255,g:255,b:240},khaki:{r:240,g:230,b:140},lavender:{r:230,g:230,b:250},lavenderblush:{r:255,g:240,b:245},lawngreen:{r:124,g:252,b:0},lemonchiffon:{r:255,g:250,b:205},lightblue:{r:173,g:216,b:230},lightcoral:{r:240,g:128,b:128},lightcyan:{r:224,g:255,b:255},lightgoldenrodyellow:{r:250,g:250,b:210},lightgray:{r:211,g:211,b:211},lightgreen:{r:144,g:238,b:144},lightgrey:{r:211,g:211,b:211},lightpink:{r:255,g:182,b:193},lightsalmon:{r:255,g:160,b:122},lightseagreen:{r:32,g:178,b:170},lightskyblue:{r:135,g:206,b:250},lightslategray:{r:119,g:136,b:153},lightslategrey:{r:119,g:136,b:153},lightsteelblue:{r:176,g:196,b:222},lightyellow:{r:255,g:255,b:224},lime:{r:0,g:255,b:0},limegreen:{r:50,g:205,b:50},linen:{r:250,g:240,b:230},magenta:{r:255,g:0,b:255},maroon:{r:128,g:0,b:0},mediumaquamarine:{r:102,g:205,b:170},mediumblue:{r:0,g:0,b:205},mediumorchid:{r:186,g:85,b:211},mediumpurple:{r:147,g:112,b:219},mediumseagreen:{r:60,g:179,b:113},mediumslateblue:{r:123,g:104,b:238},mediumspringgreen:{r:0,g:250,b:154},mediumturquoise:{r:72,g:209,b:204},mediumvioletred:{r:199,g:21,b:133},midnightblue:{r:25,g:25,b:112},mintcream:{r:245,g:255,b:250},mistyrose:{r:255,g:228,b:225},moccasin:{r:255,g:228,b:181},navajowhite:{r:255,g:222,b:173},navy:{r:0,g:0,b:128},oldlace:{r:253,g:245,b:230},olive:{r:128,g:128,b:0},olivedrab:{r:107,g:142,b:35},orange:{r:255,g:165,b:0},orangered:{r:255,g:69,b:0},orchid:{r:218,g:112,b:214},palegoldenrod:{r:238,g:232,b:170},palegreen:{r:152,g:251,b:152},paleturquoise:{r:175,g:238,b:238},palevioletred:{r:219,g:112,b:147},papayawhip:{r:255,g:239,b:213},peachpuff:{r:255,g:218,b:185},peru:{r:205,g:133,b:63},pink:{r:255,g:192,b:203},plum:{r:221,g:160,b:221},powderblue:{r:176,g:224,b:230},purple:{r:128,g:0,b:128},red:{r:255,g:0,b:0},rosybrown:{r:188,g:143,b:143},royalblue:{r:65,g:105,b:225},saddlebrown:{r:139,g:69,b:19},salmon:{r:250,g:128,b:114},sandybrown:{r:244,g:164,b:96},seagreen:{r:46,g:139,b:87},seashell:{r:255,g:245,b:238},sienna:{r:160,g:82,b:45},silver:{r:192,g:192,b:192},skyblue:{r:135,g:206,b:235},slateblue:{r:106,g:90,b:205},slategray:{r:112,g:128,b:144},slategrey:{r:112,g:128,b:144},snow:{r:255,g:250,b:250},springgreen:{r:0,g:255,b:127},steelblue:{r:70,g:130,b:180},tan:{r:210,g:180,b:140},teal:{r:0,g:128,b:128},thistle:{r:216,g:191,b:216},tomato:{r:255,g:99,b:71},transparent:{r:0,g:0,b:0,a:0},turquoise:{r:64,g:224,b:208},violet:{r:238,g:130,b:238},wheat:{r:245,g:222,b:179},white:{r:255,g:255,b:255},whitesmoke:{r:245,g:245,b:245},yellow:{r:255,g:255,b:0},yellowgreen:{r:154,g:205,b:50}};function r(...t){const r={type:\"qcm-color\",r:0,g:0,b:0,a:1,invalid:!1,spaces:{}};let i=0,o=0,a=0,l=1;if(null!==(s=t[0])&&\"object\"==typeof s&&\"type\"in s&&\"qcm-color\"===s.type)({r:i,g:o,b:a,a:l}=t[0]),r.invalid=t[0].invalid,r.spaces={...t[0].spaces};else if(e(t[0]))({r:i,g:o,b:a}=t[0]),\"a\"in t[0]&&({a:l}=t[0]);else if(t.length<3)if(\"string\"==typeof t[0]){const e=t[0];let s;if(s=/^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(e))i=parseInt(s[1],10),o=parseInt(s[2],10),a=parseInt(s[3],10);else if(s=/^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(e))i=parseInt(s[1],10),o=parseInt(s[2],10),a=parseInt(s[3],10),l=parseFloat(s[4]);else if(s=/^ARGB\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(e))l=parseInt(s[1],10)/255,i=parseInt(s[2],10),o=parseInt(s[3],10),a=parseInt(s[4],10);else if(s=/^#([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})([A-Fa-f0-9]{2})$/i.exec(e))i=parseInt(s[1],16),o=parseInt(s[2],16),a=parseInt(s[3],16),l=1;else if(s=/^#([A-Fa-f0-9])([A-Fa-f0-9])([A-Fa-f0-9])$/i.exec(e))i=parseInt(s[1]+s[1],16),o=parseInt(s[2]+s[2],16),a=parseInt(s[3]+s[3],16),l=1;else if(s=/^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(e)){let e=parseFloat(s[1]),t=parseFloat(s[3]),n=parseFloat(s[5]);e%=360,t/=100,n/=100,e=e<0?0:e>360?360:e,t=t<0?0:t>1?1:t,n=n<0?0:n>1?1:n;const r=n<=.5?2*n*t:(2-2*n)*t;let c=e/60;const u=r*(1-Math.abs(c%2-1));let f=[];switch(c=Math.floor(c),c){case 0:f=[r,u,0];break;case 1:f=[u,r,0];break;case 2:f=[0,r,u];break;case 3:f=[0,u,r];break;case 4:f=[u,0,r];break;case 5:f=[r,0,u];break;default:f=[0,0,0]}const d=n-.5*r;i=f[0]+d,o=f[1]+d,a=f[2]+d,i=Math.round(255*i),o=Math.round(255*o),a=Math.round(255*a),l=1}else if(s=/^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(e)){let e=parseFloat(s[1]),t=parseFloat(s[3]),n=parseFloat(s[5]);l=parseFloat(s[7]),e%=360,t/=100,n/=100,e=e<0?0:e>360?360:e,t=t<0?0:t>1?1:t,n=n<0?0:n>1?1:n;const r=n<=.5?2*n*t:(2-2*n)*t;let c=e/60;const u=r*(1-Math.abs(c%2-1));let f=[];switch(c=Math.floor(c),c){case 0:f=[r,u,0];break;case 1:f=[u,r,0];break;case 2:f=[0,r,u];break;case 3:f=[0,u,r];break;case 4:f=[u,0,r];break;case 5:f=[r,0,u];break;default:f=[0,0,0]}const d=n-.5*r;i=f[0]+d,o=f[1]+d,a=f[2]+d,i=Math.round(255*i),o=Math.round(255*o),a=Math.round(255*a)}else if(s=/^hsv\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(e)){let e=parseFloat(s[1]),t=parseFloat(s[3]),n=parseFloat(s[5]);e%=360,t/=100,n/=100,e=e<0?0:e>360?360:e,t=t<0?0:t>1?1:t,n=n<0?0:n>1?1:n;const r=n*t;let c=e/60;const u=r*(1-Math.abs(c%2-1));let f=[];switch(c=Math.floor(c),c){case 0:f=[r,u,0];break;case 1:f=[u,r,0];break;case 2:f=[0,r,u];break;case 3:f=[0,u,r];break;case 4:f=[u,0,r];break;case 5:f=[r,0,u];break;default:f=[0,0,0]}const d=n-r;i=f[0]+d,o=f[1]+d,a=f[2]+d,i=Math.round(255*i),o=Math.round(255*o),a=Math.round(255*a),l=1}else{const t=e.toLowerCase();if(function(e){return e in n}(t)){const e=n[t];({r:i,g:o,b:a}=e),l=\"a\"in e?e.a:1}else r.invalid=!0}}else\"number\"==typeof t[0]&&t[0]>=0&&\"argb\"===t[1]?(l=(4278190080&t[0])>>>24,l/=255,i=(16711680&t[0])>>16,o=(65280&t[0])>>8,a=255&t[0]):\"number\"==typeof t[0]&&t[0]>=0?(i=(16711680&t[0])>>16,o=(65280&t[0])>>8,a=255&t[0]):r.invalid=!0;else 3===t.length||4===t.length?(i=t[0],o=t[1],a=t[2],l=4===t.length?t[3]:1):r.invalid=!0;var s;return Number.isNaN(+i+o+a+l)&&(r.invalid=!0),r.r=Math.floor(i),r.g=Math.floor(o),r.b=Math.floor(a),r.a=l,r}function i(n){let r,i,o;if(e(n))return r=n.r.toString(16),i=n.g.toString(16),o=n.b.toString(16),1===r.length&&(r=`0${r}`),1===i.length&&(i=`0${i}`),1===o.length&&(o=`0${o}`),`#${[r,i,o].join(\"\")}`;const a=\"string\"==typeof n?t(n):n;return r=((16711680&a)>>16).toString(16),i=((65280&a)>>8).toString(16),o=(255&a).toString(16),1===r.length&&(r=`0${r}`),1===i.length&&(i=`0${i}`),1===o.length&&(o=`0${o}`),`#${r}${i}${o}`}function o(e){let t,n,i=0;const o=\"string\"==typeof e?r(e):e,a=o.r/255,l=o.g/255,s=o.b/255,c=Math.max(a,l,s),u=Math.min(a,l,s),f=(c+u)/2;if(c===u)t=0,i=0;else{switch(n=c-u,t=f>.5?n/(2-c-u):n/(c+u),c){case a:i=(l-s)/n+(l<s?6:0);break;case l:i=(s-a)/n+2;break;case s:i=(a-l)/n+4}i/=6}return`hsl(${360*i}, ${100*t}, ${100*f})`}function a(e){let t,n,i=0;const o=\"string\"==typeof e?r(e):e,a=o.r/255,l=o.g/255,s=o.b/255,{a:c}=o,u=Math.max(a,l,s),f=Math.min(a,l,s),d=(u+f)/2;if(u===f)t=0,i=0;else{switch(n=u-f,t=d>.5?n/(2-u-f):n/(u+f),u){case a:i=(l-s)/n+(l<s?6:0);break;case l:i=(s-a)/n+2;break;case s:i=(a-l)/n+4}i/=6}return{h:360*i,s:100*t,l:100*d,a:c}}function l(e){const{h:t,s:n,l:r,a:i}=a(e);return`hsla(${t}, ${n}, ${r}, ${i})`}function s(e){let t,n,i=0;const o=\"string\"==typeof e?r(e):e,a=o.r/255,l=o.g/255,s=o.b/255,c=Math.max(a,l,s),u=Math.min(a,l,s),f=c;if(c===u)t=0,i=0;else{switch(n=c-u,t=0===n?0:n/f,c){case a:i=(l-s)/n+(l<s?6:0);break;case l:i=(s-a)/n+2;break;case s:i=(a-l)/n+4}i/=6}return{h:360*i%360,s:100*t,v:100*f}}function c(e){const{h:t,s:n,v:r}=s(e);return`hsv(${t}, ${n}, ${r})`}function u(n){if(e(n))return`rgb(${n.r}, ${n.g}, ${n.b})`;const r=\"string\"==typeof n?t(n):n;return`rgb(${(16711680&r)>>16}, ${(65280&r)>>8}, ${255&r})`}function f(t,n){return e(t)?`rgba(${t.r}, ${t.g}, ${t.b}, ${void 0!==n?n:t.a})`:f(r(t),n)}function d(t){return e(t)?1===t.a?u(t):f(t):d(r(t))}const p=e=>{const t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};function h(e){return.2126*p(e.r)+.7152*p(e.g)+.0722*p(e.b)}function m(...e){const t=r(...e);return t.invalid||h(t)<.4}function g(...e){const t=r(...e),n={type:t.type,r:t.r,g:t.g,b:t.b,a:t.a,invalid:t.invalid,spaces:t.spaces},p=()=>(n.spaces.hslaObject||(n.spaces.hslaObject=a(n)),n.spaces.hslaObject),h=e=>{const t=p(),{h:n,s:r,l:i,a:o}=t;return`hsla(${n}, ${r}, ${Math.max(0,Math.min(i+e,100))}, ${o})`};return{get type(){return n.type},isInvalid:()=>n.invalid,get r(){return n.r},get g(){return n.g},get b(){return n.b},get a(){return n.a},getR:()=>n.r,getG:()=>n.g,getB:()=>n.b,getAlpha:()=>n.a,setAlpha:e=>{n.a=e,n.spaces={}},isEqualTo:e=>{let t;if(\"string\"==typeof e)t=r(e);else{if(e.type!==n.type)return!1;t=e}return t.r===n.r&&t.g===n.g&&t.b===n.b&&t.a===n.a},isDark:()=>m(n),getRGB:()=>(n.spaces.rgb||(n.spaces.rgb=u(n)),n.spaces.rgb),getRGBA:()=>(n.spaces.rgba||(n.spaces.rgba=f(n)),n.spaces.rgba),getString:()=>(n.spaces.string||(n.spaces.string=d(n)),n.spaces.string),getHex:()=>(n.spaces.hex||(n.spaces.hex=i(n)),n.spaces.hex),getHSL:()=>(n.spaces.hsl||(n.spaces.hsl=o(n)),n.spaces.hsl),getHSLA:()=>(n.spaces.hsla||(n.spaces.hsla=l(n)),n.spaces.hsla),getHSLAObject:p,getShiftedHSLA:h,getHSV:()=>(n.spaces.hsv||(n.spaces.hsv=c(n)),n.spaces.hsv),getHSVObject:()=>(n.spaces.hsvObject||(n.spaces.hsvObject=s(n)),n.spaces.hsvObject),blend:(e,t)=>`rgba(${Math.floor(n.r+(e.r-n.r)*t)}, ${Math.floor(n.g+(e.g-n.g)*t)}, ${Math.floor(n.b+(e.b-n.b)*t)}, ${Math.floor(n.a+(e.getAlpha()-n.a)*t)})`,getBrightenedColor:(e=1)=>g(h(18*e)),getDarkenedColor:(e=1)=>g(h(18*-e))}}function v(e,t){if(!e||!t)return;const n=h(e),r=h(t);return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)}function y(e,t,n){const r=v(e,t),i=v(e,n);if(void 0!==r&&void 0!==i)return r>i?t:n}function b(e,t){const n=g(\"#FFFFFF\"),r=g(e),i=g(t);if(r.isInvalid()||i.isInvalid()||r.getAlpha()<1||i.getAlpha()<1)return t;const o=v(n,r),a=v(i,r),l=o>a||o>4.5;return!l&&a>3?i.getHex():l?\"#FFFFFF\":\"#000000\"}function x(e,t,n){return g(e.r+(t.r-e.r)*n,e.g+(t.g-e.g)*n,e.b+(t.b-e.b)*n,e.a+(t.a-e.a)*n)}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function w(e,t,n,r,i,o,a){try{var l=e[o](a),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,i)}function k(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){w(o,r,i,a,l,\"next\",e)}function l(e){w(o,r,i,a,l,\"throw\",e)}a(void 0)}))}}function C(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function D(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function O(){O=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,i=\"function\"==typeof Symbol?Symbol:{},o=i.iterator||\"@@iterator\",a=i.asyncIterator||\"@@asyncIterator\",l=i.toStringTag||\"@@toStringTag\";function s(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r})}try{s({},\"\")}catch(e){s=function(e,t,n){return e[t]=n}}function c(t,n,r,i){var o=n&&n.prototype instanceof d?n:d,a=Object.create(o.prototype);return s(a,\"_invoke\",function(t,n,r){var i=1;return function(o,a){if(3===i)throw Error(\"Generator is already running\");if(4===i){if(\"throw\"===o)throw a;return{value:e,done:!0}}for(r.method=o,r.arg=a;;){var l=r.delegate;if(l){var s=q(l,r);if(s){if(s===f)continue;return s}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(1===i)throw i=4,r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);i=3;var c=u(t,n,r);if(\"normal\"===c.type){if(i=r.done?4:2,c.arg===f)continue;return{value:c.arg,done:r.done}}\"throw\"===c.type&&(i=4,r.method=\"throw\",r.arg=c.arg)}}}(t,r,new C(i||[])),!0),a}function u(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}t.wrap=c;var f={};function d(){}function p(){}function h(){}var m={};s(m,o,(function(){return this}));var g=Object.getPrototypeOf,v=g&&g(g(M([])));v&&v!==n&&r.call(v,o)&&(m=v);var y=h.prototype=d.prototype=Object.create(m);function b(e){[\"next\",\"throw\",\"return\"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(i,o,a,l){var s=u(e[i],e,o);if(\"throw\"!==s.type){var c=s.arg,f=c.value;return f&&\"object\"==typeof f&&r.call(f,\"__await\")?t.resolve(f.__await).then((function(e){n(\"next\",e,a,l)}),(function(e){n(\"throw\",e,a,l)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return n(\"throw\",e,a,l)}))}l(s.arg)}var i;s(this,\"_invoke\",(function(e,r){function o(){return new t((function(t,i){n(e,r,t,i)}))}return i=i?i.then(o,o):o()}),!0)}function q(t,n){var r=n.method,i=t.i[r];if(i===e)return n.delegate=null,\"throw\"===r&&t.i.return&&(n.method=\"return\",n.arg=e,q(t,n),\"throw\"===n.method)||\"return\"!==r&&(n.method=\"throw\",n.arg=new TypeError(\"The iterator does not provide a '\"+r+\"' method\")),f;var o=u(i,t.i,n.arg);if(\"throw\"===o.type)return n.method=\"throw\",n.arg=o.arg,n.delegate=null,f;var a=o.arg;return a?a.done?(n[t.r]=a.value,n.next=t.n,\"return\"!==n.method&&(n.method=\"next\",n.arg=e),n.delegate=null,f):a:(n.method=\"throw\",n.arg=new TypeError(\"iterator result is not an object\"),n.delegate=null,f)}function w(e){this.tryEntries.push(e)}function k(t){var n=t[4]||{};n.type=\"normal\",n.arg=e,t[4]=n}function C(e){this.tryEntries=[[-1]],e.forEach(w,this),this.reset(!0)}function M(t){if(null!=t){var n=t[o];if(n)return n.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(typeof t+\" is not iterable\")}return p.prototype=h,s(y,\"constructor\",h),s(h,\"constructor\",p),s(h,l,p.displayName=\"GeneratorFunction\"),t.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===p||\"GeneratorFunction\"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,l,\"GeneratorFunction\")),e.prototype=Object.create(y),e},t.awrap=function(e){return{__await:e}},b(x.prototype),s(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var a=new x(c(e,n,r,i),o);return t.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(y),s(y,l,\"Generator\"),s(y,o,(function(){return this})),s(y,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}},t.values=M,C.prototype={constructor:C,reset:function(t){if(this.prev=this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=e,this.tryEntries.forEach(k),!t)for(var n in this)\"t\"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0][4];if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(e){a.type=\"throw\",a.arg=t,n.next=e}for(var i=n.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o[4],l=this.prev,s=o[1],c=o[2];if(-1===o[0])return r(\"end\"),!1;if(!s&&!c)throw Error(\"try statement without catch or finally\");if(null!=o[0]&&o[0]<=l){if(l<s)return this.method=\"next\",this.arg=e,r(s),!0;if(l<c)return r(c),!1}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r[0]>-1&&r[0]<=this.prev&&this.prev<r[2]){var i=r;break}}i&&(\"break\"===e||\"continue\"===e)&&i[0]<=t&&t<=i[2]&&(i=null);var o=i?i[4]:{};return o.type=e,o.arg=t,i?(this.method=\"next\",this.next=i[2],f):this.complete(o)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n[2]===e)return this.complete(n[4],n[3]),k(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n[0]===e){var r=n[4];if(\"throw\"===r.type){var i=r.arg;k(n)}return i}}throw Error(\"illegal catch attempt\")},delegateYield:function(t,n,r){return this.delegate={i:M(t),r:n,n:r},\"next\"===this.method&&(this.arg=e),f}},t}function I(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,i,o,a,l=[],s=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=o.call(n)).done)&&(l.push(r.value),l.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||T(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function E(e){return function(e){if(Array.isArray(e))return q(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function A(e){return A=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},A(e)}function T(e,t){if(e){if(\"string\"==typeof e)return q(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,t):void 0}}var N=[\"American Typewriter, serif\",\"Andalé Mono, monospace\",\"Arial Black, sans-serif\",\"Arial, sans-serif\",\"Bradley Hand, cursive\",\"Brush Script MT, cursive\",\"Comic Sans MS, cursive\",\"Courier, monospace\",\"Didot, serif\",\"Georgia, serif\",\"Impact, sans-serif\",\"Lucida Console, monospace\",\"Luminari, fantasy\",\"Monaco, monospace\",\"QlikView Sans, sans-serif\",\"Source Sans Pro, sans-serif\",\"Tahoma, sans-serif\",\"Times New Roman, serif\",\"Trebuchet MS, sans-serif\",\"Verdana, sans-serif\"],L=[\"Abril Fatface, serif\",\"Bangers, fantasy\",\"Bebas Neue, sans serif\",\"EB Garamond, serif\",\"Fredoka One, fantasy\",\"Graduate, fantasy\",\"Gravitas One, serif\",\"Indie Flower, fantasy\",\"Inter, sans-serif\",\"Lobster, fantasy\",\"Montserrat, sans-serif\",\"Nixie One, sans-serif\",\"Noto Sans, sans-serif\",\"Open Sans, sans-serif\",\"PT Serif, serif\",\"Pacifico, cursive\",\"Permanent Marker, fantasy\",\"QlikView Sans, sans-serif\",\"Raleway, sans-serif\",\"Rammetto One, fantasy\",\"Roboto, sans-serif\",\"Source Sans Pro, sans-serif\",\"Titan One, fantasy\",\"Yanone Kaffeesatz, sans-serif\"];function P(e){return null!=e&&e.isEnabled(\"PS_20852_WYSIWYG_FONT_SUPPORT\")?L:N}var j=function(e){return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),groupHeader:!1,disabled:!1,styles:{fontFamily:e}}};function F(e){var t=e.theme,n=e.translator,r=e.defaultValue,i=e.flags,o=[],a=t.getStyle(\"\",\"\",\"fontFamilies\");return Array.isArray(a)&&a.length?o.push.apply(o,E(new Set([r].concat(E(a.map((function(e){return e.split(\",\").map((function(e){return e.trim()})).map((function(e){return e.replace(/\\s+/g,\" \").trim()})).filter(Boolean).join(\", \")}))))))):o.push(r),[{value:\"ThemeHeader\",label:n.get(\"properties.themeFonts\"),metaText:n.get(\"properties.theme\"),groupHeader:!0}].concat(E(o.map((function(e){return j(e)}))),[{value:\"DefaultHeader\",label:n.get(\"properties.allFonts\"),metaText:n.get(\"properties.default\"),groupHeader:!0}],E(P(i).map((function(e){return j(e)}))))}function H(e){var t=e.theme,n=e.translator,r=e.id,i=e.path,o=e.flags,a=function(){return t.getStyle(r,i,\"fontFamily\")};return{getDefaultValue:function(){return a()},getOptions:function(){return F({theme:t,translator:n,defaultValue:a(),flags:o})}}}var z=[\"10px\",\"11px\",\"12px\",\"13px\",\"14px\",\"15px\",\"16px\",\"17px\",\"18px\",\"19px\",\"20px\",\"21px\",\"22px\",\"23px\",\"24px\"],R=function(e){return{value:e,label:e,groupHeader:!1,disabled:!1}};function V(e){var t=e.theme,n=e.translator,r=e.id,i=e.path,o=function(){return t.getStyle(r,i,\"fontSize\")};return{getDefaultValue:function(){return o()},getOptions:function(){return function(e){var t=e.theme,n=e.translator,r=e.defaultValue,i=[],o=t.getStyle(\"\",\"\",\"fontSizes\");return Array.isArray(o)&&o.length?i.push.apply(i,E(new Set([r].concat(E(o))))):i.push(r),[{value:\"ThemeHeader\",label:n.get(\"properties.themeFontSizes\"),metaText:n.get(\"properties.theme\"),groupHeader:!0}].concat(E(i.map((function(e){return R(e)}))),[{value:\"DefaultHeader\",label:n.get(\"properties.allFontSizes\"),metaText:n.get(\"properties.default\"),groupHeader:!0}],E(z.map((function(e){return R(e)}))))}({theme:t,translator:n,defaultValue:o()})}}}function $(e){var t=e.theme,n=e.translator,r=e.id,i=e.path;return{fontFamily:H({theme:t,translator:n,id:r,path:i,flags:e.flags}),fontSize:V({theme:t,translator:n,id:r,path:i})}}function _(e){var t=e.theme,n=e.translator,r=e.config,i=void 0===r?{}:r,o=e.flags,a=function(e){var t=e.config,n=void 0===t?{}:t,r=n.id,i=n.paths;return{id:void 0===r?\"object\":\"\".concat(\"object\",\".\").concat(r),paths:Array.isArray(i)?i:[]}}({config:i}),l=a.id,s=a.paths,c={};s.forEach((function(e){for(var r=e.split(\".\"),i=c,a=0;a<r.length;a++){var s=r[a];a===r.length-1?i[s]=$({theme:t,translator:n,id:l,path:e,flags:o}):void 0===i[s]&&(i[s]={}),i=i[s]}}));var u=function(e){for(var t=e.split(\".\"),n=c,r=0;r<t.length;r++){var i=t[r];if(void 0===n[i])throw new Error(\"font-resolver: Path '\".concat(e,\"' could not be resolved.\"));n=n[i]}return n};return c.getDefaultValue=function(e){return u(e).getDefaultValue()},c.getOptions=function(e){return u(e).getOptions()},c}var B,K,Y={\"auto-chart\":{descriptionKey:\"Template.preview.description.auto-chart\",translationKey:\"Object.AutoChart\",icon:\"effects\",iconChar:\"effects\"},\"dummy-chart\":{descriptionKey:\"Dummy\",translationKey:\"Dummy\",icon:\"effects\",iconChar:\"effects\"},barchart:{descriptionKey:\"Template.preview.description.barchart\",translationKey:\"Object.BarChart\",icon:\"bar-chart\",iconChar:\"bar_chart\"},combochart:{descriptionKey:\"Template.preview.description.combochart\",translationKey:\"Object.ComboChart\",icon:\"combo-chart\",iconChar:\"combo_chart\"},container:{descriptionKey:\"Template.preview.description.container\",translationKey:\"Object.Container\",icon:\"box\",iconChar:\"box\"},distributionplot:{descriptionKey:\"Template.preview.description.distributionplot\",translationKey:\"Object.DistributionPlot\",icon:\"distributionplot\",iconChar:\"distributionplot\"},boxplot:{descriptionKey:\"Template.preview.description.boxplot\",translationKey:\"Object.BoxPlot\",icon:\"boxplot\",iconChar:\"boxplot\"},filterpane:{descriptionKey:\"Template.preview.description.filterpane\",translationKey:\"Object.FilterPane\",icon:\"filterpane\",iconChar:\"filterpane\"},gauge:{descriptionKey:\"Template.preview.description.gauge\",translationKey:\"Object.Gauge\",icon:\"gauge-chart\",iconChar:\"gauge_chart\"},histogram:{descriptionKey:\"Template.preview.description.histogram\",translationKey:\"Object.Histogram\",icon:\"histogram\",iconChar:\"histogram\"},kpi:{descriptionKey:\"Template.preview.description.kpi\",translationKey:\"Object.Kpi\",icon:\"kpi\",iconChar:\"kpi\"},linechart:{descriptionKey:\"Template.preview.description.linechart\",translationKey:\"Object.LineChart\",icon:\"line-chart-line\",iconChar:\"line_chart\"},listbox:{descriptionKey:\"Template.preview.description.listbox\",translationKey:\"Object.Listbox\",icon:\"list\",iconChar:\"list\"},piechart:{descriptionKey:\"Template.preview.description.piechart\",translationKey:\"Object.PieChart\",icon:\"pie-chart\",iconChar:\"pie_chart\"},\"pivot-table\":{descriptionKey:\"Template.preview.description.pivot-table\",translationKey:\"Object.PivotTable\",icon:\"pivot-table\",iconChar:\"pivot_table\"},map:{descriptionKey:\"Template.preview.description.map\",translationKey:\"Object.Map\",icon:\"map\",iconChar:\"map\"},scatterplot:{descriptionKey:\"Template.preview.description.scatterplot\",translationKey:\"Object.ScatterPlot\",icon:\"scatter-chart\",iconChar:\"scatter_chart\"},table:{descriptionKey:\"Template.preview.description.table\",translationKey:\"Object.Table\",icon:\"table\",iconChar:\"table\"},\"text-image\":{descriptionKey:\"Template.preview.description.text-image\",translationKey:\"Object.TextImage\",icon:\"text-object\",iconChar:\"text\"},treemap:{descriptionKey:\"Template.preview.description.treemap\",translationKey:\"Object.Treemap\",icon:\"treemap\",iconChar:\"treemap\"},waterfallchart:{descriptionKey:\"Template.preview.description.waterfallchart\",translationKey:\"Object.WaterfallChart\",icon:\"waterfallchart\",iconChar:\"waterfallchart\"},mekkochart:{descriptionKey:\"Template.preview.description.mekkochart\",translationKey:\"Object.MekkoChart\",icon:\"marimekko\",iconChar:\"marimekko\"},\"action-button\":{descriptionKey:\"Template.preview.description.actionbutton\",translationKey:\"Object.ActionButton\",icon:\"button\",iconChar:\"align-object-center\"},bulletchart:{descriptionKey:\"Template.preview.description.bulletchart\",translationKey:\"Object.BulletChart\",icon:\"bullet-chart\",iconChar:\"bullet-chart\"},\"sn-nlg-chart\":{descriptionKey:\"Template.preview.description.nlgchart\",translationKey:\"Object.NlgChart\",icon:\"natural-language-generation\",iconChar:\"natural-language-generation\"},\"sn-analysis-autochart\":{descriptionKey:\"Template.preview.description.analysis.autochart\",translationKey:\"Common.AnalysisTypes\",icon:\"analysis-types\",iconChar:\"analysis-types\"},\"sn-tabbed-container\":{descriptionKey:\"Object.Container\",translationKey:\"Object.Container\",icon:\"tabbed-container\",iconChar:\"tabbed-container\"},\"third-party-and-fallback\":{icon:\"puzzle\",iconChar:\"puzzle\"}},U={puzzle:\"PuzzleOutline\",effects:\"Effects\",\"bar-chart\":\"BarChartOutline\",\"bars-grouped\":\"BarsGroupedOutline\",\"bars-stacked\":\"BarsStacked\",\"combo-chart\":\"ComboChartOutline\",box:\"BoxOutline\",distributionplot:\"DistributionPlotOutline\",boxplot:\"Boxplot\",filterpane:\"FilterpaneOutline\",\"gauge-chart\":\"GaugeChartOutline\",histogram:\"HistogramOutline\",kpi:\"KpiOutline\",\"line-chart\":\"LineChartLineOutline\",\"line-chart-line\":\"LineChartLine\",\"line-chart-area\":\"LineChartAreaOutline\",list:\"List\",\"pie-chart\":\"PieChartOutline\",\"pie-chart-donut\":\"PieChartDonutOutline\",\"pivot-table\":\"PivotTableOutline\",map:\"MapOutline\",\"scatter-chart\":\"ScatterChartOutline\",table:\"TableOutline\",\"text-object\":\"TextObject\",treemap:\"TreemapOutline\",waterfallchart:\"WaterfallChartOutline\",marimekko:\"Marimekko\",button:\"ButtonOutline\",bulletChart:\"BulletChartOutline\",\"natural-language-generation\":\"NaturalLanguageGeneration\",calendar:\"Calendar\",play:\"Play\",filter:\"Filter2\",\"grid-ghart\":\"GridChartOutline\",bubbles:\"AssociationOutline\",\"org-chart\":\"OrgChartOutline\",\"auto-layout\":\"AutoLayoutOutline\",stream:\"Stream\",grid:\"GridOutline\",\"line-object\":\"LineObject\",control:\"ControlOutline\",video:\"VideoOutline\",slideShow:\"SlideshowOutline\",text:\"Text\",more:\"More\",\"layout-container\":\"LayoutContainerOutline\",\"tabbed-container\":\"TabbedContainerOutline\",code:\"CodeOutline\",\"sn-table\":\"TableOutline\"},G=function(e){var t;return function(e){var t;return null!==(t=U[e])&&void 0!==t?t:U.puzzle}(null===(t=Y[e])||void 0===t?void 0:t.icon)};function W(e){return X.apply(this,arguments)}function X(){return(X=k(O().mark((function e(t){var n,r,i,o;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.app,r=t.items,n.evaluate){e.next=3;break}return e.abrupt(\"return\",r);case 3:return e.next=5,Promise.all(r.filter((function(e){var t;return!(null===(t=e.qCalcCondition)||void 0===t||null===(t=t.qCond)||void 0===t||!t.qv)})).map((function(e){var t=e.qCalcCondition.qCond.qv;return n.evaluate(t).then((function(t){return\"0\"===t?e.qDef.cId:void 0})).catch((function(){return e.qDef.cId}))})));case 5:return i=e.sent,o=i.filter(Boolean),e.abrupt(\"return\",r.filter((function(e){return!o.includes(e.qDef.cId)})));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function Z(e){var t=e.app,n=e.translator,r=e.dimension,i={id:r.qDef.cId,text:n.get(\"Object.ErrorMessage.MissingDimension\"),meta:{}},o=r.qLibraryId;if(o)return t.getDimension?t.getDimension(o).then((function(e){return e.getLayout()})).catch((function(){})).then((function(e){if(!e)return i;var t=e.qDim,n=t.qGrouping,o=t.qLabelExpression,a=\"C\"===n,l=\"H\"===n,s=\"N\"===n;return{id:r.qDef.cId,text:o&&s?o:e.qDim.title,meta:{isCyclic:a,isDrillDown:l,isNormal:s}}})):i;var a=r.qDef,l=a.cId,s=a.qLabelExpression,c=a.qFieldLabels,u=a.qFieldDefs,f={isCyclic:!1,isDrillDown:!1,isNormal:!0};return s?t.evaluate?t.evaluate(s).then((function(e){return{id:l,text:e,meta:f}})):i:{id:l,text:c[0]||u[0],meta:f}}function J(e){return Q.apply(this,arguments)}function Q(){return(Q=k(O().mark((function e(t){var n,r,i,o,a,l,s,c;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.app,i=t.translator,o=t.properties,a=(null==o||null===(n=o.qHyperCubeDef)||void 0===n||null===(n=n.qLayoutExclude)||void 0===n?void 0:n.qHyperCubeDef)||{},l=a.qDimensions,(s=void 0===l?[]:l).length){e.next=4;break}return e.abrupt(\"return\",Promise.resolve([]));case 4:return e.next=6,W({app:r,items:s});case 6:return c=e.sent,e.abrupt(\"return\",Promise.all(c.map((function(e){return Z({app:r,translator:i,dimension:e})}))));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function ee(e){var t=e.app,n=e.translator,r=e.measure,i={id:r.qDef.cId,text:n.get(\"Object.ErrorMessage.MissingMeasure\")},o=r.qLibraryId;if(o)return t.getMeasure?t.getMeasure(o).then((function(e){return e.getLayout()})).catch((function(){})).then((function(e){if(!e)return i;var t=e.qMeasure.qLabelExpression;return{id:r.qDef.cId,text:t||e.qMeasure.qLabel||e.qMeasure.qDef}})):i;var a=r.qDef,l=a.cId,s=a.qLabelExpression,c=a.qLabel,u=a.qDef;return s?t.evaluate?t.evaluate(s).then((function(e){return{id:l,text:e}})):i:{id:l,text:c||u}}function te(e){return ne.apply(this,arguments)}function ne(){return(ne=k(O().mark((function e(t){var n,r,i,o,a,l,s,c;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.app,i=t.translator,o=t.properties,a=(null==o||null===(n=o.qHyperCubeDef)||void 0===n||null===(n=n.qLayoutExclude)||void 0===n?void 0:n.qHyperCubeDef)||{},l=a.qMeasures,(s=void 0===l?[]:l).length){e.next=4;break}return e.abrupt(\"return\",Promise.resolve([]));case 4:return e.next=6,W({app:r,items:s});case 6:return c=e.sent,e.abrupt(\"return\",Promise.all(c.map((function(e){return ee({app:r,translator:i,measure:e})}))));case 8:case\"end\":return e.stop()}}),e)})))).apply(this,arguments)}function re(e){var t,n=e.app,r=e.translator,i={initialized:!1,dimensions:[],measures:[]};return{initialize:(t=k(O().mark((function e(t){var o,a,l,s,c,u,f;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.properties,!i.initialized){e.next=3;break}return e.abrupt(\"return\");case 3:return l=[J(a={app:n,translator:r,properties:o}),te(a)],e.next=7,Promise.all(l);case 7:s=e.sent,c=I(s,2),u=c[0],f=c[1],i.dimensions=u,i.measures=f,i.initialized=!0;case 12:case\"end\":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)}),getAlternatives:function(){return{dimensions:E(i.dimensions),measures:E(i.measures)}}}}function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var oe=function(){if(K)return B;K=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},o=function(n){if(!n||\"[object Object]\"!==t.call(n))return!1;var r,i=e.call(n,\"constructor\"),o=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,\"isPrototypeOf\");if(n.constructor&&!i&&!o)return!1;for(r in n);return void 0===r||e.call(n,r)},a=function(e,t){n&&\"__proto__\"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(t,n){if(\"__proto__\"===n){if(!e.call(t,n))return;if(r)return r(t,n).value}return t[n]};return B=function e(){var t,n,r,s,c,u,f=arguments[0],d=1,p=arguments.length,h=!1;for(\"boolean\"==typeof f&&(h=f,f=arguments[1]||{},d=2),(null==f||\"object\"!=typeof f&&\"function\"!=typeof f)&&(f={});d<p;++d)if(null!=(t=arguments[d]))for(n in t)r=l(f,n),f!==(s=l(t,n))&&(h&&s&&(o(s)||(c=i(s)))?(c?(c=!1,u=r&&i(r)?r:[]):u=r&&o(r)?r:{},a(f,{name:n,newValue:e(h,u,s)})):void 0!==s&&a(f,{name:n,newValue:s}));return f},B}(),ae=ie(oe);function le(e,t){return{range:function(e){var n=e.resources,r=e.data,i=n.theme.palette(\"categorical\",0===t?r.items.length:t);return r.items.map((function(e){return i[e.value%i.length]}))},valueAccessor:e.value}}function se(e,t){return{range:function(e){var n=e.resources,r=e.data,i=n.theme.palette(\"categorical\",0===t?r.items.length:t);return r.items.map((function(e){return i[e.row.value%i.length]}))},valueAccessor:e.value}}function ce(e,t,n,r,i){var o,a,l=i.byRow,s=i.byElemNo;if(r&&(t.input.persistent||e.hc.qDimensionInfo.length>1||void 0===n.activeDimensionIndex&&e.hc.qSize.qcy>(o=e.hc,(null===(a=o.qDataPages[0]||o.qStackedDataPages[0])||void 0===a?void 0:a.qArea.qHeight)||0)))return s(r,r.raw().qCardinal);if(r){var c=t.pic.extract({field:r.key(),trackBy:r.value}).length;return l(r,c)}return{}}function ue(e,t){var n=e.hc.qDimensionInfo,r=t.input.byDimDef||{activeDimensionIndex:n.length-1};if(r.activeDimensionIndex>=0){var i=n[r.activeDimensionIndex];r=i.coloring&&i.coloring.colorMapRef?{type:\"libraryItem\",key:i.coloring.colorMapRef,activeDimensionIndex:r.activeDimensionIndex}:{activeDimensionIndex:r.activeDimensionIndex}}return r}function fe(e,t){var n;return t.activeDimensionIndex>=0?n=e.pic.fields().filter((function(e){return\"dimension\"===e.type()}))[t.activeDimensionIndex]:\"libraryItem\"===t.type?!1===(n=t.key?e.pic.field((function(e){return e.raw().colorMapRef===t.key})):void 0)&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n}function de(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function pe(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function he(){}var me=1/.7,ge=\"\\\\s*([+-]?\\\\d+)\\\\s*\",ve=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",ye=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",be=/^#([0-9a-f]{3,8})$/,xe=new RegExp(`^rgb\\\\(${ge},${ge},${ge}\\\\)$`),qe=new RegExp(`^rgb\\\\(${ye},${ye},${ye}\\\\)$`),we=new RegExp(`^rgba\\\\(${ge},${ge},${ge},${ve}\\\\)$`),ke=new RegExp(`^rgba\\\\(${ye},${ye},${ye},${ve}\\\\)$`),Ce=new RegExp(`^hsl\\\\(${ve},${ye},${ye}\\\\)$`),Me=new RegExp(`^hsla\\\\(${ve},${ye},${ye},${ve}\\\\)$`),Se={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function De(){return this.rgb().formatHex()}function Oe(){return this.rgb().formatRgb()}function Ie(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=be.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Ee(t):3===n?new Le(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Ae(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Ae(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=xe.exec(e))?new Le(t[1],t[2],t[3],1):(t=qe.exec(e))?new Le(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=we.exec(e))?Ae(t[1],t[2],t[3],t[4]):(t=ke.exec(e))?Ae(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Ce.exec(e))?Re(t[1],t[2]/100,t[3]/100,1):(t=Me.exec(e))?Re(t[1],t[2]/100,t[3]/100,t[4]):Se.hasOwnProperty(e)?Ee(Se[e]):\"transparent\"===e?new Le(NaN,NaN,NaN,0):null}function Ee(e){return new Le(e>>16&255,e>>8&255,255&e,1)}function Ae(e,t,n,r){return r<=0&&(e=t=n=NaN),new Le(e,t,n,r)}function Te(e){return e instanceof he||(e=Ie(e)),e?new Le((e=e.rgb()).r,e.g,e.b,e.opacity):new Le}function Ne(e,t,n,r){return 1===arguments.length?Te(e):new Le(e,t,n,null==r?1:r)}function Le(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function Pe(){return`#${ze(this.r)}${ze(this.g)}${ze(this.b)}`}function je(){const e=Fe(this.opacity);return`${1===e?\"rgb(\":\"rgba(\"}${He(this.r)}, ${He(this.g)}, ${He(this.b)}${1===e?\")\":`, ${e})`}`}function Fe(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function He(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ze(e){return((e=He(e))<16?\"0\":\"\")+e.toString(16)}function Re(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $e(e,t,n,r)}function Ve(e){if(e instanceof $e)return new $e(e.h,e.s,e.l,e.opacity);if(e instanceof he||(e=Ie(e)),!e)return new $e;if(e instanceof $e)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,l=o-i,s=(o+i)/2;return l?(a=t===o?(n-r)/l+6*(n<r):n===o?(r-t)/l+2:(t-n)/l+4,l/=s<.5?o+i:2-o-i,a*=60):l=s>0&&s<1?0:a,new $e(a,l,s,e.opacity)}function $e(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function _e(e){return(e=(e||0)%360)<0?e+360:e}function Be(e){return Math.max(0,Math.min(1,e||0))}function Ke(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}de(he,Ie,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:De,formatHex:De,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Ve(this).formatHsl()},formatRgb:Oe,toString:Oe}),de(Le,Ne,pe(he,{brighter(e){return e=null==e?me:Math.pow(me,e),new Le(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new Le(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Le(He(this.r),He(this.g),He(this.b),Fe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Pe,formatHex:Pe,formatHex8:function(){return`#${ze(this.r)}${ze(this.g)}${ze(this.b)}${ze(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:je,toString:je})),de($e,(function(e,t,n,r){return 1===arguments.length?Ve(e):new $e(e,t,n,null==r?1:r)}),pe(he,{brighter(e){return e=null==e?me:Math.pow(me,e),new $e(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new $e(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Le(Ke(e>=240?e-240:e+120,i,r),Ke(e,i,r),Ke(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new $e(_e(this.h),Be(this.s),Be(this.l),Fe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Fe(this.opacity);return`${1===e?\"hsl(\":\"hsla(\"}${_e(this.h)}, ${100*Be(this.s)}%, ${100*Be(this.l)}%${1===e?\")\":`, ${e})`}`}}));const Ye=Math.PI/180,Ue=180/Math.PI,Ge=4/29,We=6/29,Xe=3*We*We;function Ze(e){if(e instanceof Je)return new Je(e.l,e.a,e.b,e.opacity);if(e instanceof ot)return at(e);e instanceof Le||(e=Te(e));var t,n,r=nt(e.r),i=nt(e.g),o=nt(e.b),a=Qe((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?t=n=a:(t=Qe((.4360747*r+.3850649*i+.1430804*o)/.96422),n=Qe((.0139322*r+.0971045*i+.7141733*o)/.82521)),new Je(116*a-16,500*(t-a),200*(a-n),e.opacity)}function Je(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function Qe(e){return e>.008856451679035631?Math.pow(e,1/3):e/Xe+Ge}function et(e){return e>We?e*e*e:Xe*(e-Ge)}function tt(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function nt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function rt(e){if(e instanceof ot)return new ot(e.h,e.c,e.l,e.opacity);if(e instanceof Je||(e=Ze(e)),0===e.a&&0===e.b)return new ot(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Ue;return new ot(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function it(e,t,n,r){return 1===arguments.length?rt(e):new ot(e,t,n,null==r?1:r)}function ot(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function at(e){if(isNaN(e.h))return new Je(e.l,0,0,e.opacity);var t=e.h*Ye;return new Je(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}de(Je,(function(e,t,n,r){return 1===arguments.length?Ze(e):new Je(e,t,n,null==r?1:r)}),pe(he,{brighter(e){return new Je(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new Je(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new Le(tt(3.1338561*(t=.96422*et(t))-1.6168667*(e=1*et(e))-.4906146*(n=.82521*et(n))),tt(-.9787684*t+1.9161415*e+.033454*n),tt(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),de(ot,it,pe(he,{brighter(e){return new ot(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new ot(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return at(this).rgb()}}));var lt=e=>()=>e;function st(e){return 1==(e=+e)?ct:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):lt(isNaN(t)?n:t)}}function ct(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):lt(isNaN(e)?t:e)}var ut=function e(t){var n=st(t);function r(e,t){var r=n((e=Ne(e)).r,(t=Ne(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=ct(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+\"\"}}return r.gamma=e,r}(1),ft=/^class(-pyramid)?/,dt=function(e,t,n,r){var i=void 0!==n.min?n.min:r.min(),o=void 0!==n.max?n.max:r.max(),a=i,l=o,s=t.limits,c={},u=\"percent\"===t.limitType?s.map((function(e){return i+(o-i)*e})):s,f=t.colors.map((function(t){return e.resolveUIColor(t)}));if(i=Math.min.apply(Math,[i].concat(E(u))),o=Math.max.apply(Math,[o].concat(E(u))),c.min=i,c.max=o,t.breakTypes&&-1===t.breakTypes.indexOf(!0))c.type=\"categorical\",Object.assign(c,function(e){var t=e.min,n=e.max,r=e.limits,i=e.range,o=[],a=[];if(r.length)if(r[r.length-1]<t)a.push(t,n),o.push(i[i.length-1],i[i.length-1],i[i.length-1]);else if(r[0]>n)a.push(t,n),o.push(i[0],i[0],i[0]);else{if(r[0]>t)a.push(t),o.push(i[0]);else{a.push(t);for(var l=0;l<r.length;l++)if(t<r[l]){o.push(i[l]);break}}for(var s=0;s<r.length;s++)t<r[s]&&r[s]<n&&(a.push(r[s]),o.push(i[s]));if(r[r.length-1]<n)a.push(n),o.push(i[r.length]),o.push(i[r.length]);else{a.push(n);for(var c=0;c<r.length;c++)if(r[c]>n){o.push(i[c]),o.push(i[c]);break}}}else o.push(i[0]);return{min:t,max:n,range:o,domain:a}}({min:\"percent\"===t.limitType?i:a,max:\"percent\"===t.limitType?o:l,range:f,limits:\"percent\"===t.limitType?u:s}));else if(t.breakTypes){var d=t.breakTypes;c.type=\"continuous\",c.domain=[i],c.range=[f[0]];for(var p=0;p<u.length;p+=1)if(d[p]){var h=f[p],m=f[p+1],g=ut(h,m)(.5);c.range.push(g),c.domain.push(u[p]),p<u.length-1&&d[p+1]&&(c.range.push(f[p+1]),c.domain.push((u[p]+u[p+1])/2))}else c.range.push(f[p]),c.range.push(f[p+1]),c.domain.push(u[p]),c.domain.push(u[p]+Math.min(1e-6,(o-i)/1e6));c.range.push(f[f.length-1]),c.domain.push(o)}else c.domain=u,c.range=f;return c};function pt(e,t,n,r,i){var o,a,l,s=0,c=[],u=(e-t)/(r+1);if(0===u)return 1;for(o=0;o<n.length;o+=1)a=.99*(n[o]-t),l=n[o]>e?Math.floor(e/u):n[o]<t?0:Math.floor(a/u),Number.isNaN(l)||(c[l]?c[l]+=1:c[l]=1);for(o=0;o<c.length;o+=1)c[o]&&(s+=1);return s<=r||s>=i?Math.max(s,r):pt(e,t,n,r+1,i)}var ht=function(e,t,n,r){var i,o,a=t.theme,l=t.hc,s=r.f,c={mode:\"field\",fieldType:\"measure\",field:s?s.key():void 0,reverse:n.input.reverseScheme||!1,type:\"continuous\",range:function(e){return e.resources.theme.palette(\"quant\")}},u=[],f=!0;if(s){if(Number.isNaN(+s.min())||Number.isNaN(+s.max()))return{invalid:!0};(f=!(\"S\"===(i=n.pic.raw()).qMode&&(i.qDataPages[0]&&i.qSize.qcy>i.qDataPages[0].qArea.qHeight||!i.qDataPages.length&&i.qSize.qcy>0)||\"K\"===i.qMode&&i.qStackedDataPages[0]&&i.qSize.qcy>i.qStackedDataPages[0].qArea.qHeight||\"T\"===i.qMode&&i.qSize.qcy>i.qTreeDataPages[0].qGroupSize))&&(u=n.pic.extract({field:0,props:{num:{field:s.key()},exclude:{fields:l.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return Math.min.apply(Math,E(e))<0}}}}).filter((function(e){return e.value>=0&&!e.exclude.value})).map((function(e){return e.num.value})).filter((function(e){return\"number\"==typeof e})))}if(!1===n.input.autoMinMax){if(c.min=n.input.measureMin,c.max=n.input.measureMax,c.max<c.min)return{invalid:!0}}else if(s&&!f)c.min=s.min(),c.max=s.max();else if(s){if(!u.length)return{invalid:!0};c.min=Math.min.apply(Math,E(u)),c.max=Math.max.apply(Math,E(u))}if(n.input.measureScheme&&(c.palettes={quant:n.input.measureScheme}),a){var d=a.getDataColorScales().filter((function(e){return e.key===n.input.measureScheme}))[0];c.type=d&&ft.test(d.type)?\"categorical\":\"continuous\",\"categorical\"===c.type&&(o=d.colors.some((function(e){return Array.isArray(e)}))?Math.max.apply(Math,E(d.colors.map((function(e){return e?e.length:0})))):d.colors.length)}if(\"categorical\"===c.type){for(var p=f?pt(c.max,c.min,u,1,o):o,h=(c.max-c.min)/p,m=[],g=0;g<p+1;g+=1)m.push(c.min+h*g);c.domain=m,c.range=function(e){for(var t=e.resources.theme.palette(\"quant\",p),n=Math.max(1,Math.floor(t.length/p)),r=[],i=0;i<p;i+=1)r.push(t[i*n]);return[r[0]].concat(r,[r[r.length-1]])}}return c};function mt(e,t){var n;return t.activeMeasureIndex>=0?n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[t.activeMeasureIndex]:\"libraryItem\"===t.type?n=e.pic.field((function(e){return e.raw().colorMapRef===t.key&&void 0!==t.key})):\"expression\"===t.type&&(n=e.pic.field((function(e){return\"colorByAlternative\"===e.raw().id}))),n||(n=e.pic.field((function(e){return void 0!==e.raw().matchMeasure})))&&(n=e.pic.fields().filter((function(e){return\"measure\"===e.type()}))[n.raw().matchMeasure]),n}function gt(e){var t,n=e.cm,r=e.defaults,i=e.index,o=e.input,a=e.pic;if(!o||!o.on)return null;var l=null!==(t=o.mode)&&void 0!==t?t:\"primary\";return\"primary\"===l?function(e,t,n){var r=n.primary;return void 0!==t.paletteColor&&t.paletteColor&&(r=e.resolveUIColor(t.paletteColor)),S(S({},n),{},{mode:\"constant\",type:\"constant\",primary:r})}(n,o,r):\"byExpression\"===l?function(e,t,n){var r=\"qMeasureInfo/\".concat(e,\"/\"),i=t.field((function(e){return e.id().startsWith(r)&&\"colorByMeasureExpression\"===e.raw().id})),o=i;return S(S({},n),{},o?{mode:\"field\",fieldType:\"expression\",field:i?i.key():void 0,type:\"color\"}:{mode:\"constant\",type:\"constant\",primary:n.nil})}(i,a,r):null}function vt(e){e.measureOverrides.every((function(e){return!e}))&&(e.measureOverrides=null)}function yt(e,t){for(var n=(null==t?void 0:t.domain)||[],r=(null==t?void 0:t.range)||[],i=[],o=0;o<e.length;++o){var a=e[o];if(\"constant\"===(null==a?void 0:a.mode)){var l=n.indexOf(o);-1===l?(n.push(o),r.push(a.primary)):r[l]=a.primary,e[o]=null}else if(a){i.push(o);var s=n.indexOf(o);-1!==s&&(n.splice(s,1),r.splice(s,1))}}return{domain:n,range:r,exclude:i}}function bt(e,t,n,r){if(t.input&&!t.input.auto){if(\"byMeasure\"===t.input.mode)return function(e,t,n){var r=t.theme,i=t.hc,o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).getCField,a=void 0===o?mt:o,l=n.input.byMeasureDef||{activeMeasureIndex:0},s=a(n,l),c=ht(0,{theme:r,hc:i},n,{f:s});if(c.invalid)return c;\"expression\"===l.type&&(l.activeMeasureIndex<0||void 0===l.activeMeasureIndex)&&(c.label=l.label,s&&\"color.altLabel\"===s.raw().labelExpRef&&(c.label=n.input.altLabel)),!c.label&&s&&(c.label=s.title());var u=l.activeMeasureIndex>=0?s:null;if(!u&&s&&void 0!==s.raw().matchMeasure&&s.raw().matchMeasure>-1&&(u=n.pic.fields().filter((function(e){return\"measure\"===e.type()}))[s.raw().matchMeasure]),n.input.useMeasureGradient&&\"libraryItem\"===l.type)if(u){var f=u.raw().coloring;f&&f.gradient&&ae(c,dt(e,f.gradient,c,u))}else c.auxiliary=l;return c}(e,n,t);if(\"byDimension\"===t.input.mode)return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.getCDef,o=void 0===i?ue:i,a=r.getCByField,l=void 0===a?fe:a,s=r.getPersistence,c=void 0===s?ce:s,u=o(t,n),f=l(n,u),d=f?f.raw():{},p=n&&n.pic?n.pic.raw():{};if(d.qError||d.qSize&&0===d.qSize.qcy&&!p.qHasOtherValues)return{invalid:!0};var h={mode:\"field\",fieldType:\"dimension\",type:\"categorical\",field:f?f.key():void 0,isFieldLocked:d.qLocked};return(\"expression\"===u.type||u.activeDimensionIndex<0)&&(h.label=u.label,\"color.altLabel\"===d.labelExpRef&&(h.label=n.input.altLabel)),!h.label&&f&&(h.label=f.title()),n.input.dimensionScheme&&(h.palettes={categorical:n.input.dimensionScheme}),n.input.useDimColVal&&\"libraryItem\"===u.type&&(h.auxiliary=u),ae(h,c(t,n,u,f,{byRow:se,byElemNo:le})),h}(e,n,t);if(\"byExpression\"===t.input.mode)return function(e,t,n,r){var i=t.hc,o=t.theme,a=t.translator,l=n.pic.field((function(e){return\"colorByExpression\"===e.raw().id}));if(!l||!l.raw().qFallbackTitle&&!n.input.colorExpression||!(Number.isFinite(l.raw().qMin)&&Number.isFinite(l.raw().qMax)||n.input.expressionIsColor))return{mode:\"constant\",type:\"constant\",primary:r.nil};if(n.input.expressionIsColor)return{mode:\"field\",fieldType:\"expression\",field:l?l.key():void 0,type:\"color\"};var s=ht(0,{hc:i,theme:o},n,{f:l});return s.invalid||(s.label=n.input.expressionLabel||a.get(\"Object.ChartTooltip.ColorExpression\")),s}(0,n,t,r);if(\"byMultiple\"===t.input.mode||\"primary\"===t.input.mode)return function(e,t,n,r){var i=t.hc,o=t.theme,a=t.translator,l=n.input.useBaseColors;if((\"byMultiple\"===n.input.mode||\"primary\"===n.input.mode&&\"measure\"===n.input.useBaseColors)&&i.qMeasureInfo.length>1&&(l=\"measure\"),\"measure\"===l){var s=[],c=[];\"measure\"===n.input.useBaseColors&&i.qMeasureInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){s.push(n);var i=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===i?c.push(r.primary):c.push(i)}}));var u=n.input.dimensionScheme?{categorical:n.input.dimensionScheme}:void 0,f=o?o.getDataColorPalettes()[0]:void 0;return\"measure\"===n.input.useBaseColors&&f&&(u={categorical:f.key}),{mode:\"measure\",type:\"categorical\",palettes:u,label:a?a.get(\"Common.Measures\"):void 0,explicit:s.length?{domain:s,range:c}:void 0}}if(\"dimension\"===l){var d=[],p=[];return i.qDimensionInfo.forEach((function(t,n){if(t.baseColor||t.coloring&&t.coloring.baseColor){d.push(n);var i=e.resolveUIColor(t.baseColor||t.coloring.baseColor);\"none\"===i?p.push(r.primary):p.push(i)}})),{mode:\"dimension\",type:\"categorical\",field:d.length?d[0]:void 0,explicit:d.length?{domain:d,range:p}:void 0}}var h=r.primary;if(void 0!==n.input.paletteColor)n.input.paletteColor&&(h=e.resolveUIColor(n.input.paletteColor));else{var m=n.input.singleColor;\"number\"!=typeof m||Number.isNaN(m)||(h=[\"#b0afae\",\"#7b7a78\",\"#545352\",\"#4477aa\",\"#7db8da\",\"#b6d7ea\",\"#46c646\",\"#f93f17\",\"#ffcf02\",\"#276e27\",\"#ffffff\",\"#000000\"][m])}return{mode:\"constant\",type:\"constant\",primary:h}}(e,n,t,r)}return{}}function xt(e,t,n,r){var i,o=bt(e,t,n,r);return null!==(i=t.input)&&void 0!==i&&i.measureOverrides?(o.measureOverrides=t.input.measureOverrides.map((function(n,i){return gt({cm:e,input:n,defaults:r,index:i,pic:t.pic})})),function(e,t){var n,r,i,o=t.translator;if(vt(e),1===(null===(n=e.measureOverrides)||void 0===n?void 0:n.length))return e.measureOverrides[0];if(\"measure\"===e.mode&&e.measureOverrides&&(e.explicit=yt(e.measureOverrides,e.explicit),vt(e)),null!==(r=e.measureOverrides)&&void 0!==r&&r.every((function(e){return\"constant\"===(null==e?void 0:e.mode)}))){var a={mode:\"measure\",type:\"categorical\",label:null==o?void 0:o.get(\"Common.Measures\")};return a.explicit=yt(e.measureOverrides),a}return null!==(i=e.measureOverrides)&&void 0!==i&&i.every((function(e){return e}))?{invalid:!0,measureOverrides:e.measureOverrides}:e}(o,n)):o}function qt(e){var t=S({hc:null,colorProps:null,layout:null,theme:null},e),n={},r={auto:function(){return{mode:\"primary\"}},getDimensionColorMap:function(){return Promise.reject()},getMeasure:function(){return Promise.reject()},getAttributeDimension:function(){return Promise.reject()}},i={auto:function(e){return e?(r.auto=e,i):r.auto},getDimensionColorMap:function(e){return e?(r.getDimensionColorMap=e,i):r.getDimensionColorMap},getAttributeDimension:function(e){return e?(r.getAttributeDimension=e,i):r.getAttributeDimension},getMeasure:function(e){return e?(r.getMeasure=e,i):r.getMeasure},set:function(e){var i;if(!e.colorProps)throw new Error('Missing \"colorProps\"');if(ae(t,e),(n={pic:t.picasso.data(\"q\")({data:t.hc,config:{localeInfo:t.localeInfo}}),input:t.colorProps}).input.auto){var o=r.auto(e.layout);n.input=ae(!0,{},n.input,o,{auto:!1});var a=t.theme?t.theme.getDataColorPalettes():[];a[0]&&(n.input.dimensionScheme=a[0].key);var l=0;n.input.byDimDef&&+n.input.byDimDef.activeDimensionIndex>=0&&(l=+n.input.byDimDef.activeDimensionIndex),t.hc&&t.hc.qDimensionInfo[l]&&t.hc.qDimensionInfo[l].coloring&&t.hc.qDimensionInfo[l].coloring.colorMapRef&&n.input.byDimDef&&(n.input.byDimDef.type=\"libraryItem\",n.input.byDimDef.key=t.hc.qDimensionInfo[l].coloring.colorMapRef)}null!==(i=n.input.measureOverrides)&&void 0!==i&&i.every((function(e){return!e||!e.on}))&&(n.input=ae(!1,{},n.input,{measureOverrides:null}))},palettes:function(){if(!n.palettes){var e=t.theme,r=[];(e&&e.getDataColorPickerPalettes()||[]).forEach((function(e){r.push({key:\"ui\",colors:e.colors})})),n.palettes=r}return n.palettes},getAuxiliaryData:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"/qHyperCubeDef\";if(!e.auxiliary&&!/qAttrDimInfo/.test(e.field))return Promise.resolve();var i=e.auxiliary||{},o=i.key;if(\"measure\"===e.fieldType)return r.getMeasure(o,t).catch((function(){}));if(\"dimension\"===e.fieldType){var a=\"\".concat(n,\"/\").concat(e.field).replace(\"qDimensionInfo\",\"qDimensions\").replace(\"qAttrDimInfo\",\"qAttributeDimensions\");return Promise.all([/qAttrDimInfo/.test(e.field)?r.getAttributeDimension(a,t).catch((function(){})):Promise.resolve(),o?r.getDimensionColorMap(o,t).catch((function(){})):Promise.resolve()])}return Promise.resolve()},getAuxiliarySettings:function(e,r){var i=this;return e.auxiliary||/qAttrDimInfo/.test(e.field)?(this.palettes(),this.getAuxiliaryData(e,r).then((function(r){if(!r)return{};if(\"measure\"===e.fieldType){if(r.coloring&&r.coloring.gradient){var o=n.pic.field(e.field);return dt(i,r.coloring.gradient,e,o)}return{}}if(\"dimension\"===e.fieldType){var a={nil:e.nil,others:e.others},l=r[0],s=r[1]?r[1].colorMap:null;if(l){var c=t.picasso.data(\"q\")({data:{qDimensionInfo:[n.pic.field(e.field).raw(),n.pic.field(e.field).raw()],qMeasureInfo:[],qDataPages:l,qInterColumnSortOrder:[0,1],qMode:\"S\"}});a.legendDataset=c}return s?function(e,t,n,r){var i=r.external,o=r.field,a=S({},e);ae(a,le(o,o.raw().qCardinal));var l=i.theme?i.theme.getDataColorPalettes()[0]:null;return t.nul&&(a.nil=n.resolveUIColor(t.nul)),t.oth&&(a.others=n.resolveUIColor(t.oth)),t.usePal?(a.palettes={categorical:t.pal},l&&!t.pal&&(a.palettes.categorical=l.key,ae(a,le(o)))):!1===t.autoFill&&t.single?a.range=[n.resolveUIColor(t.single)]:t.autoFill&&(l&&(a.palettes={categorical:l.key}),ae(a,le(o))),t.colors&&t.colors.length&&(a.explicit=function(e,t,n){for(var r={},i=0;i<e.length;i+=1)r[e[i].value]=e[i].baseColor;var o=[];return{domain:function(e){var i=e.data,a=[];o=[];for(var l=0;l<i.items.length;l++){var s=i.items[l],c=(s.text||s).label;r[c]&&-1===a.indexOf(s.value)&&(a.push(s.value),o.push(t.resolveUIColor(r[c])))}return a.push(-3,-2),o.push(n.others),o.push(n.nil),a},range:function(){return o}}}(t.colors,n,a)),a}(a,s,i,{external:t,field:n.pic.field(e.field)}):a}return{}}))):Promise.resolve()},resolveUIColor:function(e){if(e.index<0||void 0===e.index)return e.color;if(void 0===n.uiPalette&&(n.uiPalette=this.palettes().filter((function(e){return\"ui\"===e.key}))[0]||!1),!n.uiPalette)return e.color;var t=\"none\"===n.uiPalette.colors[0]?e.index:e.index-1;return void 0===n.uiPalette.colors[t]?e.color:n.uiPalette.colors[t]},settings:function(){if(this.palettes(),!n.settings){var e={primary:\"steelblue\",others:\"#aaa\",nil:\"#ddd\"},r=t.theme;r&&(e=S(S({},e),r.getDataColorSpecials())),n.settings=ae(e,xt(this,n,t,e))}return n.settings}};return i}var wt=function(e,t){var n=e.fieldType,r={};if(t)if(\"measure\"===n){var i=t.coloring;i&&(r.measureGradient=i.gradient)}else if(\"dimension\"===n){var o=t[0],a=t[1];o&&(r.legendDataPage=o),a&&(r.dimValsData=a.colorMap)}return r},kt=function(e){throw e.isHandled=!0,e},Ct=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.dimValsData?Promise.resolve({colorMap:n.snapshotData.content.chartData.dimValsData}):Promise.reject():r&&r.getObject?r.getObject(\"ColorMapModel_\".concat(e)).then((function(e){return e.getLayout()})):Promise.reject()},Mt=function(e,t){var n=t.layout,r=t.app;return n&&n.snapshotData?n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.measureGradient?Promise.resolve({coloring:{gradient:n.snapshotData.content.chartData.measureGradient}}):Promise.reject():r&&r.getMeasure?r.getMeasure(e).then((function(e){return e.getMeasure()})):Promise.reject()},St=function(e,t){var n=t.layout,r=t.model,i=t.app;if(n&&n.snapshotData)return n.snapshotData.content&&n.snapshotData.content.chartData&&n.snapshotData.content.chartData.legendDataPage?Promise.resolve(n.snapshotData.content.chartData.legendDataPage):Promise.reject();if(r&&r.session&&i){return r.getHyperCubeData(e,[{qHeight:100,qLeft:0,qTop:0,qWidth:2}]).catch(kt)}return Promise.reject()};function Dt(e){var t=e.hc,n=e.source,r=e.coloring,i={data:{extract:[{source:\"dummy\",field:0,filter:function(){return i.expando=t.qDataPages[0]?t.qDataPages[0].qArea.qTop:0,!1}},{source:n,field:r.field,trackBy:r.valueAccessor,reduce:\"first\",props:{row:{reduce:function(){return i.expando++}},text:{value:function(e){return e.qText},reduce:\"first\"}}}]},expando:0};return i}function Ot(e){return function(t){return\"object\"===A(t.datum[e])?t.datum[e].value:void 0}}function It(e){return\"object\"===A(e.datum.isNull)?e.datum.isNull.value:-2===e.datum.value}function Et(e){return-3===e.datum.value}var At={TITLE:{COLOR:void 0,FONT_SIZE:\"16px\",FONT_FAMILY:\"'Source Sans Pro', 'Arial', 'sans-serif'\"},LABEL:{COLOR:void 0,FONT_SIZE:void 0,FONT_FAMILY:\"'Source Sans Pro', 'Arial', 'sans-serif'\"}};function Tt(e){var t=e.theme,n=e.key,r=e.styleOverrides,i={title:{color:At.TITLE.COLOR,fontSize:At.TITLE.FONT_SIZE,fontFamily:At.TITLE.FONT_FAMILY},label:{color:At.LABEL.COLOR,fontSize:At.LABEL.FONT_SIZE,fontFamily:At.LABEL.FONT_FAMILY}};if(!t&&!r)return i;var o=r||{},a=o.title,l=o.label,s=function(e){var t=e.theme,n=e.key;return function(e,r,i,o){return void 0!==e?e:t?t.getStyle(n,r,i):o}}({theme:t,key:n});return i.title.color=s(null==a?void 0:a.color,\"legend.title\",\"color\",At.TITLE.COLOR),i.title.fontSize=s(null==a?void 0:a.fontSize,\"legend.title\",\"fontSize\",At.TITLE.FONT_SIZE),i.title.fontFamily=s(null==a?void 0:a.fontFamily,\"legend.title\",\"fontFamily\",At.TITLE.FONT_FAMILY),i.label.color=s(null==l?void 0:l.color,\"legend.label\",\"color\",At.LABEL.COLOR),i.label.fontSize=s(null==l?void 0:l.fontSize,\"legend.label\",\"fontSize\",At.LABEL.FONT_SIZE),i.label.fontFamily=s(null==l?void 0:l.fontFamily,\"legend.label\",\"fontFamily\",At.LABEL.FONT_FAMILY),i}var Nt=function(e,t,n){var r=e&&e.dock||void 0;if(\"auto\"!==r)return r||\"right\";if(t){var i=t.element.getBoundingClientRect();if(i.height>i.width)return\"bottom\"}return n?\"left\":\"right\"},Lt=function(e,t,n){return!(n.invalid||\"color\"===n.type||\"measure\"===n.mode&&t.qMeasureInfo.length<=1||\"dimension\"===n.mode)&&(\"function\"==typeof e.show?e.show():!1!==e.show)};function Pt(e,t){var n=e.styleReference,r=e.styleOverrides,i=e.chart,o=e.rtl,a=t.legendProps,l=t.coloring,s=t.theme,c=t.hc,u=Tt({theme:s,key:n,styleOverrides:r});return{layout:{minimumLayoutMode:\"MEDIUM\",dock:Nt(a,i,o)},show:\"function\"==typeof a.show?function(){return Lt(a,c,l)}:Lt(a,c,l),renderer:\"svg\",mounted:function(e){e.childNodes[0].style.pointerEvents=\"none\",e.style.overflow=\"hidden\"},settings:{title:{show:!1!==a.showTitle,wordBreak:\"break-word\",maxLines:2,lineHeight:1.2,text:l.label||\"\",fill:u.title.color,fontSize:u.title.fontSize,fontFamily:u.title.fontFamily}}}}function jt(e,t,n){return\"categorical\"===t.coloring.type?function(e,t,n){var r=Pt(e,t);if(!r.show)return!1;var i,o=e.key,a=e.styleReference,l=e.styleOverrides,s=e.viewState,c=e.rtl,u=e.settings,f=e.style,d=t.scaleKey,p=t.theme,h=t.scales,m=Tt({theme:p,key:a,styleOverrides:l}),g=r.layout.dock,v=\"left\"===g||\"right\"===g?{maxLines:2,wordBreak:\"break-word\"}:{},y={up:\"M13.6,11 L2.4,11 C2.28954305,11 2.2,10.9104569 2.2,10.8 C2.2,10.756726 2.21403557,10.7146192 2.24,10.68 L7.84,3.21333333 C7.90627417,3.12496777 8.03163444,3.10705916 8.12,3.17333333 C8.13516113,3.18470418 8.14862915,3.1981722 8.16,3.21333333 L13.76,10.68 C13.8262742,10.7683656 13.8083656,10.8937258 13.72,10.96 C13.6853808,10.9859644 13.643274,11 13.6,11 Z\",down:\"M2.4,4 L13.6,4 C13.7104569,4 13.8,4.08954305 13.8,4.2 C13.8,4.24327404 13.7859644,4.28538077 13.76,4.32 L8.16,11.7866667 C8.09372583,11.8750322 7.96836556,11.8929408 7.88,11.8266667 C7.86483887,11.8152958 7.85137085,11.8018278 7.84,11.7866667 L2.24,4.32 C2.17372583,4.23163444 2.19163444,4.10627417 2.28,4.04 C2.31461923,4.01403557 2.35672596,4 2.4,4 Z\",left:\"M11,2.4 L11,13.6 C11,13.7104569 10.9104569,13.8 10.8,13.8 C10.756726,13.8 10.7146192,13.7859644 10.68,13.76 L3.21333333,8.16 C3.12496777,8.09372583 3.10705916,7.96836556 3.17333333,7.88 C3.18470418,7.86483887 3.1981722,7.85137085 3.21333333,7.84 L10.68,2.24 C10.7683656,2.17372583 10.8937258,2.19163444 10.96,2.28 C10.9859644,2.31461923 11,2.35672596 11,2.4 Z\",right:\"M4,13.6 L4,2.4 C4,2.28954305 4.08954305,2.2 4.2,2.2 C4.24327404,2.2 4.28538077,2.21403557 4.32,2.24 L11.7866667,7.84 C11.8750322,7.90627417 11.8929408,8.03163444 11.8266667,8.12 C11.8152958,8.13516113 11.8018278,8.14862915 11.7866667,8.16 L4.32,13.76 C4.23163444,13.8262742 4.10627417,13.8083656 4.04,13.72 C4.01403557,13.6853808 4,13.643274 4,13.6 Z\"};\"dimension\"===t.coloring.fieldType&&(i=function(e){return e.datum.value>=0||-3===e.datum.value});var b=\"\".concat(d,\"Legend\");return ae(!0,r,{type:\"legend-cat\",key:\"\".concat(o,\"-cat\"),scale:b in h?b:d,settings:{layout:{scrollOffset:function(){return s?s.get(\"legendScrollOffset\"):void 0},size:-1!==[\"top\",\"bottom\"].indexOf(r.layout.dock)?2:1,direction:c?\"rtl\":\"ltr\",horizontal:20},item:{show:i,label:S({fill:m.label.color,fontSize:m.label.fontSize,fontFamily:m.label.fontFamily},v)},navigation:{disabled:n,button:{content:function(e,t){var n=t.direction;return e(\"i\",{style:{\"pointer-events\":\"none\",fontSize:\"12px\",display:\"inline-block\",fontStyle:\"normal\",lineHeight:\"0\",textAlign:\"center\",textTransform:\"none\",verticalAlign:\"-0.125em\",textRendering:\"optimizelegibility\",margin:\"0px\"}},[e(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 16 16\",fill:\"currentColor\"},[e(\"path\",{d:y[n]})])])}}}},brush:{consume:[{context:\"selection\",data:[\"\",o],style:{inactive:{opacity:.3}}}]}},{settings:u,style:f})}(e,t,n):\"continuous\"===t.coloring.type&&function(e,t){var n,r=e.key,i=e.styleReference,o=e.styleOverrides,a=e.rtl,l=e.settings,s=e.style,c=t.scaleKey,u=t.theme,f=\"\".concat(c,\"Range\"),d=Pt(e,t);if(!d.show)return!1;var p=Tt({theme:u,key:i,styleOverrides:o}),h=d.layout.dock,m=\"right\"===h||\"left\"===h,g=null===(n=t.scales)||void 0===n?void 0:n[f];return m&&g&&(g.invert=!0),ae(!0,d,{type:\"legend-seq\",key:\"\".concat(r,\"-seq\"),settings:{fill:c,major:f,length:1,tick:{fill:p.label.color,fontSize:p.label.fontSize,fontFamily:p.label.fontFamily},title:{anchor:!a||\"top\"!==d.layout.dock&&\"bottom\"!==d.layout.dock?void 0:\"right\",padding:parseFloat(d.settings.title.fontSize)||16}}},{settings:l,style:s})}(e,t)}function Ft(e,t,n){var r=[],i=[],o=jt(e,t,n&&n.navigationDisabled);return r.push(o),o&&\"legend-cat\"===o.type&&(i.push(function(e){var t=e.key,n=e.requireFailure,r=e.recognizeWith,i=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:tap-\".concat(t),type:\"Tap\",requireFailure:n,recognizeWith:r,options:{event:\"legendtap\",interval:10,pointers:1,enable:function(e,n){var r;if(!n)return!0;if(null!=i&&null!==(r=i.interact)&&void 0!==r&&r.enabled&&!i.interact.enabled())return!1;if(!this.chart.componentsFromPoint({x:n.center.x,y:n.center.y}).some((function(e){return e.key===\"\".concat(t,\"-cat\")})))return!1;var o=n.srcEvent.target;return!!(o&&o.hasAttribute(\"data-action\")&&o.hasAttribute(\"data-component-key\"))||!(!o||!o.childNodes[0]||\"BUTTON\"!==o.childNodes[0].nodeName)}},events:{legendtap:function(e){e.preventDefault();var t=e.srcEvent.target;t&&t.hasAttribute(\"data-action\")&&t.hasAttribute(\"data-component-key\")&&this.chart.component(t.getAttribute(\"data-component-key\")).emit(t.getAttribute(\"data-action\"))}}}}(e,n)),i.push(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,n=e.key,r=e.requireFailure,i=e.recognizeWith,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).actions;return{key:\"event:pan-\".concat(n),type:\"Pan\",requireFailure:r,recognizeWith:i,options:{event:t,pointers:1,threshold:10,enable:function(e,r){var i;return this.started===t||!r||!(null!=o&&null!==(i=o.interact)&&void 0!==i&&i.enabled&&!o.interact.enabled())&&this.chart.componentsFromPoint({x:r.center.x,y:r.center.y}).some((function(e){return e.key===\"\".concat(n,\"-cat\")}))}},events:C(C(C({},\"\".concat(t,\"start\"),(function(e){e.preventDefault(),this.started!==t&&(this.started=t,this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panstart\",e))})),\"\".concat(t,\"move\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panmove\",e)})),\"\".concat(t,\"end\"),(function(e){e.preventDefault(),this.chart.component(\"\".concat(n,\"-cat\")).emit(\"panend\",e),this.started=!1}))}}(e,n))),{interactions:i,components:r}}var Ht=function(e){return\"rgba(\".concat([(16711680&e)>>16,(65280&e)>>8,255&e,((4278190080&e)>>>24)/255].join(\",\"),\")\")};function zt(e){var t=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.auto,n=qt(e.resources).auto(t||function(){return{mode:\"byDimension\",persistent:!1,useDimColVal:!0,byDimDef:{activeDimensionIndex:0,type:\"expression\",label:\"\"}}}).getDimensionColorMap((function(e,t){var n=t.layout,r=t.app;return Ct(e,{layout:n,app:r})})).getMeasure((function(e,t){var n=t.layout,r=t.app;return Mt(e,{layout:n,app:r})})).getAttributeDimension((function(e,t){var n=t.layout,r=t.model,i=t.app;return St(e,{layout:n,model:r,app:i})}));return n.getSnapshotData=wt,n}({resources:e}),n={},r={},i=function(e){return r.settings||(e||console.warn(\"settings() called before auxiliarySettings()\"),r.settings=t.settings()),r.settings},o={config:function(i){if(n=S({},i),r={},!n.key)throw new Error(\"Missing key\");t.set(S(S({},e),n))},auto:function(e){return e?(t.auto(e),o):t.auto()},getAuxiliarySettings:function(e){return r.auxiliarySettings?Promise.resolve(r.auxiliarySettings):t.getAuxiliarySettings(i(!0),e).then((function(e){return r.auxiliarySettings=e||{},r.settings=S(S({},r.settings),r.auxiliarySettings),r.scales=void 0,r.color=void 0,r.auxiliarySettings}))},getAuxiliaryData:function(){return t.getAuxiliaryData(i())},getSnapshotData:function(e){var n=i();return t.getAuxiliaryData(n,e).then((function(e){return t.getSnapshotData(n,e)}))},resolveUIColor:function(e){return t.resolveUIColor(e)},settings:function(){var e=i();return{mode:e.mode,type:e.type,label:e.label,field:e.field,fieldType:e.fieldType,nil:e.nil,others:e.others,primary:e.primary}},settingsForMeasure:function(e){var t,n=null===(t=i().measureOverrides)||void 0===t?void 0:t[e];return n||this.settings()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return function(e,t){var n=t.isMeasureSelectionLocked;return\"field\"!==e.mode||(\"dimension\"===e.fieldType?e.isFieldLocked:\"measure\"!==e.fieldType||n)}(i(),{isMeasureSelectionLocked:t})},palettes:function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.colorProps,n=e.coloring,r=e.theme,i=[];if(n&&n.palettes&&r){var o=n.palettes.categorical||t.dimensionScheme,a=r.getDataColorPalettes().filter((function(e){return e.key===o}))[0]||r.getDataColorPalettes()[0];o&&a&&i.push({key:\"categorical\",colors:a.colors});var l=n.palettes.metric||t.measureScheme,s=r.getDataColorScales().filter((function(e){return e.key===l}))[0]||r.getDataColorScales()[0];if(s){var c=s.colors[0]?s.colors:[[]].concat(E(s.colors.slice(1)));c=Array.isArray(c[0])?c.map((function(e){return e.slice().reverse()})):c.slice().reverse(),i.push({key:\"quant\",colors:c})}}return i}({coloring:i(),colorProps:n.colorProps,theme:n.theme})},scales:function(){return r.scales=r.scales||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hc,n=e.coloring,r=e.rtl,i=e.key,o=e.source,a=e.picasso,l={},s=i;if(n){var c={override:!0,domain:n.explicit&&\"function\"==typeof n.explicit.domain?n.explicit.domain:[].concat(E((n.explicit||{}).domain||[]),[-3,-2]),range:n.explicit&&\"function\"==typeof n.explicit.range?n.explicit.range:[].concat(E((n.explicit||{}).range||[]),[n.others,n.nil])};if(\"field\"===n.mode){if(\"dimension\"===n.fieldType){var u,f=Dt({hc:t,source:o,coloring:n}).data;if(n.legendDataset){var d=0,p={};a.data(\"q\")({data:t}).extract({field:n.field,trackBy:n.valueAccessor,reduce:function(e){var t=e[0];return p[t]=d++,e[0]}}),u={source:\"attrDim\",extract:{field:\"qDimensionInfo/0\",filter:function(e){return e.qElemNumber>=0},props:{row:{value:function(e){return p[e.qElemNumber]}}}}}}var h={data:f,range:n.range,domain:n.domain,explicit:c,type:\"categorical-color\",label:function(e){return e.datum.text&&e.datum.text.value?e.datum.text.value:e.datum.label}};l[s]=h,u&&(l[\"\".concat(s,\"Legend\")]=S(S({},h),{},{data:u})),t&&t.qHasOtherValues&&u&&((u||h.data).amend=[{label:t.qDimensionInfo[0].othersLabel,source:{key:\"qHyperCube\",field:\"qDimensionInfo/0\"},row:{value:-3},value:-3}])}else if(\"measure\"===n.fieldType){var m={data:{field:n.field},min:n.min,max:n.max};l[s]=ae({},m,{type:\"categorical\"===n.type?\"threshold-color\":\"sequential-color\",range:n.range,domain:n.domain,invert:n.reverse}),\"sequential-color\"===l[s].type&&(l[\"\".concat(s,\"Range\")]=ae({},m,{invert:!!r}))}else if(\"color\"!==n.type)throw new Error(\"UNUSED FIELD\")}else if(\"dimension\"===n.mode){var g={data:t.qDimensionInfo.map((function(e,t){return t})),label:function(e){return t.qDimensionInfo[e.datum.value].qFallbackTitle},explicit:c,type:\"categorical-color\"};l[s]=g}else if(\"measure\"===n.mode){var v={data:t.qMeasureInfo.map((function(e,t){return t})).filter((function(e){var t;return!(null!==(t=n.explicit)&&void 0!==t&&null!==(t=t.exclude)&&void 0!==t&&t.includes(e))})),label:function(e){return t.qMeasureInfo[e.datum.value].qFallbackTitle},explicit:c,type:\"categorical-color\"};l[s]=v}}return l}({hc:n.hc,coloring:i(),key:n.key,source:n.source,picasso:e.picasso}),r.scales},color:function(){return r.color=r.color||function(e){var t=e.coloring,n=e.scales,r=e.key,i=Ot(r),o=Ot(\"\".concat(r,\"IsAnOther\")),a=function(e,t){var r=e.fieldType,a=e.invalid,l=e.mode,s=e.nil,c=e.others,u=e.primary,f=e.type;return a?function(e){return Et(e)||o(e)?c:s}:n[t]?function(e){return Et(e)?c:It(e)||-2===i(e)&&\"dimension\"===r||\"NaN\"===i(e)?s:o(e)?c:e.resources.scale(t)(i(e))||c}:\"constant\"===l?function(e){return Et(e)||o(e)?c:It(e)?s:u}:\"color\"===f?function(e){return Et(e)||o(e)?c:It(e)?s:i(e)||c}:null},l=a(t,r);if(t.measureOverrides){var s=Ot(\"\".concat(r,\"MeasureIdx\")),c=t.measureOverrides.map((function(e){return e&&a(e)}));return function(e){var t=s(e);return c[t]?c[t](e):l(e)}}return l}({coloring:i(),scales:this.scales(),key:n.key}),r.color},datumProps:function(e){return function(e){var t,n,r=e.hc,i=e.coloring,o=e.scales,a=e.key,l=e.addMeasureIx,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=a,u=i.nil;\"field\"===i.mode&&i.field?t=i.field:o[a]&&\"field\"===i.mode&&(t=o[a].data.field||i.field),t?(n={field:t,reduce:\"first\"},\"color\"===i.type&&(n.value=function(e){return\"NaN\"!==e.qNum?Ht(e.qNum):e.qText&&Ie(e.qText)?e.qText:u})):\"dimension\"===i.mode?n=void 0!==i.field?i.field:r.qDimensionInfo.length-1:\"measure\"===i.mode&&(n=s);var f=C({},c,n);return r.qDimensionInfo.length>1&&(f[\"\".concat(c,\"IsAnOther\")]={fields:r.qDimensionInfo.map((function(e,t){return{field:\"qDimensionInfo/\".concat(t)}})),value:function(e){return-1!==e.indexOf(-3)}}),l&&(f[\"\".concat(c,\"MeasureIdx\")]=s),f}({coloring:this.settingsForMeasure(e),scales:this.scales(),key:n.key,hc:n.hc,addMeasureIx:i().measureOverrides},e)},data:function(){var e=i(),t={key:\"dummy\",data:[[\"field\"],[\"a\"]]};return e.legendDataset?[t,{type:\"q\",key:\"attrDim\",data:e.legendDataset.raw(),config:{localeInfo:n.localeInfo}}]:[t]},legend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.eventName,r=e.key,o=e.viewState,a=e.chart,l=e.rtl,s=e.styleReference,c=void 0===s?\"object.legend\":s,u=e.styleOverrides,f=e.settings,d=void 0===f?{}:f,p=e.style,h=void 0===p?{}:p,m=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ft({eventName:t,key:r,rtl:l,viewState:o,chart:a,styleReference:c,styleOverrides:u,settings:d,style:h},{legendProps:n.legendProps,scaleKey:n.key,coloring:i(),theme:n.theme,hc:n.hc,scales:this.scales()},m)}};return o}var Rt=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Vt(e){var t=e.qHyperCube,n=t.qDimensionInfo,r=t.qMeasureInfo,i=n.some(Rt),o=r.some(Rt),a=e.color.useBaseColors;return\"measure\"===a&&!o||\"dimension\"===a&&!i?\"off\":a}function $t(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=S(S(S({},e),t),{},{colorProps:S(S({},e.colorProps),t.colorProps||{})});return n}var _t=function(e){return e.baseColor||e.coloring&&e.coloring.baseColor};function Bt(e){var t,n=e.qHyperCube.qDimensionInfo.some(_t),r=e.qHyperCube.qMeasureInfo.some(_t),i=n?\"dimension\":void 0;return{mode:\"primary\",useBaseColors:null!==(t=null!=i?i:r?\"measure\":void 0)&&void 0!==t?t:\"off\",paletteColor:null}}var Kt=function(){};function Yt(e){var t,n,r,i,o=e.picasso,a=e.model,l=e.app,s=e.translator,c=e.layoutService,u=void 0===c?void 0:c,f=e.createConfig,d=void 0===f?Kt:f,p=e.config,h=void 0===p?{}:p,m=e.custom,g=void 0===m?{}:m,v=h.localeInfo,y=h.key,b=h.theme,x=void 0===b?void 0:b,q=h.auto,w=void 0===q?void 0:q,k=h.definitionPath,C=null==u||null===(t=u.getLayout)||void 0===t?void 0:t.call(u),M={theme:x,key:y,localeInfo:v,layout:C,hc:null==u||null===(n=u.getHyperCube)||void 0===n?void 0:n.call(u),legendProps:null==u||null===(r=u.getLayoutValue)||void 0===r?void 0:r.call(u,\"legend\"),colorProps:S(S({},null==u||null===(i=u.getLayoutValue)||void 0===i?void 0:i.call(u,\"color\")),{},{useBaseColors:C?Vt(C):void 0})},D=zt({picasso:o,model:a,app:l,translator:s,auto:w});!1!==w&&D.auto((function(e){return w?w({layout:e,defaultAuto:Bt}):Bt(e)}));var O=!1,I={getColor:function(){return D.color()},getPaletteColor:function(e){var t=e.index,n=e.color;return D.resolveUIColor({index:t,color:n})},getData:function(){return D.data()},getDatumProps:function(e){return D.datumProps(e)},getSnapshotData:function(){return D.getSnapshotData(k)},getSettingsForMeasure:function(e){return D.settingsForMeasure(e)},getSettings:function(){return D.settings()},getLegend:function(e,t){return D.legend(e,t)},getScales:function(){return D.scales()},getPalettes:function(){return D.palettes()},isSelectionLocked:function(e){var t=e.isMeasureSelectionLocked;return D.isSelectionLocked({isMeasureSelectionLocked:t})},isInitialized:function(){return O},custom:S({},g),initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.createConfig,n=void 0===t?d:t,r=n({getUseBaseColors:Vt}),i=$t(M,r);D.config(i);var o=D.getAuxiliarySettings(k).then((function(){O=!0}));return o}};return I}var Ut=\"center\",Gt=\"bottom\",Wt=[{key:\"NoDataExist\",alignment:Ut,condition:function(e){var t=e.layoutService;if(!t)return!1;var n=t.meta.size;return n.x*n.y==0}},{key:\"OnlyNanDataMeasure\",translationKey:\"OnlyNanData\",alignment:Ut,condition:function(e){var t=e.layoutService;return!!t&&t.getHyperCubeValue(\"qMeasureInfo\").every((function(e){return\"NaN\"===e.qMin&&\"NaN\"===e.qMax}))}},{key:\"OnlyNanDataDimensionContinuous\",translationKey:\"OnlyNanData\",alignment:Ut,condition:function(e){var t=e.layoutService;if(!t)return!1;if(!t.meta.isContinuous)return!1;var n=t.getHyperCubeValue(\"qDimensionInfo.0\");return n&&(n.qMax<n.qMin||\"NaN\"===n.qMax)}},{key:\"OnlyNegativeOrZeroValues\",alignment:Ut},{key:\"DataRangeIncludingZero\",alignment:Gt},{key:\"LimitedData\",alignment:Gt},{key:\"NegativeOrZeroValues\",alignment:Gt}].reduce((function(e,t){return e[t.key]=t,e}),{}),Xt=function(){return!1};function Zt(e){var t=e.args,n=e.disclaimers,r=[];return Object.keys(n).forEach((function(e){var i=Wt[e],o=n[e];o&&((o.condition||(null==i?void 0:i.condition)||Xt)(t)&&r.push({key:(null==i?void 0:i.translationKey)||(null==i?void 0:i.key)||e,alignment:o.alignment||(null==i?void 0:i.alignment)||Gt}))})),r.find((function(e){return e.alignment===Ut}))||r[0]}function Jt(e){var t,n=e.layout,r=e.config,i=void 0===r?{}:r,o={disclaimer:void 0,isSuppressing:!1,showDisclaimer:null!==(t=i.args)&&void 0!==t&&t.layoutService?i.args.layoutService.getLayoutValue(\"showDisclaimer\"):null==n?void 0:n.showDisclaimer};return{initialize:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.args;o.disclaimer=Zt({args:S(S({layout:n},i.args),t),disclaimers:i.disclaimers||{}}),o.isSuppressing=!(!o.disclaimer||o.disclaimer.alignment!==Ut)},getDisclaimer:function(){return o.isSuppressing?o.disclaimer:!1===o.showDisclaimer?void 0:o.disclaimer},getHasSuppressingDisclaimer:function(){return o.isSuppressing}}}function Qt(e){var t=e.chart,n=e.logicalSize;if(n)return n;var r=t?t.element.getBoundingClientRect():{};return{width:r.width,height:r.height}}var en=[{key:\"FULL\",size:{width:550,height:450}},{key:\"MEDIUM\",size:{width:400,height:220}},{key:\"SMALL\",size:{width:300,height:150}},{key:\"XSMALL\",size:{width:150,height:75}}];function tn(e){var t=e.width,n=e.height,r=en.filter((function(e){return t>=e.size.width&&n>=e.size.height})).shift();return r?r.key:\"SPARK\"}var nn={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\",near:\"far\",far:\"near\"};function rn(e){var t=e.orientation,n=e.dock,r=e.btt,i=e.rtl,o=\"horizontal\"===t?function(e){return\"bottom\"===e||\"near\"===e?\"bottom\":\"top\"}(n):function(e,t){var n=\"left\"===e||\"near\"===e?\"left\":\"right\";return t?nn[n]:n}(n,i),a=function(e,t,n){return\"vertical\"===e?t?\"bottom\":\"top\":n?\"right\":\"left\"}(t,r,i);return{current:o,opposite:nn[o],start:a,end:nn[a]}}function on(e){var t=e.chart,n=e.layoutService,r=e.config,i=void 0===r?{}:r,o=i.logicalSize,a=void 0!==o&&o,l=i.rtl,s=void 0!==l&&l,c={chart:{size:void 0,mode:void 0},x:{dock:void 0,opposite:void 0,size:void 0},y:{dock:void 0,opposite:void 0,size:void 0}},u={type:\"x-y\",config:S({},i),meta:c,update:function(e){c.chart.size={width:e.width,height:e.height},c.chart.mode=tn(e);var t=rn({orientation:\"horizontal\",dock:n.getLayoutValue(\"xAxis.dock\"),btt:!1,rtl:s}),r=t.current,i=t.opposite;c.x.dock=r,c.x.opposite=i,c.x.size=e.width;var o=rn({orientation:\"vertical\",dock:n.getLayoutValue(\"yAxis.dock\"),btt:!0,rtl:s}),a=o.current,l=o.opposite;c.y.dock=a,c.y.opposite=l,c.y.size=e.height}};return u.update(Qt({chart:t,logicalSize:a})),u}var an=\"vertical\",ln=\"horizontal\";function sn(e){var t=e.chart,n=e.layoutService,r=e.config,i=void 0===r?{}:r,o=e.typeConfig,a=void 0===o?{}:o,l=i.logicalSize,s=void 0!==l&&l,c=i.rtl,u=void 0!==c&&c,f=a.fallback===an?an:ln,d=!!a.invert,p=a.measureAxes||[{ref:\"measureAxis\",name:\"minor\"}],h={chart:{orientation:void 0,size:void 0,mode:void 0},major:{orientation:void 0,dock:void 0,opposite:void 0,size:void 0}},m={type:\"major-minor\",config:S({},i),meta:h,update:function(e){h.chart.orientation=n.getLayoutValue(\"orientation\",f),h.chart.size={width:e.width,height:e.height},h.chart.mode=tn(e),h.major.orientation=function(e){var t=e.layoutService,n=e.chartOrientation,r=e.invert;return t.meta.isContinuous?ln:r?n===an?ln:an:n}({layoutService:n,chartOrientation:h.chart.orientation,invert:d});var t=rn({orientation:h.major.orientation,dock:n.getLayoutValue(\"dimensionAxis.dock\"),btt:!1,rtl:u}),r=t.current,i=t.opposite;h.major.dock=r,h.major.opposite=i,h.major.size=h.major.orientation===an?e.height:e.width,p.forEach((function(t){var r={};r.orientation=h.major.orientation===an?ln:an;var i=rn({orientation:r.orientation,dock:n.getLayoutValue(\"\".concat(t.ref,\".dock\")),btt:!0,rtl:u}),o=i.current,a=i.opposite,l=i.start,s=i.end;r.dock=o,r.opposite=a,r.start=l,r.end=s,r.size=r.orientation===an?e.height:e.width,h[t.name]=r}))}};return m.update(Qt({chart:t,logicalSize:s})),m}function cn(e){var t=e.chart,n=e.layoutService,r=e.config,i=void 0===r?{}:r,o=e.typeConfig,a=void 0===o?{}:o;return(\"x-y\"===a.type?on:sn)({chart:t,layoutService:n,config:i,typeConfig:a})}function un(e,t,n){if(void 0===e||void 0===t)return n;for(var r=t.split(\".\"),i=e,o=0;o<r.length;++o){var a=r[o];if(void 0===i[a])return n;i=i[a]}return i}var fn=[\"__proto__\",\"constructor\"];function dn(e,t,n){if(void 0!==e&&void 0!==t){var r=t.split(\".\"),i=r[r.length-1];if(!fn.some((function(e){return r.includes(e)}))){for(var o=e,a=0;a<r.length-1;++a){var l=r[a];void 0===o[l]&&(o[l]=Number.isNaN(+r[a+1])?{}:[]),o=o[l]}void 0!==n?o[i]=n:delete o[i]}}}function pn(){var e={};return{get:function(t){return e[t]},set:function(t,n){return e[t]=n,n},has:function(t){return t in e},remove:function(t){delete e[t]},empty:function(){e={}}}}function hn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=pn();return function(r){var i=t(r);return n.has(i)?n.get(i):n.set(i,e(r))}}function mn(e){var t=S({},e),n={},r={},i=!1,o={get:function(e){return t[e]},set:function(e,o){var a=t[e];!i&&n[e]?t[e]=n[e](o,a):t[e]=o,!i&&r[e]&&r[e](t[e],a)},preventSet:function(e,t){i=!0,o.set(e,t),i=!1},intercept:function(e,t){n[e]=t},onChanged:function(e,t){r[e]=t}};return o}function gn(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;return function(){for(var r=this,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];var l=function(){return e.apply(r,o)};clearTimeout(t),t=setTimeout(l,n)}}function vn(e){var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,o=0;return function(){t=this;for(var a=arguments.length,l=new Array(a),s=0;s<a;s++)l[s]=arguments[s];n=l;var c=Date.now()-o,u=function(){o=Date.now(),r=0,e.apply(t,n)};r||(c>=i?u():r=setTimeout(u,i-c))}}var yn={ERROR_CODES:[7005],DIMENSION:\"qDimensionInfo\",MEASURE:\"qMeasureInfo\"},bn=function(e,t){return e[t].reduce((function(e,t,n){var r;return(r=t,yn.ERROR_CODES.some((function(e){var t;return e===(null===(t=r.qError)||void 0===t?void 0:t.qErrorCode)})))?e.filtered.push(n):e.reduced.push(t),e}),{reduced:[],filtered:[]})};function xn(e){var t;return((null==e||null===(t=e.qHyperCube)||void 0===t?void 0:t.qDimensionInfo)||[]).map((function(e){var t,n=null===(t=e.qCardinalities)||void 0===t?void 0:t.qHypercubeCardinal;if(n)return n;var r=e.qStateCounts||{},i=r.qLocked,o=void 0===i?0:i,a=r.qOption,l=void 0===a?0:a,s=r.qSelected;return o+l+(void 0===s?0:s)}))}function qn(e){switch(e.qHyperCube.qMode){case\"S\":return function(e){var t=e.qHyperCube.qSize;return{refs:{dataPages:\"qHyperCube.qDataPages\"},size:{x:t.qcx,y:t.qcy,dimensions:xn(e)}}}(e);case\"K\":return function(e){var t=xn(e);return{refs:{dataPages:\"qHyperCube.qStackedDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);case\"T\":return function(e){var t=xn(e);return{refs:{dataPages:\"qHyperCube.qTreeDataPages\"},size:{x:e.qHyperCube.qSize.qcx,y:t[0],dimensions:t}}}(e);default:throw new Error(\"Mode not supported\")}}function wn(e){var t=e.source,n=e.metaAdditionsFn,r=e.experimental,i=void 0===r?{filter:!1}:r,o=ae(!0,{},t),a=i.filter?function(e){var t=e.qHyperCube,n=bn(t,yn.DIMENSION),r=n.reduced,i=n.filtered;t[yn.DIMENSION]=r;var o=bn(t,yn.MEASURE),a=o.reduced,l=o.filtered;return t[yn.MEASURE]=a,{dimensions:i,measures:l}}(o):{dimensions:[],measures:[]},l=qn(o),s=function(){var e=function(e){var t=e.layout,n=e.additionsFn,r=void 0===n?function(){return{}}:n,i=e.additionsProps,o=void 0===i?{}:i,a=t.qHyperCube,l=a.qDimensionInfo,s=a.qMeasureInfo,c=a.qMode,u=l.length,f=s.length,d=S({mode:{S:\"S\"===c,P:\"P\"===c,K:\"K\"===c,T:\"T\"===c},dimensionCount:u,measureCount:f,hasMultipleDimensions:u>1,hasMultipleMeasures:f>1,isOneDimensional:1===u,isTwoDimensional:2===u},o);return S(S({},d),r({layout:t,meta:d}))}({layout:o,additionsFn:n,additionsProps:{size:l.size}});return e.filteredFields=a,e},c={refs:S({},l.refs),meta:s(),getLayout:function(){return o},getLayoutValue:function(e,t){return un(o,e,t)},setLayoutValue:function(e,t){dn(o,e,t),l=qn(o),c.meta=s()},getHyperCube:function(){return o.qHyperCube},getHyperCubeValue:function(e,t){return un(o.qHyperCube,e,t)},setHyperCubeValue:function(e,t){dn(o.qHyperCube,e,t),l=qn(o),c.meta=s()},getDataPages:function(){return un(o,l.refs.dataPages)},setDataPages:function(e){dn(o,l.refs.dataPages,e),c.meta=s()}};return c}function kn(e){var t=e.originalArray,n=e.newArray,r=e.matchKey;return Array.isArray(t)&&t.length?(n.forEach((function(e){var n=-1;t.some((function(t,i){return t[r]&&t[r]===e[r]&&(n=i),n})),n>-1?t[n]=e:t.push(e)})),t):n}function Cn(e){var t=e.picassoInstance,n=e.plugins,r=e.pluginArgs,i=void 0===r?{}:r,o={initialized:!1,definitions:[]};return{initialize:function(){return k(O().mark((function e(){var r,a,l,s;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!o.initialized){e.next=2;break}return e.abrupt(\"return\");case 2:return a=Promise.all(n.filter((function(e){return\"custom-component\"===e.info.type})).map(function(){var e=k(O().mark((function e(n){var r;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.info.componentName){e.next=2;break}throw new Error(\"plugin-service: Custom component is missing componentName\");case 2:return e.next=4,n.fn(S({},i));case 4:if(\"object\"===A(r=e.sent)){e.next=7;break}throw new Error(\"plugin-service: Custom component needs to be an object\");case 7:t.component(n.info.componentName,r);case 8:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())),l=Promise.all(n.filter((function(e){return\"component-definition\"===e.info.type})).map((function(e){return e.fn(S({},i))}))),e.next=6,Promise.all([a,l]);case 6:s=e.sent,o.initialized=!0,(r=o.definitions).push.apply(r,E(s[1]));case 9:case\"end\":return e.stop()}}),e)})))()},extendComponents:function(e){return o.initialized?(o.definitions.filter(Boolean).forEach((function(t){var n=I(e.filter((function(e){return e.key&&e.key===t.key})),1)[0];if(n){var r=ae(!0,{},n.brush);ae(!0,n,t),t.brush&&(n.brush=function(e,t){return\"object\"===A(e)&&Object.keys(e).length?(Array.isArray(t.consume)&&(e.consume=kn({originalArray:e.consume,newArray:t.consume,matchKey:\"context\"})),Array.isArray(t.trigger)&&(e.trigger=kn({originalArray:e.trigger,newArray:t.trigger,matchKey:\"on\"})),e):t}(r,t.brush))}else e.push(t)})),e):e}}}function Mn(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sn(Object(n),!0).forEach((function(t){Mn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var On=Object.prototype.hasOwnProperty,In=Object.prototype.toString,En=Object.defineProperty,An=Object.getOwnPropertyDescriptor,Tn=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===In.call(e)},Nn=function(e){if(!e||\"[object Object]\"!==In.call(e))return!1;var t,n=On.call(e,\"constructor\"),r=e.constructor&&e.constructor.prototype&&On.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!n&&!r)return!1;for(t in e);return void 0===t||On.call(e,t)},Ln=function(e,t){En&&\"__proto__\"===t.name?En(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},Pn=function(e,t){if(\"__proto__\"===t){if(!On.call(e,t))return;if(An)return An(e,t).value}return e[t]},jn=function e(){var t,n,r,i,o,a,l=arguments[0],s=1,c=arguments.length,u=!1;for(\"boolean\"==typeof l&&(u=l,l=arguments[1]||{},s=2),(null==l||\"object\"!=typeof l&&\"function\"!=typeof l)&&(l={});s<c;++s)if(null!=(t=arguments[s]))for(n in t)r=Pn(l,n),l!==(i=Pn(t,n))&&(u&&i&&(Nn(i)||(o=Tn(i)))?(o?(o=!1,a=r&&Tn(r)?r:[]):a=r&&Nn(r)?r:{},Ln(l,{name:n,newValue:e(u,a,i)})):void 0!==i&&Ln(l,{name:n,newValue:i}));return l};function Fn(e,t,n,r){if(!e)return-1;const i=n.cache,o=e.origin?e.origin():null;o&&(e=o);let a=i.fields.indexOf(e),l=-1,s=-1;if(-1===a)for(let t=0;t<i.wrappedFields.length;t++)if(s=i.wrappedFields[t].attrDims.map((e=>e.instance)).indexOf(e),l=i.wrappedFields[t].attrExps.map((e=>e.instance)).indexOf(e),-1!==s||-1!==l){a=t;break}if(Array.isArray(r)&&r.some(((e,t)=>e!==t))){const e=r.indexOf(a);-1!==e&&(a=e)}return a-=t.qArea.qLeft,a<0||a>=t.qArea.qWidth?-1:s>=0?e=>e[a].qAttrDims.qValues[s]:l>=0?e=>e[a].qAttrExps.qValues[l]:e=>e[a]}function Hn(e,t,n){let{key:r}=n;const i={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return i.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(i.value),e.field&&(i.source={key:r,field:e.field.key()}),i}function zn(e){let{cache:t,f:n,mainCell:r,p:i,prop:o,page:a,rowIdx:l,row:s,sourceKey:c,target:u,targetProp:f,columnOrder:d}=e,p=r;if(i.field&&i.field!==n){const e=Fn(i.field,a,{cache:t},d);if(-1===e)return;p=jn({qRow:l},e(s))}u[f]=Hn(i,p,{key:c})}function Rn(e,t,n,r){const i=Array.isArray(e)?e:[e];let o=[];for(let e=0;e<i.length;e++)if(void 0!==i[e].field){const a=t.raw(),l=t.key(),s=\"object\"==typeof i[e].field?i[e].field:t.field(i[e].field),{props:c,main:u}=r.normalizeConfig(i[e],t),f=Object.keys(c),d=!!i[e].trackBy,p=typeof i[e].trackBy,h={},m=[],g=[];for(let t=0;t<a.qDataPages.length;t++){const o=Fn(s,a.qDataPages[t],{cache:n},a.qColumnOrder);if(-1!==o)for(let v=0;v<a.qDataPages[t].qMatrix.length;v++){const y=a.qDataPages[t].qArea.qTop+v,b=jn({qRow:y},o(a.qDataPages[t].qMatrix[v])),x=Hn(u,b,{key:l});if(!(u.filter&&!u.filter(b))){for(let e=0;e<f.length;e++){const r=c[f[e]];let i=r.fields||[r];r.fields&&(x[f[e]]=[]);for(let o=0;o<i.length;o++)zn({cache:n,f:s,mainCell:b,p:i[o],prop:f[e],props:c,page:a.qDataPages[t],rowIdx:y,row:a.qDataPages[t].qMatrix[v],sourceKey:l,target:r.fields?x[f[e]]:x,targetProp:r.fields?o:f[e],columnOrder:a.qColumnOrder});if(r.fields){const t=x[f[e]].map((e=>e.value)),n=x[f[e]].map((e=>e.label));x[f[e]]={value:\"function\"==typeof r.value?r.value(t):void 0!==r.value?r.value:t,label:\"function\"==typeof r.label?r.label(n):void 0!==r.label?String(r.label):String(x[f[e]].value)}}}d&&r.track({cfg:i[e],itemData:b,obj:x,target:m,tracker:h,trackType:p}),g.push(x)}}}const v=d?r.collect(m,{main:u,propsArr:f,props:c}):g;o=[...o,...v]}return o}function Vn(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function $n(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=Bn)):void 0===t&&(t=_n);for(var n,r,i,o,a,l=new Un(e),s=[l];n=s.pop();)if((i=t(n.data))&&(a=(i=Array.from(i)).length))for(n.children=i,o=a-1;o>=0;--o)s.push(r=i[o]=new Un(i[o])),r.parent=n,r.depth=n.depth+1;return l.eachBefore(Yn)}function _n(e){return e.children}function Bn(e){return Array.isArray(e)?e[1]:null}function Kn(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function Yn(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function Un(e){this.data=e,this.depth=this.height=0,this.parent=null}function Gn(e){return null==e?null:function(e){if(\"function\"!=typeof e)throw new Error;return e}(e)}Un.prototype=$n.prototype={constructor:Un,count:function(){return this.eachAfter(Vn)},each:function(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this},eachAfter:function(e,t){for(var n,r,i,o=this,a=[o],l=[],s=-1;o=a.pop();)if(l.push(o),n=o.children)for(r=0,i=n.length;r<i;++r)a.push(n[r]);for(;o=l.pop();)e.call(t,o,++s,this);return this},eachBefore:function(e,t){for(var n,r,i=this,o=[i],a=-1;i=o.pop();)if(e.call(t,i,++a,this),n=i.children)for(r=n.length-1;r>=0;--r)o.push(n[r]);return this},find:function(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;e=n.pop(),t=r.pop();for(;e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return $n(this).eachBefore(Kn)},[Symbol.iterator]:function*(){var e,t,n,r,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(yield i,t=i.children)for(n=0,r=t.length;n<r;++n)o.push(t[n])}while(o.length)}};var Wn={depth:-1},Xn={},Zn={};function Jn(e){return e.id}function Qn(e){return e.parentId}function er(){var e,t=Jn,n=Qn;function r(r){var i,o,a,l,s,c,u,f,d=Array.from(r),p=t,h=n,m=new Map;if(null!=e){const t=d.map(((t,n)=>function(e){let t=(e=`${e}`).length;nr(e,t-1)&&!nr(e,t-2)&&(e=e.slice(0,-1));return\"/\"===e[0]?e:`/${e}`}(e(t,n,r)))),n=t.map(tr),i=new Set(t).add(\"\");for(const e of n)i.has(e)||(i.add(e),t.push(e),n.push(tr(e)),d.push(Zn));p=(e,n)=>t[n],h=(e,t)=>n[t]}for(a=0,i=d.length;a<i;++a)o=d[a],c=d[a]=new Un(o),null!=(u=p(o,a,r))&&(u+=\"\")&&(f=c.id=u,m.set(f,m.has(f)?Xn:c)),null!=(u=h(o,a,r))&&(u+=\"\")&&(c.parent=u);for(a=0;a<i;++a)if(u=(c=d[a]).parent){if(!(s=m.get(u)))throw new Error(\"missing: \"+u);if(s===Xn)throw new Error(\"ambiguous: \"+u);s.children?s.children.push(c):s.children=[c],c.parent=s}else{if(l)throw new Error(\"multiple roots\");l=c}if(!l)throw new Error(\"no root\");if(null!=e){for(;l.data===Zn&&1===l.children.length;)l=l.children[0],--i;for(let e=d.length-1;e>=0&&(c=d[e],c.data===Zn);--e)c.data=null}if(l.parent=Wn,l.eachBefore((function(e){e.depth=e.parent.depth+1,--i})).eachBefore(Yn),l.parent=null,i>0)throw new Error(\"cycle\");return l}return r.id=function(e){return arguments.length?(t=Gn(e),r):t},r.parentId=function(e){return arguments.length?(n=Gn(e),r):n},r.path=function(t){return arguments.length?(e=Gn(t),r):e},r}function tr(e){let t=e.length;if(t<2)return\"\";for(;--t>1&&!nr(e,t););return e.slice(0,t)}function nr(e,t){if(\"/\"===e[t]){let n=0;for(;t>0&&\"\\\\\"===e[--t];)++n;if(0==(1&n))return!0}return!1}function rr(e,t){\"/\"===e.charAt(0)&&(e=e.substring(1));const n=e.split(\"/\");let r,i=t;for(let e=0;e<n.length;e++){if(\"*\"===n[e]&&Array.isArray(i)){const t=[];r=n.slice(e+1).join(\"/\");for(let e=0;e<i.length;e++){let n=rr(r,i[e]);Array.isArray(n)?t.push(...n):t.push(n)}return t}if(!n[e]&&Array.isArray(i)){const t=new Array(i.length);r=n.slice(e+1).join(\"/\");for(let e=0;e<i.length;e++)t[e]=rr(r,i[e]);return t}n[e]in i&&(i=i[n[e]])}return i}function ir(e,t,n){let r=[];if(!e||!e.length)return r;if(t<=0){const t=n>=0?[e[n]]:e;r=[...r,...t]}else for(let i=0;i<e.length;i++)e[i].children&&e[i].children.length&&(r=[...r,...ir(e[i].children,t-1,n)]);return r}function or(e,t,n){if(e===t)return e=>e;if(e>t){const n=Math.max(0,Math.min(100,e-t));return e=>{let t=e;for(let e=0;e<n;++e)t=t.parent;return t}}if(t>e){const r=Math.max(0,Math.min(100,t-e));return e=>ir(e.children,r-1,n)}return!1}function ar(e,t){let{cache:n}=t;if(\"number\"==typeof e)return n.fields[e];const r=n.allFields;if(\"function\"==typeof e){for(let t=0;t<r.length;t++)if(e(r[t]))return r[t];return!1}if(\"string\"==typeof e){for(let t=0;t<r.length;t++)if(r[t].key()===e||r[t].title()===e)return r[t]}else if(e&&-1!==r.indexOf(e))return e;throw Error(\"Field not found: \".concat(e))}const lr=/^qDimensionInfo(?:\\/(\\d+))?/,sr=/^\\/?qMeasureInfo\\/(\\d+)/,cr=/\\/qAttrExprInfo\\/(\\d+)/,ur=/\\/qAttrDimInfo\\/(\\d+)/;function fr(e){return(e.qColumnOrder&&e.qColumnOrder.length?e.qColumnOrder:e.qDimensionInfo.map(((e,t)=>t))).filter((t=>t<e.qDimensionInfo.length))}function dr(e,t){let{cube:n}=t;if(!e)return-1;let r=e.origin&&e.origin()?e.origin().key():e.key(),i=!1,o=-1,a=-1,l=-1,s=-1,c=-1,u=-1,f=r;const d=n.qEffectiveInterColumnSortOrder,p=fr(n);return lr.test(f)&&(i=!0,o=+lr.exec(f)[1],f=r.replace(lr,\"\")),sr.test(f)&&(\"K\"===n.qMode?c=+sr.exec(f)[1]:d&&-1!==d.indexOf(-1)?(c=+sr.exec(f)[1],u=0):u=+sr.exec(f)[1],f=f.replace(sr,\"\")),f&&(ur.exec(f)?l=+ur.exec(f)[1]:cr.exec(f)&&(a=+cr.exec(f)[1])),s=i?\"S\"===n.qMode?p[o]:d?d.indexOf(o):o:d&&-1!==d.indexOf(-1)?d.indexOf(-1):n.qDimensionInfo.length-(\"K\"===n.qMode?0:1),{fieldDepth:s+1,pseudoMeasureIndex:c,measureIdx:u,attrDimIdx:l,attrIdx:a}}function pr(e,t){let n,r,i=or(e.fieldDepth,t.fieldDepth,t.pseudoMeasureIndex);return n=t.measureIdx>=0?e=>e.data.qValues[t.measureIdx]:e=>e.data,t.attrDimIdx>=0?r=e=>{var n;return null==e||null===(n=e.qAttrDims)||void 0===n?void 0:n.qValues[t.attrDimIdx]}:t.attrIdx>=0&&(r=e=>{var n;return null==e||null===(n=e.qAttrExps)||void 0===n?void 0:n.qValues[t.attrIdx]}),{nodeFn:i,attrFn:r,valueFn:n}}function hr(e,t,n){let{key:r}=n;const i={value:\"function\"==typeof e.value?e.value(t):void 0!==e.value?e.value:t};return i.label=\"function\"==typeof e.label?e.label(t):void 0!==e.label?String(e.label):String(i.value),e.field&&(i.source={key:r,field:e.field.key()}),i}function mr(e){let{propsArr:t,props:n,item:r,itemData:i,ret:o,sourceKey:a}=e;for(let e=0;e<t.length;e++){const l=n[t[e]],s=l.fields||[l];let c,u;l.fields&&(c=[],u=[]);for(let n=0;n<s.length;n++){const f=s[n];let d,p,h,m,g,v;if(\"primitive\"===f.type?(h=f.value,v=String(f.value)):(\"function\"==typeof f.value&&(d=e=>f.value(e,r)),\"function\"==typeof f.label&&(p=e=>f.label(e,r)),f.accessor?(m=f.accessor(r),Array.isArray(m)?(g=m.map(f.valueAccessor),f.attrAccessor&&(g=g.map(f.attrAccessor)),d&&(h=g.map(d),d=null),p&&(v=g.map(p),p=null),h=f.reduce?f.reduce(h):h,v=f.reduceLabel?f.reduceLabel(v,h):String(h)):(h=f.attrAccessor?f.attrAccessor(f.valueAccessor(m)):f.valueAccessor(m),v=h)):(h=i,v=i)),l.fields){const e=d?d(h):h;c.push(e),u.push(p&&null!=v?p(v):null!=v?v:String(e))}else{const n=d?d(h):h;o[t[e]]={value:n,label:p?p(v):null!=v?v:String(n)},f.field&&(o[t[e]].source={field:f.field.key(),key:a})}}c&&(o[t[e]]={value:\"function\"==typeof l.value?l.value(c,r):c,label:\"function\"==typeof l.label?l.label(u,r):u})}}const gr=(e,t,n)=>{const r=\"K\"===e.qMode?\"/qStackedDataPages/*/qData\":\"/qTreeDataPages/*\",i=\"K\"===e.qMode?\"qSubNodes\":\"qNodes\",o=rr(r,e);return o&&o[0]?(t.tree=$n(o[0],n.children||(e=>e[i])),t.tree):null};function vr(e){const t=e.raw().qDataPages.length?e.raw().qDataPages[0].qMatrix:[],n=function(e){const t=e.raw().qColumnOrder,n=e.fields();return t&&t.length===n.length?t:n.map(((e,t)=>t))}(e),r=e.fields(),i=e.fields().filter((e=>\"dimension\"===e.type())).map((e=>n.indexOf(r.indexOf(e)))),o=e.fields().filter((e=>\"measure\"===e.type())).map((e=>n.indexOf(r.indexOf(e)))),a={__root:{__id:\"__root\",qValues:[]}};for(let e=0;e<t.length;e++){const n=t[e];let r=\"__root\",s=!1;for(let e=0;e<i.length;e++){var l;const t=n[i[e]],o=\"\".concat(r,\"__\").concat(null!==(l=t.qElemNumber)&&void 0!==l?l:t.qElemNo);a[o]||(a[o]=Dn({__id:o,__parent:r,qValues:[]},t),s=!0),r=o}if(s)for(let e=0;e<o.length;e++){const t=n[o[e]];a[r].qValues.push(t)}}const s=Object.keys(a).map((e=>a[e]));return er().id((e=>e.__id)).parentId((e=>e.__parent))(s)}const yr=e=>{let{propsArr:t,props:n,cube:r,cache:i,itemDepthObject:o,f:a}=e;for(let e=0;e<t.length;e++){const l=n[t[e]],s=l.fields?l.fields:[l];for(let e=0;e<s.length;e++){const t=s[e];if(t.field!==a){const e=pr(o,dr(t.field,{cube:r,cache:i}));t.accessor=e.nodeFn,t.valueAccessor=e.valueFn,t.attrAccessor=e.attrFn}}}};function br(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;const i=t.raw(),o=t.key(),a=\"S\"===i.qMode?vr(t):gr(i,n,e);if(!a)return null;const l=a.height,s=[];for(let o=0;o<=l;o++){let a=null;if(o>0)if(\"S\"===i.qMode){let e=fr(i)[o-1];a=n.fields[e]}else{let e=i.qEffectiveInterColumnSortOrder[o-1];o>i.qEffectiveInterColumnSortOrder.length&&(e=i.qDimensionInfo.length),a=n.fields[e]}const{props:l,main:c}=r.normalizeConfig(Dn(Dn({},e),{},{field:a?a.key():void 0}),t),u=Object.keys(l);s[o]={propsArr:u,props:l,main:c};const f=a?dr(a,{cube:i,cache:n}):{fieldDepth:0};yr({propsArr:u,props:l,cube:i,cache:n,itemDepthObject:f,f:a})}const c=a.copy(),u=c.descendants(),f=a.descendants();for(let e=0;e<f.length;e++){const t=s[f[e].depth].propsArr,n=s[f[e].depth].props,r=s[f[e].depth].main,i=u[e],a=i.data,l=hr(r,a,{key:o});mr({propsArr:t,props:n,item:i,itemData:a,ret:l,sourceKey:o,isTree:!0}),f[e].data=l}return a}function xr(e,t,n,r){const i=Array.isArray(e)?e:[e];let o=[];for(let a=0;a<i.length;a++)if(void 0!==i[a].field){const l=t.raw(),s=t.key();if(!gr(l,n,e))continue;const c=\"object\"==typeof i[a].field?i[a].field:t.field(i[a].field),{props:u,main:f}=r.normalizeConfig(i[a],t),d=Object.keys(u),p=dr(c,{cube:l,cache:n}),{nodeFn:h,attrFn:m,valueFn:g}=pr({fieldDepth:0},p);yr({propsArr:d,props:u,cube:l,cache:n,itemDepthObject:p,f:c});const v=!!i[a].trackBy,y=typeof i[a].trackBy,b={},x=[],q=h(n.tree),w=[];for(let e=0;e<q.length;e++){const t=q[e],n=m?m(g(t)):g(t);if(f.filter&&!f.filter(n))continue;const o=hr(f,n,{key:s});mr({propsArr:d,props:u,item:t,itemData:n,ret:o,sourceKey:s}),v&&r.track({cfg:i[a],itemData:n,obj:o,target:x,tracker:b,trackType:y}),w.push(o)}const k=v?r.collect(x,{main:f,propsArr:d,props:u}):w;o=[...o,...k]}return o}\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;var qr,wr,kr=(qr=function(e){\n/*! javascript-number-formatter - v1.1.11 - http://mottie.github.com/javascript-number-formatter/ * © ecava */\ne.exports=function(e,t){if(!e||isNaN(+t))return t;var n,r,i,o,a,l,s,c,u,f,d=e.length,p=e.search(/[0-9\\-\\+#]/),h=p>0?e.substring(0,p):\"\",m=e.split(\"\").reverse().join(\"\"),g=m.search(/[0-9\\-\\+#]/),v=d-g,y=e.substring(v,v+1),b=v+(\".\"===y||\",\"===y?1:0),x=g>0?e.substring(b,d):\"\";if(n=(t=\"-\"===(e=e.substring(p,b)).charAt(0)?-t:+t)<0?t=-t:0,i=(r=e.match(/[^\\d\\-\\+#]/g))&&r[r.length-1]||\".\",o=r&&r[1]&&r[0]||\",\",e=e.split(i),t=+(t=t.toFixed(e[1]&&e[1].length))+\"\",l=e[1]&&e[1].lastIndexOf(\"0\"),(!(c=t.split(\".\"))[1]||c[1]&&c[1].length<=l)&&(t=(+t).toFixed(l+1)),u=e[0].split(o),e[0]=u.join(\"\"),(a=e[0]&&e[0].indexOf(\"0\"))>-1)for(;c[0].length<e[0].length-a;)c[0]=\"0\"+c[0];else 0==+c[0]&&(c[0]=\"\");if((t=t.split(\".\"))[0]=c[0],s=u[1]&&u[u.length-1].length){for(m=\"\",v=(f=t[0]).length%s,d=f.length,b=0;b<d;b++)m+=f.charAt(b),!((b-v+1)%s)&&b<d-s&&(m+=o);t[0]=m}return t[1]=e[1]&&t[1]?i+t[1]:\"\",\"0\"!==(r=t.join(\"\"))&&\"\"!==r||(n=!1),h+(n?\"-\":\"\")+r+x}},qr(wr={exports:{}},wr.exports),wr.exports);function Cr(e){return e.replace(/[-[\\]/{}()*+?.\\\\^$|]/g,\"\\\\$&\")}const Mr={3:\"k\",6:\"M\",9:\"G\",12:\"T\",15:\"P\",18:\"E\",21:\"Z\",24:\"Y\",\"-3\":\"m\",\"-6\":\"μ\",\"-9\":\"n\",\"-12\":\"p\",\"-15\":\"f\",\"-18\":\"a\",\"-21\":\"z\",\"-24\":\"y\"},Sr=/%\\)?$/,Dr=/^\\(r(0[2-9]|[12]\\d|3[0-6])\\)/i,Or=/^\\(oct\\)/i,Ir=/^\\(dec\\)/i,Er=/^\\(hex\\)/i,Ar=/^\\(bin\\)/i,Tr=/^\\(rom\\)/i,Nr=/^(\\(rom\\)|\\(bin\\)|\\(hex\\)|\\(dec\\)|\\(oct\\)|\\(r(0[2-9]|[12]\\d|3[0-6])\\))/i,Lr=/#|0/g;function Pr(e,t,n,r){return e=e.toString(t),n[1]===n[1].toUpperCase()&&(e=e.toUpperCase()),e.length-e.indexOf(\".\")>10&&(e=e.slice(0,e.indexOf(\".\")+11)),e.replace(\".\",r||\".\")}function jr(e,t,n){let r;return Dr.test(t)?e=Pr(e,Number(/\\d{2}/.exec(t)[0]),t,n):Or.test(t)?e=Pr(e,8,t,n):Ir.test(t)?e=Pr(e,10,t,n):Er.test(t)?e=Pr(e,16,t,n):Ar.test(t)?e=Pr(e,2,t,n):Tr.test(t)&&(r=\"\",e<0&&(r=\"-\",e=-e),0===(e=Math.floor(e))?e=\"0\":e<=5e5?(e=function(e,t){let n,r=\"\",i=Number(String(e).slice(-3)),o=(e-i)/1e3,a=[0,1,4,5,9,10,40,50,90,100,400,500,900].reverse(),l=[\"0\",\"I\",\"IV\",\"V\",\"IX\",\"X\",\"XL\",\"L\",\"XC\",\"C\",\"CD\",\"D\",\"CM\"].reverse();for(;i>0;)for(n=0;n<a.length;n++)if(a[n]<=i){r+=l[n],i-=a[n];break}for(n=0;n<o;n++)r=\"M\".concat(r);return t[1]!==t[1].toUpperCase()&&(r=r.toLowerCase()),r}(e,t),e=r+e):e=t+r+e.toExponential(0)),e}function Fr(e,t,n){const r=Cr(e);return n?r:new RegExp(r||\"\",t)}function Hr(e,t,n,r){let i,o,a,l,s,c,u,f,d,p=e.pattern;var h,m;r&&(e.abbreviate=!0),h=t,(m=n)&&(m=Cr(m)),h&&(h=Cr(h)),d=new RegExp(\"(?:[#0]+\".concat(h,\")?[#0]+(?:\").concat(m,\"[#0]+)?\")),a=p.match(d),a=a?a[0]:\"\",l=a?p.substr(0,p.indexOf(a)):p,s=a?p.substring(p.indexOf(a)+a.length):\"\",a||(a=p?\"#\":\"##########\"),t&&t===n&&(i=a.split(n),o=i.pop(),a=i.join(\"\")+n+o,t=\"\"),c=t,t=/,/.test(n)?\"¤\":\",\",c&&(a=a.replace(Fr(c,\"g\"),t)),u=n,n=\".\",u&&(a=a.replace(Fr(u,\"g\"),n)),f=a.match(/#/g),f=f?f.length:0;const g=p.split(u);let v;g[1]&&(v=g[1].match(Lr)),e.prefix=l||\"\",e.postfix=s||\"\",e.pattern=p,e.maxPrecision=v?v.length:2,e.percentage=Sr.test(p),e.numericPattern=a||\"\",e.numericRegex=new RegExp(\"\".concat(Fr(t,null,!0),\"|\").concat(Fr(n,null,!0)),\"g\"),e.groupTemp=c,e.decTemp=u,e.t=t,e.d=n,e.temp=f}class zr{constructor(e,t,n,r,i){this.localeInfo=e,this.pattern=t,this.thousandDelimiter=n||\",\",this.decimalDelimiter=r||\".\",this.type=i||\"numeric\",this.patternSeparator=\";\",this.abbreviations=function(e,t){if(!e||!e.qNumericalAbbreviation)return Mr;const n={};return e.qNumericalAbbreviation.split(t).forEach((e=>{let t=e.split(\":\");2===t.length&&(n[t[0]]=t[1])})),n}(e,this.patternSeparator),this.prepare()}clone(){const e=new zr(this.localeInfo,this.pattern,this.thousandDelimiter,this.decimalDelimiter,this.type);return e.subtype=this.subtype,e}format(e,t,n,r){return this.prepare(t,n,r),this.formatValue(e)}prepare(e,t,n){let r;if(void 0===e&&(e=this.pattern),void 0===t&&(t=this.thousandDelimiter),void 0===n&&(n=this.decimalDelimiter),!e)return void(this._prepared={pattern:!1});this._prepared={positive:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},negative:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"},zero:{d:n,t:t,abbreviate:!1,isFunctional:!1,prefix:\"\",postfix:\"\"}},r=this._prepared,e=e.split(this.patternSeparator),r.positive.pattern=e[0],r.negative.pattern=e[1],r.zero.pattern=e[2],Nr.test(e[0])&&(r.positive.isFunctional=!0),e[1]?Nr.test(e[1])&&(r.negative.isFunctional=!0):r.negative=!1,e[2]?Nr.test(e[2])&&(r.zero.isFunctional=!0):r.zero=!1;const i=\"U\"===this.type;r.positive.isFunctional||Hr(r.positive,t,n,i),r.negative&&!r.negative.isFunctional&&Hr(r.negative,t,n,i),r.zero&&!r.zero.isFunctional&&Hr(r.zero,t,n,i)}formatValue(e){let t,n,r,i,o,a,l,s,c,u=this._prepared,f=\"\",d=\"\",p=e;if(isNaN(e))return\"\".concat(p);if(e=+e,!1===u.pattern)return e.toString();if(0===e&&u.zero)return u=u.zero,u.pattern;if(e<0&&u.negative?(u=u.negative,e=-e):u=u.positive,o=u.d,a=u.t,u.isFunctional)e=jr(e,u.pattern,o);else{if(u.percentage&&(e*=100),u.abbreviate){const t=Object.keys(this.abbreviations).map((e=>parseInt(e,10))).sort(((e,t)=>e-t));let r,i,o=t[0];for(l=0,n=Number(Number(e).toExponential().split(\"e\")[1]);o<=n&&l<t.length;)l++,o=t[l];l>0&&(r=t[l-1]),r&&n>0&&r>0?i=r:(n<0&&r<0||!r)&&(o<0&&o-n<=u.maxPrecision?i=o:r<=n&&!(o>0&&-n<=u.maxPrecision)&&(i=r)),i&&(f=this.abbreviations[i],e/=10**i)}if(r=Math.abs(e),t=u.temp,s=u.numericPattern,c=s.split(o)[1],\"I\"===this.type&&(e=Math.round(e)),i=e,c||\"#\"!==s.slice(-1)[0])if(r>=1e15||r>0&&r<=1e-14)e=r?r.toExponential(15).replace(/\\.?0+(?=e)/,\"\"):\"0\";else{const t=Number((e+1e-15*(e<0?-1:1)).toFixed(Math.min(20,c?c.length:0)).split(\".\")[0]);let n=s.split(o)[0];if(n+=o,e=kr(n,t)||\"0\",c){const t=Math.max(0,Math.min(14,c.length)),n=c.replace(/#+$/,\"\").length;let i=(\"I\"===this.type?0:r%1+1e-15).toFixed(t).slice(2).replace(/0+$/,\"\");for(l=i.length;l<n;l++)i+=\"0\";i&&(e+=o+i)}else 0===t&&(i=0)}else if(r>=10**t||r<1||r<1e-4)0===e?e=\"0\":r<1e-4||r>=1e20?(e=(e=i.toExponential(Math.max(1,Math.min(14,t))-1)).replace(/\\.?0+(?=e)/,\"\"),d=\"\"):(e=e.toPrecision(Math.max(1,Math.min(14,t)))).indexOf(\".\")>=0&&(e=(e=e.replace(e.indexOf(\"e\")<0?/0+$/:/\\.?0+(?=e)/,\"\")).replace(\".\",o));else{for(s+=o,t=Math.max(0,Math.min(20,t-Math.ceil(Math.log(r)/Math.log(10)))),l=0;l<t;l++)s+=\"#\";e=kr(s,e)}e=e.replace(u.numericRegex,(e=>e===a?u.groupTemp:e===o?u.decTemp:\"\")),i<0&&!/^-/.test(e)&&(e=\"-\".concat(e))}return u.prefix+e+d+f+u.postfix}static getStaticFormatter(){return{prepare(){},formatValue:e=>\"\".concat(e)}}}function Rr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{size:n=5e3,multipleArguments:r=!1,toKey:i=(e=>e)}=t;let o,a,l=Object.create(null),s=Object.create(null),c=0,u=0;return o=r?function(){return a=i(...arguments),o.has(a)?o.get(a):o.set(a,e(...arguments))}:t=>(a=i(t),o.has(a)?o.get(a):o.set(a,e(t))),o.set=(e,t)=>(c>=n&&(delete l[s[u]],delete s[u],c--,u++),l[e]=t,s[c]=e,c++,t),o.get=e=>l[e],o.has=e=>e in l,o.clear=()=>{l=Object.create(null),s=Object.create(null),c=0,u=0},o.size=()=>c,o}function Vr(e,t,n,r,i){const o=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new zr(...t)}(i,e,t,n,r),a=Rr(o.formatValue.bind(o),{toKey:e=>isNaN(e)?e:+e});function l(e){return a(e)}return l.format=function(e,t,n,r){return a.clear(),o.format(t,e,n,r)},l.pattern=function(e){return e&&(a.clear(),o.pattern=e,o.prepare()),o.pattern},l}const $r=\"D\",_r=\"T\",Br=\"TS\",Kr=\"IV\",Yr=[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\",\"Sunday\"],Ur=[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\",\"Sun\"],Gr=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],Wr=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function Xr(e,t){for(let n=e.length;n<t;n++)e=\"0\".concat(e);return e}function Zr(e){let t=e.toString().split(\".\");return t[1]?(t=Number(\"0.\".concat(t[1])),t):0}function Jr(e,t){let n,r=function(e){const t=e,n=24*Zr(t),r=60*Zr(n),i=60*Zr(r),o=1e3*Zr(i);return{d:Math.floor(t),h:Math.floor(n),m:Math.floor(r),s:Math.floor(i),f:Math.round(o)}}(e),i=r.d,o=r.h,a=r.m,l=r.s,s=r.f,c=0;/w+|t+/gi.test(t)&&(n=new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,Math.round(86400*(e-Math.floor(e))))),isNaN(n.getTime())&&(n=null)),/D+/gi.test(t)||(o+=24*i),/h+/gi.test(t)||(a+=60*o),/m+/gi.test(t)||(l+=60*a),/w+/gi.test(t)&&(c=n?n.getDay()-1:0,c<0&&(c=6));let u=\"\";return n&&(u=n.getUTCHours()>=12?\"pm\":\"am\"),{year:0,month:0,day:c,date:i,h:o,m:a,s:l,f:s,t:u}}class Qr{constructor(e,t,n){const r=e||{};if(r.qCalendarStrings||(r.qCalendarStrings={qLongDayNames:Yr,qDayNames:Ur,qLongMonthNames:Gr,qMonthNames:Wr}),this.localeInfo=r,this.locale_days=r.qCalendarStrings.qLongDayNames.slice(),this.locale_days_abbr=r.qCalendarStrings.qDayNames.slice(),this.locale_months=r.qCalendarStrings.qLongMonthNames.slice(),this.locale_months_abbr=r.qCalendarStrings.qMonthNames.slice(),!t){t={[_r]:r.qTimeFmt||\"hh:mm:ss\",[$r]:r.qDateFmt||\"YYYY-MM-DD\",[Br]:r.qTimestampFmt||\"YYYY-MM-DD hh:mm:ss\"}[n]}this.pattern=t}clone(){const e=new Qr(this.localeInfo,this.pattern);return e.subtype=this.subtype,e}format(e,t){t||(t=this.pattern?this.pattern:\"YYYY-MM-DD hh:mm:ss\"),t=t.replace(/\\[.+]|\\[|]/g,\"\");const n=/t+/gi.test(t);let r;e instanceof Date?r=function(e,t){let n=e.getUTCHours(),r=e.getUTCDay()-1;return t&&(n%=12,n||(n=12)),r<0&&(r=6),{year:e.getUTCFullYear(),month:e.getUTCMonth(),day:r,date:e.getUTCDate(),h:n,m:e.getUTCMinutes(),s:e.getUTCSeconds(),f:e.getUTCMilliseconds(),t:e.getUTCHours()>=12?\"pm\":\"am\"}}(e,n):(e<0&&(e=-e,t=\"-\".concat(t)),r=Jr(e,t));const i=(o=this,a=r,{\"Y+|y+\":{Y:\"\".concat(Number(\"\".concat(a.year).slice(-2))),YY:Xr(\"\".concat(a.year).slice(-2),2),YYY:Xr(\"\".concat(a.year).slice(-3),3),def:e=>Xr(\"\".concat(a.year),e.length)},\"M+\":{M:a.month+1,MM:Xr(\"\".concat(a.month+1),2),MMM:o.locale_months_abbr[a.month],def:o.locale_months[a.month]},\"W+|w+\":{W:a.day,WW:Xr(\"\".concat(a.day),2),WWW:o.locale_days_abbr[a.day],def:o.locale_days[a.day]},\"D+|d+\":{D:a.date,def:e=>Xr(\"\".concat(a.date),e.length)},\"h+|H+\":{h:a.h,def:e=>Xr(\"\".concat(a.h),e.length)},\"m+\":{m:a.m,def:e=>Xr(\"\".concat(a.m),e.length)},\"s+|S+\":{s:a.s,def:e=>Xr(\"\".concat(a.s),e.length)},\"f+|F+\":{def(e){let t=\"\".concat(a.f),n=e.length-t.length;if(n>0)for(let e=0;e<n;e++)t+=\"0\";else n<0&&(t=t.slice(0,e.length));return t}},\"t{1,2}|T{1,2}\":{def(e){let t=a.t;return e[0].toUpperCase()===e[0]&&(t=t.toUpperCase()),t=t.slice(0,e.length),t}}});var o,a;const l=[];for(const e in i)Object.prototype.hasOwnProperty.call(i,e)&&l.push(e);const s=new RegExp(l.join(\"|\"),\"g\");return t.replace(s,(e=>{let t,n,r;for(n in i)if(Object.prototype.hasOwnProperty.call(i,n)&&(t=new RegExp(n),t.test(e)))break;if(!t)return\"\";for(const t in i[n])if(t===e||t.toLowerCase()===e){r=i[n][t],void 0===r&&(r=i[n][t.toLowerCase()]);break}return void 0===r&&(r=i[n].def),\"function\"==typeof r&&(r=r(e)),r}))}}function ei(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Qr(...t)}function ti(e){return new Date(Date.UTC(1899,11,30+Math.floor(e),0,0,0,Math.round(864e5*(e-Math.floor(e)))))}function ni(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"TS\",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=ei(n,e,t),i=Rr(r.format.bind(r),{toKey:e=>\"object\"==typeof e&&\"function\"==typeof e.getTime?e.getTime():e});function o(e){return t!==Kr?ti(e):e}function a(e){return e=o(e),i(e)}return a.format=function(e,t){return i.clear(),t=o(t),r.format(t,e)},a.locale=function(n){return r=ei(n,e,t),i=Rr(r.format.bind(r),{toKey:e=>\"object\"==typeof e?e.getTime():e}),this},a.qtype=function(e){return void 0!==e&&(t=e,i.clear()),t},a}function ri(e,t){if(e&&e.qNumFormat&&-1!==[\"D\",\"T\",\"TS\",\"IV\"].indexOf(e.qNumFormat.qType))return ni(e.qNumFormat.qFmt,e.qNumFormat.qType,t);let n=\"#\",r=t&&void 0!==t.qThousandSep?t.qThousandSep:\",\",i=t&&void 0!==t.qDecimalSep?t.qDecimalSep:\".\",o=\"U\",a=e&&!!e.qIsAutoFormat;return e&&e.qNumFormat?(n=e.qNumFormat.qFmt||n,r=e.qNumFormat.qThou||r,i=e.qNumFormat.qDec||i,o=e.qNumFormat.qType||o,a=a&&-1===[\"M\"].indexOf(e.qNumFormat.qType)):a=!0,(a||\"U\"===o)&&(n=\"#\".concat(i,\"##\"),o=\"U\"),Vr(n,r,i,o,t)}function ii(){let e,{meta:t,id:n,key:r,localeInfo:i,fieldExtractor:o,value:a,type:l,sourceField:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const c=a||(\"dimension\"===l?e=>null==e?void 0:e.qElemNo:e=>null==e?void 0:e.qValue),u=e=>(null==e?void 0:e.qText)||\"\",f=\"dimension\"===l?\"first\":\"avg\",d=ri(t,i),p=\"dimension\"===l?\"first\":(e,t)=>d(t),h={id:()=>n,key:()=>r,raw:()=>t,title:()=>t.qFallbackTitle||t.label,type:()=>l,origin:()=>s,items:()=>(e||(e=o(h)),e),min:()=>t.qMin,max:()=>t.qMax,value:c,label:u,reduce:f,reduceLabel:p,formatter:()=>d,tags:()=>t.qTags};return h}function oi(e,t,n,r,i){return(t[e]||[]).map(((t,o)=>{const a=\"\".concat(r?\"\".concat(r,\"/\"):\"\").concat(e,\"/\").concat(o),l={instance:ii(jn({id:\"\".concat(n?\"\".concat(n,\"/\"):\"\").concat(a),key:a,meta:t},i))};return l.attrDims=oi(\"qAttrDimInfo\",t,n,a,jn({},i,{value:e=>null==e?void 0:e.qElemNo,type:\"dimension\"})),l.attrExps=oi(\"qAttrExprInfo\",t,n,a,jn({},i,{value:e=>null==e?void 0:e.qNum,type:\"measure\"})),l.measures=oi(\"qMeasureInfo\",t,n,a,jn({},i,{value:e=>null==e?void 0:e.qValue,type:\"measure\"})),l}))}function ai(){let{key:e,data:t,config:n={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r={fields:[],wrappedFields:[],allFields:[],virtualFields:[]},i=t;if(!i)throw new Error('Missing \"data\" input');if(!i.qDimensionInfo)throw new Error('The \"data\" input is not recognized as a hypercube');const o=ai.util,a={cache:r,cube:i,localeInfo:n.localeInfo,fieldExtractor:null,pages:null,hierarchy:()=>null,virtualFields:n.virtualFields},l={key:()=>e,raw:()=>i,field:e=>ar(e,a),fields:()=>r.fields.slice(),extract:e=>a.extractor(e,l,r,o),hierarchy:e=>a.hierarchy(e,l,r,o),_cache:()=>r};\"K\"===i.qMode||\"T\"===i.qMode||!i.qMode&&i.qNodesOnDim?(a.extractor=xr,a.hierarchy=br,a.pages=\"K\"===i.qMode?i.qStackedDataPages:i.qTreeDataPages):\"S\"===i.qMode?(a.extractor=Rn,a.pages=i.qDataPages,a.hierarchy=br):a.extractor=()=>[],a.fieldExtractor=e=>a.extractor({field:e},l,r,o);const s=\"S\"===i.qMode?e=>e.qElemNumber:void 0,c=\"S\"===i.qMode?e=>e.qNum:void 0;r.wrappedFields.push(...oi(\"qDimensionInfo\",i,e,\"\",jn({},a,{value:s,type:\"dimension\"}))),r.wrappedFields.push(...oi(\"qMeasureInfo\",i,e,\"\",jn({},a,{value:c,type:\"measure\"}))),r.fields=r.wrappedFields.map((e=>e.instance));const u=e=>{e.forEach((e=>{r.allFields.push(e.instance),u(e.measures),u(e.attrDims),u(e.attrExps)}))};return u(r.wrappedFields),(n.virtualFields||[]).forEach((t=>{const n=l.field(t.from),i=ii(Dn({meta:n.raw(),id:\"\".concat(e,\"/\").concat(t.key),sourceField:n,fieldExtractor:e=>a.extractor({field:e},l,r,o),key:t.key,type:n.type(),localeInfo:a.localeInfo,value:n.value},t.override||{}));r.virtualFields.push(i)})),r.allFields.push(...r.virtualFields),l}const li=[[\"qHyperCube\",\"qHyperCubeDef\"],[\"qTreeData\",\"qTreeDataDef\"],[\"qDimensionInfo\",\"qDimensions\"],[\"qMeasureInfo\",\"qMeasures\"],[\"qAttrDimInfo\",\"qAttributeDimensions\"],[\"qAttrExprInfo\",\"qAttributeExpressions\"]],si=/\\/qDimensionInfo(?:\\/(\\d+))?/,ci=/\\/qMeasureInfo\\/(\\d+)/,ui=/\\/qAttrDimInfo\\/(\\d+)(?:\\/(\\d+))?/,fi=/\\/qAttrExprInfo\\/(\\d+)/,di=/\\/?qHyperCube/,pi=/\\/?qTreeData/,hi=e=>\"\".concat(e.substr(0,e.indexOf(\"/qHyperCubeDef\")+14)),mi=e=>\"\".concat(e.substr(0,e.indexOf(\"/qTreeDataDef\")+13));function gi(e,t){let n=e,r=-1,i=-1,o=\"\",a=e=>e;di.test(e)?(o=\"\".concat(n.substr(0,n.indexOf(\"qHyperCube\")+10)),a=hi):pi.test(e)&&(o=\"\".concat(n.substr(0,n.indexOf(\"qTreeData\")+9)),a=mi);let l=!0;if(si.test(e)&&(r=+si.exec(e)[1]),ci.test(e)&&(i=+ci.exec(e)[1]),ui.test(e)){i=-1,r=0;const e=+ui.exec(n)[2];isNaN(e)||(r=e,n=n.replace(/\\/\\d+$/,\"\")),l=!1}if(fi.test(e)){const e=i;if(t){i=0;const a=rr(o,t);i+=(a.qMeasureInfo||[]).length,r>-1?(i=a.qDimensionInfo.slice(0,r).reduce(((e,t)=>e+t.qAttrExprInfo.length),i),r=-1):(i=a.qDimensionInfo.reduce(((e,t)=>e+t.qAttrExprInfo.length),i),i=a.qMeasureInfo.slice(0,e).reduce(((e,t)=>e+t.qAttrExprInfo.length),i)),i+=+fi.exec(n)[1]}else r>-1?(r=-1,i=+fi.exec(n)[1]):i+=+fi.exec(n)[1]+1}return li.forEach((e=>{let[t,r]=e;n=n.replace(t,r)})),l&&(n=a(n)),n&&\"/\"!==n[0]&&(n=\"/\".concat(n)),{measureIdx:i,dimensionIdx:r,path:n}}function vi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r=t.byCells,i=t.primarySource,o=[],a={},l=e.isActive();let s=!1;if(e.brushes().forEach((e=>{const t=gi(e.id,n);if(\"range\"===e.type&&t.measureIdx>-1&&t.dimensionIdx>-1){const n=e.brush.ranges();n.length&&(s=!0,a.multiRangeSelectTreeDataValues||(a.multiRangeSelectTreeDataValues={path:t.path,ranges:[]}),n.forEach((e=>a.multiRangeSelectTreeDataValues.ranges.push({qMeasureIx:t.measureIdx,qDimensionIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}}))))}else{if(\"range\"===e.type&&t.measureIdx>-1){const n=e.brush.ranges();n.length&&(s=!0,a.rangeSelectHyperCubeValues||(a.rangeSelectHyperCubeValues={path:t.path,ranges:[]}),n.forEach((e=>a.rangeSelectHyperCubeValues.ranges.push({qMeasureIx:t.measureIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!0}}))))}if(\"range\"===e.type&&t.dimensionIdx>-1){const n=e.brush.ranges();n.length&&(s=!0,a.selectHyperCubeContinuousRange||(a.selectHyperCubeContinuousRange={path:t.path,ranges:[]}),n.forEach((e=>a.selectHyperCubeContinuousRange.ranges.push({qDimIx:t.dimensionIdx,qRange:{qMin:e.min,qMax:e.max,qMinInclEq:!0,qMaxInclEq:!1}}))))}if(\"value\"===e.type&&t.dimensionIdx>-1)if(r)if(n&&n.qHyperCube&&(\"P\"===n.qHyperCube.qMode||\"T\"===n.qHyperCube.qMode||\"K\"===n.qHyperCube.qMode)){const r=n.qHyperCube,o=r.qNoOfLeftDims,l=r.qEffectiveInterColumnSortOrder.indexOf(t.dimensionIdx);if(a.selectPivotCells||(a.selectPivotCells={path:t.path,cells:[]}),e.id===i||!i){const n=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e)));(0===o||l>=o)&&o>-1?n.forEach((e=>{a.selectPivotCells.cells.push({qType:\"T\",qCol:e,qRow:l-o})})):n.forEach((e=>{a.selectPivotCells.cells.push({qType:\"L\",qCol:t.dimensionIdx,qRow:e})})),s=!!a.selectPivotCells.cells.length}}else a.selectHyperCubeCells||(a.selectHyperCubeCells={path:t.path,cols:[]}),a.selectHyperCubeCells.cols.push(t.dimensionIdx),e.id!==i&&(i||a.selectHyperCubeCells.values)||(a.selectHyperCubeCells.values=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e))),s=!!a.selectHyperCubeCells.values.length);else{const n=e.brush.values().map((e=>+e)).filter((e=>!isNaN(e)));s=!!n.length,o.push({params:[t.path,t.dimensionIdx,n,!1],method:\"selectHyperCubeValues\"})}}})),!s&&l)return[{method:\"resetMadeSelections\",params:[]}];var c;a.rangeSelectHyperCubeValues&&o.push({method:\"rangeSelectHyperCubeValues\",params:[a.rangeSelectHyperCubeValues.path,a.rangeSelectHyperCubeValues.ranges,[],null===(c=t.orMode)||void 0===c||c]});return a.selectHyperCubeContinuousRange&&o.push({method:\"selectHyperCubeContinuousRange\",params:[a.selectHyperCubeContinuousRange.path,a.selectHyperCubeContinuousRange.ranges]}),a.selectHyperCubeCells&&o.push({method:\"selectHyperCubeCells\",params:[a.selectHyperCubeCells.path,a.selectHyperCubeCells.values,a.selectHyperCubeCells.cols]}),a.selectPivotCells&&o.push({method:\"selectPivotCells\",params:[a.selectPivotCells.path,a.selectPivotCells.cells]}),a.multiRangeSelectTreeDataValues&&o.push({method:\"multiRangeSelectTreeDataValues\",params:[a.multiRangeSelectTreeDataValues.path,a.multiRangeSelectTreeDataValues.ranges]}),o}function yi(e){ai.util=e.data(\"matrix\").util,e.data(\"q\",ai),e.formatter(\"q-number\",Vr),e.formatter(\"q-time\",ni)}function bi(e){var t=un(e.layout||{},e.path.split(\"/\").join(\".\"));if(!t)return!1;var n=t.qIsOneAndOnlyOne;return void 0!==n&&n}function xi(e){var t,n,r,i=e.selections,o=e.picassoSelections,a=e.layout,l={lockedDimensions:[],singleSelectDimensions:[]};null!=i&&null!==(t=i.isModal)&&void 0!==t&&t.call(i)&&i.confirm(),o.layout(a);var s=(null!==(n=null==a?void 0:a.qHyperCube)&&void 0!==n?n:{}).qDimensionInfo,c=void 0===s?[]:s;return l.lockedDimensions=c.map((function(e){return!!e.qLocked})),l.singleSelectDimensions=c.map((function(e,t){return bi({layout:a,path:\"qHyperCube/qDimensionInfo/\".concat(t)})})),l.singleSelectIndex=function(e){var t,n=((null==e?void 0:e.qHyperCube)||{}).qDimensionInfo,r=void 0===n?[]:n;return null!==(t=r.map((function(e,t){var n;return!(e.qLocked||(null===(n=e.qCardinalities)||void 0===n?void 0:n.qHypercubeCardinal)<=1)&&t})).filter((function(e){return\"number\"==typeof e}))[0])&&void 0!==t?t:Math.max(r.length-1,0)}(a),l.canSelect=0===c.length||c.some((function(e){return!e.qLocked})),l.dimensionLocked=!(null===(r=c[0])||void 0===r||!r.qLocked),l}function qi(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(null==e||!e.length)return!1;var t=e.filter((function(e){return\"object\"===A(e.data)&&Array.isArray(e.data.fields)})).every((function(e){return e.data.fields.every((function(e){var t=e.raw();return!(!t.qLocked&&t.qCardinal)}))}));return t}function wi(e){var t=e.brush,n=e.colorField,r=e.legendAlias,i=e.useLegendCube,o=void 0!==i&&i;!n||/qAttrDimInfo/.test(n)?(t.removeKeyAlias(\"attrDim/qDimensionInfo/0\"),r&&t.removeKeyAlias(r),t.addKeyAlias(\"attrDim/qDimensionInfo/0\",\"qHyperCube/\".concat(n))):o&&t.addKeyAlias(r,\"qHyperCube/\".concat(n))}yi.qBrushHelper=vi,yi.selections=vi;var ki=\"Enter\",Ci=\"Escape\",Mi=\"Esc\",Si=\"Shift\";function Di(e){var t=e.brush,n=e.getConfig;return{interceptor:function(e){var r=t.brushes(),i=n(),o=i.allowSimultaneous,a=i.layout,l=void 0===a?{}:a;r.forEach((function(n){var r,i,a;(\"range\"===n.type||null!==(r=e[0])&&void 0!==r&&r.key&&(null===(i=e[0])||void 0===i?void 0:i.key)!==n.id&&0!==o.indexOf(null===(a=e[0])||void 0===a?void 0:a.key))&&t.clear([])}));var s=e.filter((function(e){return-2!==e.value}));if(s.length>1){var c=function(e){var t=e.layout,n=void 0===t?{}:t,r=e.values,i=void 0===r?[]:r;if(null==i||!i.length)return[];var o=Array.from(new Set(i.map((function(e){return e.key})))),a=[];return o.forEach((function(e){var t=bi({layout:n,path:e}),r=i.filter((function(t){return t.key===e})),o=t?[r.pop()]:r;a.push.apply(a,E(o))})),a.filter(Boolean)}({layout:l,values:s});return c}return s},rangeInterceptor:function(e){var r=t.brushes(),i=n().allowSimultaneous;return r.filter((function(e){return\"value\"===e.type})).length?(t.clear([]),e):(r.forEach((function(n){var r=n.id===e[0].key||i.includes(n.id)&&i.includes(e[0].key);\"range\"!==n.type||r||t.clear([])})),e)}}}var Oi=function(e,t){return t[e]?Oi(e+1,t):e},Ii=function(e,t){var n=t.reduce((function(e,t){return e[t]=!0,e}),{});return e.reduce((function(e,t,r){var i=Oi(r,n);return n[i]=!0,e[r]=i,e}),{})};function Ei(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.layout,n=e.filtered,r=void 0===n?{}:n,i=(null==t?void 0:t.qHyperCube)||{},o=i.qDimensionInfo,a=void 0===o?[]:o,l=i.qMeasureInfo,s=void 0===l?[]:l;return{dimensions:Ii(a,r.dimensions||[]),measures:Ii(s,r.measures||[])}}var Ai=\"selectHyperCubeValues\",Ti=\"selectHyperCubeContinuousRange\";function Ni(e){var t=e.selection,n=e.fieldMap,r=t.method,i=t.params;if(r===Ai){var o=n.dimensions[i[1]];void 0!==o&&(i[1]=o)}r===Ti&&i[1].forEach((function(e){var t=n.dimensions[e.qDimIx];void 0!==t&&(e.qDimIx=t)}));return t}var Li=[],Pi=0,ji=function(e){var t=Li.filter((function(e){var t;return null===(t=e.selections)||void 0===t?void 0:t.isActive()}));t.length&&(e.key===ki?t.forEach((function(e){return e.selections.confirm()})):e.key!==Ci&&e.key!==Mi||t.forEach((function(e){return e.selections.cancel()})))},Fi=function(){document.addEventListener(\"keyup\",ji)},Hi=function(){document.removeEventListener(\"keyup\",ji)},zi=function(e,t){Object.keys(t).forEach((function(n){e.on(n,t[n])}))},Ri=function(e,t){Object.keys(t).forEach((function(n){e.removeListener(n,t[n])}))};function Vi(e,t,n){if(t&&void 0!==n&&\"selectHyperCubeContinuousRange\"===e.method){var r=e.params;if(r&&r[1]&&r[1][0]){var i=r[1][0],o=i.qDimIx,a=i.qRange;\"undefined\"!==o&&a&&!1===a.qMaxInclEq&&a.qMax>=n&&(a.qMaxInclEq=!0)}}}function $i(e){var t=e.chart,n=e.document,r=e.selectionInfo,i=e.eventName,o=e.componentName,a=e.brushName,l=void 0===a?\"selection\":a,s=e.emit,c=void 0===s?\"rangeClear\":s,u=r.event===i,f=n.querySelector(\"[data-key='\".concat(o,\"-edge-0']\"));if(u||!f)return!1;var d=t.component(o);return!!d&&(d.emit(c),\"string\"==typeof l&&t.brush(l).clear(),d)}function _i(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.eventName,o=void 0===i?\"discreteRange\":i,a=e.componentName,l=void 0===a?\"discrete-range-brush\":a,s=e.cleared;return $i({selectionInfo:t,chart:n,document:r,eventName:void 0!==s&&s?void 0:o,componentName:l,emit:\"areaClear\",brushName:e.brushName})}function Bi(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.eventName,o=void 0===i?\"continuousRange\":i,a=e.componentName,l=void 0===a?\"continuous-range-brush\":a,s=e.cleared;return $i({selectionInfo:t,chart:n,document:r,eventName:void 0!==s&&s?void 0:o,componentName:l,brushName:e.brushName})}function Ki(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.componentName,o=void 0===i?\"minor-range-brush\":i,a=e.eventName,l=void 0===a?\"minorRange\":a,s=e.cleared,c=void 0!==s&&s,u=e.brushName,f=$i({selectionInfo:t,chart:n,document:r,eventName:c?void 0:l,componentName:o,brushName:void 0!==u&&u});if(f){var d=f.settings.settings,p=d.scale,h=d.brush,m=n.scale(p).data().fields.map((function(e){return e.id()})),g=n.brush(h),v=g.brushes().filter((function(e){return\"range\"===e.type&&m.some((function(t){return t===e.id}))}));g&&v.length&&v.forEach((function(e){g.removeRanges(e.brush.ranges().map((function(t){return{key:e.id,range:t}})))}))}}function Yi(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.selections,o=e.eventName,a=void 0===o?\"xAxis\":o,l=e.cleared;$i({selectionInfo:t,chart:n,document:r,eventName:void 0!==l&&l?void 0:a,componentName:\"\".concat(a,\"-range-brush\"),emit:\"areaClear\",brushName:!1})&&i.clear()}function Ui(e){var t=e.chart,n=e.selectionInfo,r=e.selections,i=e.events,o=void 0===i?[\"tap\"]:i,a=e.brushNames,l=void 0===a?[]:a;if(n&&o.includes(n.event)){var s=n.currentComponent;n.previousComponent!==s&&(r.clear(),l.forEach((function(e){return t.brush(e).end()})))}}function Gi(e){var t=e.selectionInfo,n=e.chart,r=e.document,i=e.selections,o=e.eventName,a=void 0===o?\"legendRange\":o,l=e.componentName,s=void 0===l?\"legend-range-brush\":l,c=e.cleared,u=void 0!==c&&c,f=e.brushName;$i({selectionInfo:t,chart:n,document:r,eventName:u?void 0:a,componentName:s,brushName:void 0!==f&&f})&&i.clear()}var Wi=[\"chart\",\"document\",\"selections\",\"selectionInfo\"],Xi=function(e){e.chart,e.document,e.selections,e.selectionInfo;var t=D(e,Wi);t.clearDiscrete(),t.clearContinuous(),t.clearMinor(),t.clearRange(),t.clearTap(),t.clearLegend()};function Zi(e){var t=e.selectionEvents,n=e.selections,r=e.selectionInfo,i=e.clear,o=e.chart,a=e.document,l=t.start,s={selections:n,selectionInfo:r,chart:o,document:a},c=function(e){return Object.assign(r,e||{})},u=function(e){var t=e.event,n=e.components;return function(){return function(e){var t=e.selectionInfo,n=void 0===t?{}:t,r=e.setSelectionInfo,i=e.clear,o=e.event,a=e.components,l=void 0===a?[]:a;r(S(S({},n),{},{event:o,components:l.map((function(e){return e.key})).filter(Boolean)})),i()}({event:t,components:n,clear:i,chart:o,selectionInfo:r,setSelectionInfo:c})}};return\"function\"==typeof l?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];l(S(S({defaultFunc:u({event:e,components:t}),setSelectionInfo:c,clear:i},s),{},{event:e,components:t}))}:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];u({event:e,components:t})()}}function Ji(e){var t,n=e.lasso;null!=n&&null!==(t=n.active)&&void 0!==t&&t.call(n)&&(null==n||n.action(!1))}function Qi(e){var t,n=e.chart,r=e.selectionInfo,i=e.selectionActions,o=e.actions,a=void 0===o?{}:o,l=e.selections,s=e.selectionEvents;if(!1===i||!1===s)return function(){};var c=i.reset,u=void 0===c?Ji:c,f=i.clear,d=!1!==f&&function(e){var t=e.clear,n=void 0===t?Xi:t,r=e.selections,i=e.selectionInfo,o=e.chart;return function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).cleared,t={selections:r,selectionInfo:i,chart:o,document:document,cleared:e};return n(S({clearDiscrete:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _i(S(S({},t),e))},clearContinuous:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Bi(S(S({},t),e))},clearMinor:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ki(S(S({},t),e))},clearRange:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Yi(S(S({},t),e))},clearTap:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ui(S(S({},t),e))},clearLegend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Gi(S(S({},t),e))}},t))}}({clear:f,selections:l,selectionInfo:r,chart:n}),p=function(e){var t=e.chart,n=e.actions,r=e.reset,i=e.clear,o=!1,a={deactivated:function(e){var t=(n||{}).lasso;r({e:e,lasso:void 0!==t&&t})},canceled:function(e){var o=(n||{}).lasso;r({e:e,lasso:void 0!==o&&o}),i({e:e,chart:t,document:document})},cleared:function(e){o||(o=!0,i({e:e,chart:t,document:document,cleared:!0}),o=!1)}};return!1===r&&delete a.deactivated,!1===i&&delete a.cleared,!1===r&&!1===i&&delete a.canceled,a}({chart:n,clear:d,reset:u,actions:a}),h={};Object.entries(p).forEach((function(e){var t=I(e,2),n=t[0],r=t[1];h[n]=function(e,t){return t?function(n){return t({event:n,defaultFunc:e})}:e}(r,s[n])}));var m=Zi({selectionEvents:s,selections:l,selectionInfo:r,clear:d,chart:n,document:document});return null==a||null===(t=a.select)||void 0===t||t.on(\"start\",m),Object.entries(h).forEach((function(e){var t=I(e,2),n=t[0],r=t[1];null==l||l.on(n,r)})),function(){var e;null==a||null===(e=a.select)||void 0===e||e.removeListener(\"start\",m),Object.entries(h).forEach((function(e){var t=I(e,2),n=t[0],r=t[1];null==l||l.removeListener(n,r)}))}}function eo(e){var t=e.chart,n=e.selectionActions,r=e.brush,i=e.actions,o=e.selectionInfo,a=e.selections,l=e.selectionEvents,s=function(e){var t=e.brush,n=e.chart,r=e.selectionInfo,i=e.brushEvents,o=void 0===i?{}:i,a=Object.entries(o).map((function(e){var i=I(e,2),o=i[0],a=i[1],l=function(){return a({chart:n,selectionInfo:r})};return t.on(o,l),[o,l]}));return function(){a.forEach((function(e){var n=I(e,2),r=n[0],i=n[1];t.removeListener(r,i)}))}}({brush:r,chart:t,selectionInfo:o,brushEvents:e.brushEvents}),c=Qi({chart:t,selectionInfo:o,selectionActions:n,actions:i,selections:a,selectionEvents:l}),u=function(e){var t=e.actions;if(null==t||!t.lasso)return function(){};var n=!1,r=function(e){n||e.key!==Si||(t.lasso.action(!0),n=!0)},i=function(e){e.key===Si&&(t.lasso.action(!1),n=!1)};return document.addEventListener(\"keydown\",r),document.addEventListener(\"keyup\",i),function(){document.removeEventListener(\"keydown\",r),document.removeEventListener(\"keyup\",i)}}({actions:i});return function(){s(),c(),u()}}var to=[{key:\"qHyperCube/qDimensionInfo/0:numeric\",includeMax:!1}];function no(e){var t=e.chart,n=e.actions,r=e.selections,i=e.picassoQ,o=e.config,a=o.allowSimultaneous,l=void 0!==a&&a,s=o.majorScale,c=void 0===s?void 0:s,u=o.selectionActions,f=void 0===u?{}:u,d=f.clear,p=f.reset,h=o.selectionEvents,m=void 0===h?{deactivated:void 0,canceled:void 0,cleared:void 0,start:void 0}:h,g=o.brushEvents,v=void 0===g?{}:g,y=o.brushName,b=void 0===y?\"selection\":y,x=o.brushMaxListeners,q=void 0===x?20:x,w=o.brushRanges,k=void 0!==w&&w,C=o.interceptors,M=void 0===C?{}:C,S=o.selectionsFn,D=void 0===S?i.selections:S,O=t.brush(b);if(\"number\"==typeof q&&O.setMaxListeners(q),k){var A=!0===k?to:k;O.configure({ranges:A})}var T={canSelect:!0,getIsSelectionLocked:!1,isInnerDimensionLocked:!1,lockedDimensions:[],singleSelectIndex:0,selectionInfo:{colorField:void 0,components:[],event:void 0,currentComponent:void 0,previousComponent:void 0}},N=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.selections,r=t.brush,i=t.majorScale,o=t.actions,a=t.selectionsFn,l=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).path,s=void 0===l?\"/qHyperCubeDef\":l;if(!n)return{layout:function(){},filteredFields:function(){},allowSimultaneous:function(){},release:function(){}};var c=++Pi,u=null,f={dimensions:[],measures:[]},d=[],p={};n.on=n.on.bind(n),n.isActive=n.isActive.bind(n),n.addListener=n.addListener.bind(n),n.removeListener=n.removeListener.bind(n);var h=Di({brush:r,getConfig:function(){return{layout:u,allowSimultaneous:d}}}),m=h.rangeInterceptor,g=h.interceptor;r.intercept(\"set-ranges\",m),r.intercept(\"toggle-ranges\",m),r.intercept(\"toggle-values\",g),r.intercept(\"set-values\",g),r.intercept(\"add-values\",g),r.on(\"start\",(function(){return n.begin(s)}));var v={activate:function(){},deactivated:function(){return r.end()},cleared:function(){return r.clear()},canceled:function(){return r.end()}};zi(n,v);var y=null==i||null===(e=i.max)||void 0===e?void 0:e.call(i);return null!=o&&o.select?(o.select.on(\"start\",(function(){var e;r.start(),\"function\"==typeof o.select.getBrushOptions&&(p=(e=o.select).getBrushOptions.apply(e,arguments))})),o.select.on(\"end\",(function(){var e=a(r,p,u),t=Ei({layout:u,filtered:f});e.forEach((function(e){var r=Ni({selection:e,fieldMap:t});Vi(r,o.select.brushSelectionIncludeMax,y),n.select(r)}))}))):r.on(\"update\",(function(){var e=a(r,p,u),t=Ei({layout:u,filtered:f});e.forEach((function(e){n.select(Ni({selection:e,fieldMap:t}))}))})),0===Li.length&&Fi(),Li.push({key:c,selections:n}),{layout:function(e){u=e},filteredFields:function(e){f=e},allowSimultaneous:function(e){d=e},release:function(){u=null;var e=Li.indexOf(Li.filter((function(e){return e.key===c}))[0]);-1!==e&&Li.splice(e,1),Li.length||Hi(),Ri(n,v)}}}({brush:O,majorScale:c,actions:n,selections:r,picassoQ:i,selectionsFn:D});!function(e){var t=e.brush,n=e.interceptors,r=void 0===n?{}:n;Object.entries(r).forEach((function(e){var n=I(e,2),r=n[0],i=n[1];(Array.isArray(i)?i:[i]).forEach((function(e){t.intercept(r,e)}))}))}({brush:O,interceptors:M});var L=eo({chart:t,brush:O,actions:n,selections:r,selectionInfo:T.selectionInfo,selectionActions:{clear:d,reset:p},selectionEvents:m,brushEvents:v});if(l){var P=!0===l?E(Array(15)).map((function(e,t){return\"qHyperCube/qMeasureInfo/\".concat(t)})):l;N.allowSimultaneous(P)}return{unbindEvents:L,state:T,picassoSelections:N,brush:O}}var ro=[\"colorField\",\"useLegendCube\"];function io(e){var t=e.chart,n=e.selections,r=e.actions,i=void 0!==r&&r,o=e.config,a=void 0===o?{}:o,l=no({chart:t,actions:i,selections:n,picassoQ:yi,config:a}),s=l.unbindEvents,c=l.state,u=l.picassoSelections,f=l.brush,d=a.custom,p=void 0===d?{}:d,h=a.legendAlias,m=void 0===h?void 0:h,g=a.setBrushAliases,v=void 0===g?wi:g;return{getIsDimensionLocked:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return c.lockedDimensions[e]},getIsSelectionLocked:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return null!==(e=null==n||null===(t=n.isLocked)||void 0===t?void 0:t.call(n))&&void 0!==e?e:qi(r)},getIsSingleSelect:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.singleSelectIndex;return c.singleSelectDimensions[e]},getCanSelect:function(){return c.canSelect},getSelectionsObject:function(){return n},getSelectionInfo:function(){return c.selectionInfo},setLayout:function(e){var t=xi({selections:n,picassoSelections:u,layout:e});Object.assign(c,t)},setFilteredFields:function(e){u.filteredFields(e)},setBrushAliases:function(e){var t=e.colorField,n=e.useLegendCube,r=void 0!==n&&n,i=D(e,ro),o=S({useLegendCube:r,colorField:t,brush:f,legendAlias:m},i);v(S(S({},o),{},{defaultFunc:function(){return wi(o)}}))},destroy:function(){s(),u.release()},custom:S({},p)}}var oo=\"'Source Sans Pro', 'Arial', 'sans-serif'\",ao=\"#333333\",lo=\"#595959\",so=\"#737373\",co=\"#cccccc\",uo=\"#e6e6e6\";function fo(e){var t={};return[].concat(E(e),E([[\"\",\"\",\"color\"],[\"object\",\"\",\"fontFamily\"],[\"object\",\"axis.label.name\",\"color\",lo],[\"object\",\"axis.label.name\",\"fontFamily\",oo],[\"object\",\"axis.label.name\",\"fontSize\",\"12px\"],[\"object\",\"axis.line.major\",\"color\",co],[\"object\",\"axis.line.minor\",\"color\",uo],[\"object\",\"axis.title\",\"color\"],[\"object\",\"axis.title\",\"fontFamily\",oo],[\"object\",\"axis.title\",\"fontSize\",\"13px\"],[\"object\",\"grid.line.highContrast\",\"color\",uo],[\"object\",\"grid.line.major\",\"color\",co],[\"object\",\"grid.line.minor\",\"color\",uo],[\"object\",\"label.value\",\"color\",lo],[\"object\",\"label.value\",\"fontFamily\",oo],[\"object\",\"label.value\",\"fontSize\",\"12px\"],[!1,\"label.value\",\"darkColor\",lo],[!1,\"label.value\",\"lightColor\",uo],[\"object\",\"outOfRange\",\"color\",\"#999\"],[\"object\",\"legend.title\",\"color\",ao],[\"object\",\"legend.title\",\"fontFamily\",oo],[\"object\",\"legend.title\",\"fontSize\",\"15px\"],[\"object\",\"legend.label\",\"color\",lo],[\"object\",\"legend.label\",\"fontFamily\",oo],[\"object\",\"legend.label\",\"fontSize\",\"13px\"],[\"object\",\"referenceLine.label.name\",\"color\",ao],[\"object\",\"referenceLine.label.name\",\"fontFamily\",oo],[\"object\",\"referenceLine.label.name\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"color\",uo],[\"object\",\"referenceLine.outOfBounds\",\"fontFamily\",oo],[\"object\",\"referenceLine.outOfBounds\",\"fontSize\",\"12px\"],[\"object\",\"referenceLine.outOfBounds\",\"backgroundColor\",so,function(e){return\"transparent\"===e?so:e}]])).reduce((function(e,n){var r=\"\".concat(n[0],\"-\").concat(n[1],\"-\").concat(n[2],\"}\");return t[r]||(t[r]=!0,e.push(n)),e}),[]).sort((function(e,t){return(e[0].split?e[0].split(\".\").length:0)-(t[0].split?t[0].split(\".\").length:0)}))}var po=function(e){return e};function ho(e){var t=e.theme,n=e.id,r=e.transform,i=e.extend,o=e.matrix,a={},l=r.reduce((function(e,t){var n=I(t,2),r=n[0],i=n[1];return e[r]=i,e}),{});return o.forEach((function(e){var r=I(e,5),i=r[0],o=r[1],s=r[2],c=r[3],u=r[4],f=void 0===u?function(e){return e}:u,d=function(e){var t=e.theme,n=e.base,r=e.path,i=e.attribute,o=e.defaultValue,a=void 0===o?void 0:o;if(!t||!1===n)return a;var l=t.getStyle(n,r,i);return void 0===l?a:l}({theme:t,base:\"object\"===i&&n?\"\".concat(\"object\",\".\").concat(n):i,path:o,attribute:s,defaultValue:c}),p=(l[\"\".concat(o,\".\").concat(s)]||po)(f(d));dn(a,[o,s].filter(Boolean).join(\".\"),p)})),i.forEach((function(e){var t=I(e,2),n=t[0],r=t[1];dn(a,n,r)})),a}function mo(e){var t=e.theme,n=e.config,r=void 0===n?{}:n,i=r.id,o=r.resolve,a=void 0===o?[]:o,l=r.transform,s=void 0===l?[]:l,c=r.extend,u=void 0===c?[]:c,f={theme:t,matrix:fo(a),styles:void 0};return f.styles=ho({theme:t,id:i,transform:s,extend:u,matrix:f.matrix}),{getStyles:function(){return f.styles},getTheme:function(){return f.theme},setTheme:function(e){f.theme=e,f.styles=ho({theme:e,id:i,transform:s,extend:u,matrix:f.matrix})}}}var go={NOOP:function(){},FALSE:function(){return!1},ARRAY:function(){return[]},OBJECT:function(){return{}}};var vo=\"chart-modules-tooltip\",yo=\"#\".concat(vo);function bo(){if(!document.querySelector(yo)){var e=document.createElement(\"div\");e.id=vo,e.setAttribute(\"data-qs-css\",\"\"),e.style.overflow=\"hidden\",e.style.position=\"fixed\",e.style.pointerEvents=\"none\",e.style.left=\"0px\",e.style.top=\"0px\",e.style.width=\"100%\",e.style.height=\"100%\",e.style.zIndex=1020,document.body.appendChild(e)}}function xo(e){return{show:!0,key:e.key,type:\"tooltip\",layout:{displayOrder:3},beforeMount:function(){bo()},beforeUpdate:function(){bo()},destroyed:function(){var e;null!=(e=document.querySelector(yo))&&e.parentElement&&e.childElementCount<1&&e.parentElement.removeChild(e)},settings:{appendTo:function(){return document.querySelector(yo)},direction:e.rtl?\"rtl\":\"ltr\",duration:e.duration},style:{arrow:{color:\"#404040\"},content:{display:\"table\",\"border-spacing\":\"4px\",background:\"rgba(64, 64, 64, 0.9)\",opacity:\"1\",fontSize:\"13px\",fontFamily:\"'Source Sans Pro', 'Arial', 'sans-serif'\",\"empty-cells\":\"show\"},cell:{\"max-width\":\"180px\",\"word-break\":\"break-word\",\"word-wrap\":\"break-word\",\"overflow-wrap\":\"break-word\",hyphens:\"auto\"}}}}var qo=\"position\";var wo={bar:\"rect\",diamond:\"path\",point:\"circle\",square:\"rect\",triangle:\"path\",\"n-polygon\":\"path\",slice:\"path\"},ko=function(e){return e.data.value},Co=function(e){var t,n=e.data;return null==n||null===(t=n.major)||void 0===t?void 0:t.value};function Mo(e){var t=e.chart,n=e.expando,r=e.nodes,i=e.collectConfig,o=e.collectibles,a=e.meta,l=i.from,s={chart:t,expando:n,nodes:r,collectConfig:i,collectibles:o,meta:a};switch(\"function\"==typeof l?\"custom\":l){case\"single\":return function(e){var t=I(e.nodes,1)[0];return[\"container\"===t.type&&t.children[0]||t]}(s);case\"position\":return function(e){var t=e.chart,n=e.collectibles,r=e.meta;return t.shapesAt(r.position.absolute,{components:n.map((function(e){return{key:e.key}}))})}(s);case\"dimension\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,i=e.collectibles,o=I(n,1)[0],a=r.filter,l=\"function\"==typeof a?a:function(){return!0},s=r.by,c=void 0===s?ko:s;return i.reduce((function(e,n){var r=n.major,i=void 0===r?Co:r,a=wo[n.type]||n.type;return e.push.apply(e,E(t.findShapes(a).filter((function(e){return e.key===n.key&&e.data&&i({data:e.data})===c({data:o.data})})))),e}),[]).filter(l)}(s);case\"radius\":return function(e){var t=e.chart,n=e.nodes,r=e.collectConfig,i=e.collectibles,o=e.meta,a=I(n,1)[0].localBounds,l=r.distance,s=r.filter,c=\"function\"==typeof s?s:function(){return!0},u=i.map((function(e){return e.key}));return t.shapesAt({cx:o.position.absolute.x,cy:o.position.absolute.y,r:l||Math.max(a.width,a.height)},{components:u.map((function(e){return{key:e}}))}).filter(c)}(s);case\"custom\":return function(e){var t=e.chart,n=e.expando,r=e.nodes,i=e.collectConfig,o=e.meta;return i.from({chart:t,expando:n,nodes:r,meta:o})}(s);default:return[]}}var So=Number.MAX_VALUE;function Do(e){var t=e.nodes.reduce((function(e,t){var n=t.bounds;return e.xMin=Math.min(e.xMin,n.x,n.x+n.width),e.yMin=Math.min(e.yMin,n.y,n.y+n.height),e.xMax=Math.max(e.xMax,n.x,n.x+n.width),e.yMax=Math.max(e.yMax,n.y,n.y+n.height),e}),{xMin:So,xMax:-So,yMin:So,yMax:-So}),n=t.xMin,r=t.xMax,i=t.yMin;return{x:n,y:i,width:r-n,height:t.yMax-i}}function Oo(e){var t=e.chart,n=e.config,r=e.expando,i=e.placementConfig,o=e.hovered,a=e.collected,l=e.meta,s=function(e){for(var t=e.chart,n=e.config,r=e.expando,i=e.placementConfig,o=e.hovered,a=e.collected,l=e.meta,s=I(o,1)[0],c=Array.isArray(i)?i:[i],u={bounds:s.bounds,key:s.key},f=Do({nodes:a}),d=0;d<c.length;d++){var p=c[d];if(\"function\"==typeof p){var h=p({chart:t,expando:r,hovered:o,collected:E(a),meta:l,collectedBounds:f,combineBounds:Do});if(h)return h}if(\"trigger\"===p)return u;if(\"collectible\"===p){var m=n.main.placements.collectible;return{bounds:\"function\"==typeof m?m({collected:E(a)}):f,key:a[0].key}}}return u}({chart:t,config:n,expando:r,placementConfig:i,hovered:o,collected:a,meta:l}),c=s.bounds,u=s.key,f=I(a,1)[0].desc;return[{bounds:c,nodes:a,data:a.map((function(e){return e.data})),key:u,meta:l,desc:f}]}function Io(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=e.nodes;if(!o.length)return[];var a=I(o,1)[0].key,l=n.main.collectibles;if(!l.length)return[];var s=n.main.triggers.find((function(e){return-1!==e.keys.indexOf(a)}))||{},c=s.collect,u=s.placement;if(!c||!c.from||!u)return[];var f={triggerer:a,position:i.get(qo)},d=(Mo({chart:t,expando:r,nodes:o,collectConfig:c,collectibles:l,meta:f})||[]).map((function(e){return e.children.length?e.children[0]:e}));return d.length?Oo({chart:t,config:n,expando:r,placementConfig:u,hovered:o,collected:d,meta:f}):[]}var Eo=\"[־׀׃׆א-״߀-ߪߴ-ߵߺ-ࠕࠚࠤࠨ࠰-ࡘ࡞‏יִײַ-ﬨשׁ-ﭏ]\",Ao=\"[؈؋؍؛-ي٭-ٯٱ-ەۥ-ۦۮ-ۯۺ-܍ܐܒ-ܯݍ-ޥޱﭐ-ﴽﵐ-﷼ﹰ-ﻼ]\",To=new RegExp(\"[A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͽΆΈ-ϵϷ-҂Ҋ-։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ॿং-হঽ-ীে-ৌৎ-ৡ০-ৱ৴-৺ਃ-ਹਾ-ੀਖ਼-੯ੲ-ੴઃ-હઽ-ીૉ-ૌૐ-ૡ૦-૯ଂ-ହଽ-ାୀେ-ୌୗ-ୡ୦-୷ஃ-ிு-ௌௐ-௲ఁ-ఽు-ౄౘ-ౡ౦-౯౿-ಹಽ-ೋೕ-ೡ೦-ീെ-ൌൎ-ൡ൦-ෆා-ෑෘ-ะา-ำเ-ๆ๏-ະາ-ຳຽ-ໆ໐-༗༚-༴༶༸༾-ཬཿ྅ྈ-ྌ྾-࿅࿇-ာေးျ-ြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃ-ႄႇ-ႌႎ-ႜ႞-ፚ፠-ᎏᎠ-Ᏼᐁ-ᙿᚁ-ᚚᚠ-ᜑᜠ-ᜱ᜵-ᝑᝠ-ᝰក-ាើ-ៅះ-ៈ។-៚ៜ០-៩᠐-ᢨᢪ-ᤜᤣ-ᤦᤩ-ᤱᤳ-ᤸ᥆-᧚ᨀ-ᨖᨙ-ᩕᩗᩡᩣ-ᩤᩭ-ᩲ᪀-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-᭪᭴-᭼ᮂ-ᮡᮦ-ᮧ᮪-ᯥᯧᯪ-ᯬᯮ᯲-ᰫᰴ-ᰵ᰻-᱿᳓᳡ᳩ-ᳬᳮ-ᶿḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ-⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-ⳤⳫ-ⳮⴀ-⵰ⶀ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㍶㍻-㏝㏠-㏾㐀-䶵一-ꒌꓐ-ꘌꘐ-ꙮꚀ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꤥ꤮-ꥆꥒ-ꥼꦃ-ꦲꦴ-ꦵꦺ-ꦻꦽ-ꨨꨯ-ꨰꨳ-ꨴꩀ-ꩂꩄ-ꩋꩍ-ꪯꪱꪵ-ꪶꪹ-ꪽꫀꫂ-ꯤꯦ-ꯧꯩ-꯬꯰-ﬗA-Za-zヲ-ᅵ]\"),No=new RegExp(Eo),Lo=new RegExp(Ao),Po=function(e){return To.test(e)},jo=function(e){return No.test(e)||Lo.test(e)};function Fo(e){for(var t=e?e.length:0,n=0;n<t;n++){var r=e[n];if(Po(r))return\"ltr\";if(jo(r))return\"rtl\"}return\"ltr\"}function Ho(e){var t=e.visibility;return{type:\"divider\",content:[{content:\"\",style:{\"background-image\":\"linear-gradient(transparent 8px, rgba(255, 255, 255, 0.4) 8px, rgba(255, 255, 255, 0.4) 9.2px, transparent 9.2px)\",height:\"17px\"},colspan:2}],visibility:S(S({},{count:!1}),t)}}function zo(e){var t=e.config,n=e.h,r=e.context,i=e.nodes,o=e.property,a=e.filter,l=e.visibility,s=e.fillColor,c=t.rtl,u={type:\"color\",label:void 0,value:void 0,content:[],filter:a,visibility:S(S({},{count:!0}),l)},f=t.getColorSettings();if(\"color\"===f.type||!f.fieldType)return u;var d=I(i,1)[0];if(u.value=function(e){var t=e.config,n=e.context,r=e.property,i=e.node,o=i.data[r];if(o){if(-3===i.data.value)return i.data.label;var a=n.resources.dataset(o.source.key).field(o.source.field).formatter(),l=o.value,s=o.label,c=t.getColorSettings();if(a&&\"measure\"===c.fieldType)return Number.isNaN(+l)?\"-\":a(o.value);var u=s||l;return void 0===u||Number.isNaN(u)||\"NaN\"===u?\"-\":u}}({config:t,context:r,property:o,node:d}),void 0===u.value)return u;u.label=function(e){var t=e.config,n=e.context,r=e.property,i=e.node,o=t.getColorSettings();if(o.label)return o.label;var a=i.data[r];if(a&&\"color\"!==o.type){var l=n.resources.dataset,s=a.source,c=s.key,u=s.field;return l(c).field(u).title()}}({config:t,context:r,property:o,node:d});var p=null!=s?s:function(e){var t=e.node.attrs;return(null==t?void 0:t.fill)||\"#ddd\"}({node:d}),h=n(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":p,margin:\"0 8px\"}});return u.content.push({content:c?[\":\",u.label]:[u.label,\":\"],style:{\"text-align\":c?\"right\":\"left\",direction:Fo(u.label)}},{content:c?[u.value,h]:[h,u.value],style:{\"text-align\":c?\"left\":\"right\",\"vertical-align\":\"middle\",direction:Fo(u.value)}}),u}function Ro(e){var t=e.config,n=e.h,r=e.context,i={section:function(e){return function(e){return{type:\"section\",content:e.content}}({content:e.content})},text:function(e){var n=e.value,r=e.style,i=e.visibility;return function(e){var t=e.config,n=e.value,r=e.style,i=void 0===r?{}:r,o=i.bold,a=void 0!==o&&o,l=i.italic,s=void 0!==l&&l,c=e.visibility;return{type:\"text\",content:[{content:n,style:{\"font-weight\":a?\"bold\":\"normal\",\"font-style\":s?\"italic\":\"normal\",\"text-align\":t.rtl?\"right\":\"left\",direction:Fo(n),\"white-space\":\"pre-wrap\"},colspan:2}],visibility:S(S({},{count:!0}),c)}}({config:t,value:n,style:r,visibility:i})},measure:function(e){var r=e.label,i=e.value,o=e.color,a=e.style,l=e.survive,s=e.visibility;return function(e){var t,n,r,i,o=e.config,a=e.h,l=e.label,s=e.value,c=e.color,u=e.style,f=e.survive,d=e.visibility,p=o.rtl,h=a(\"div\",{style:{display:\"inline-block\",width:10,height:10,\"background-color\":c,margin:\"0 8px\"}});return{type:\"measure\",label:l,value:s,content:[{content:p?[\":\",l]:[l,\":\"],style:{\"text-align\":p?\"right\":\"left\",\"font-weight\":null!=u&&null!==(t=u.label)&&void 0!==t&&t.bold?\"bold\":\"normal\",\"font-style\":null!=u&&null!==(n=u.label)&&void 0!==n&&n.italic?\"italic\":\"normal\",direction:Fo(l)}},{content:c?p?[s,h]:[h,s]:s,style:{\"text-align\":p?\"left\":\"right\",\"vertical-align\":\"middle\",\"font-weight\":null!=u&&null!==(r=u.value)&&void 0!==r&&r.bold?\"bold\":\"normal\",\"font-style\":null!=u&&null!==(i=u.value)&&void 0!==i&&i.italic?\"italic\":\"normal\",direction:Fo(s)}}],survive:S(S({},{color:!1,duplicate:!1}),f),visibility:S(S({},{count:!0}),d)}}({config:t,h:n,label:r,value:i,color:o,style:a,survive:l,visibility:s})},divider:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.visibility;return Ho({visibility:t})},row:function(e){return function(e){var t=e.content,n=e.style,r=e.colspan,i=e.visibility;return{type:\"row\",content:[{content:t,style:n,colspan:r}],visibility:S(S({},{count:!0}),i)}}({content:e.content,style:e.style,colspan:e.colspan,visibility:e.visibility})},raw:function(e){return function(e){var t=e.value,n=e.visibility;return{type:\"raw\",content:t,visibility:S(S({},{count:!0}),n)}}({value:e.value,visibility:e.visibility})},color:function(e){var i=e.nodes,o=e.property,a=e.filter,l=void 0===a||a,s=e.visibility,c=e.fillColor;return zo({config:t,h:n,context:r,nodes:i,property:o,filter:l,visibility:s,fillColor:c})}};return i}function Vo(e){var t=e.translator,n=e.config,r=e.context,i=e.templates,o=n.main.layout,a=o.rows,l=o.grouping,s=o.single,c=function(e){var t=e.limit,n=e.grouping,r=e.single,i={count:0,overflow:0,index:{started:void 0,group:void 0}};return{process:function(e){var o=e.visibility,a=e.index;if(r&&0!==a)return n?(i.index.started!==a&&i.index.group!==a&&(i.overflow++,i.index.group=a),!1):(i.overflow++,!1);if(i.count>=t){if(!n)return i.overflow++,!1;if(i.index.started!==a)return i.index.group!==a&&(i.overflow++,i.index.group=a),!1}return o.count&&i.count++,n&&(i.index.started=a),!0},overflow:function(){return i.overflow}}}({limit:a,grouping:l,single:\"function\"==typeof s?s({meta:r.node.meta,sections:i}):s}),u=i.reduce((function(e,t,n){var r=t.type,o=t.content;\"section\"===r&&(void 0===o?[]:o).forEach((function(t){c.process({visibility:t.visibility,index:n})&&e.push(t.content)}));var a=n===i.length-1;return\"divider\"!==r||a||c.process({visibility:t.visibility,index:n})&&e.push(t.content),e}),[]).filter((function(e){return e.length})),f=c.overflow();return f&&u.push(function(e){var t=e.translator,n=e.config,r=e.count,i=t?t.get(\"Object.ChartTooltip.NMore\",r):\"+\".concat(r,\" more\"),o=Fo(i);return[{content:i,style:{\"font-weight\":\"bold\",\"text-align\":n.rtl?\"right\":\"left\",direction:o},colspan:2}]}({translator:t,config:n,count:f})),u}function $o(e){var t=e.chart,n=e.translator,r=e.config,i=e.expando,o=e.h,a=e.data,l=e.style,s=I(a,1)[0],c=function(e){var t=e.config,n=e.nodes.reduce((function(e,n){var r=t.main.getGroupByValue({data:n.data});return e[r]||(e[r]={sorting:Object.keys(e).length,items:[]}),e[r].items.push(n),e}),{});return Object.keys(n).map((function(e){return n[e]})).sort((function(e,t){return e.sorting-t.sorting})).map((function(e){return e.items}))}({config:r,nodes:s.node.nodes}),u=function(e){var t=e.chart,n=e.config,r=e.expando,i=e.h,o=e.context,a=e.groups,l=o.node.meta,s=o.resources,c=s.dataset,u=s.formatter,f=Ro({config:n,h:i,context:o}),d=function(e){var t=e.dataset;return{dataset:{title:function(e,n){return t(e).field(n).title()}}}}({dataset:c}),p=a.map((function(e){var t=f.section({content:E((n.main.section({expando:r,h:i,nodes:e,dataset:c,formatter:u,meta:l,create:f,util:d})||[]).filter((function(e){var t;return null===(t=e.content)||void 0===t?void 0:t.length}))).filter(Boolean)});return t.content=function(e){var t=e.config,n=e.content,r=n.find((function(e){return\"color\"===e.type&&e.filter})),i=r?n.filter((function(e){return\"measure\"!==e.type||e.survive.color||e.label!==r.label||e.value!==r.value})):n;return t.main.showDuplicateMeasures?i:i.reduce((function(e,t){var n=t.type,r=t.survive;if(\"measure\"!==n||r.duplicate)return e.filtered.push(t),e;var i=\"\".concat(t.label,\"-\").concat(t.value);return e.memory[i]||(e.memory[i]=!0,e.filtered.push(t)),e}),{memory:{},filtered:[]}).filtered}({config:n,content:t.content}),t}));return n.main.sections({chart:t,expando:r,h:i,nodes:o.node.nodes,dataset:c,formatter:u,meta:l,create:f,util:d,sections:p}),p.filter(Boolean)}({chart:t,config:r,expando:i,h:o,context:s,groups:c}),f=Vo({translator:n,config:r,h:o,context:s,templates:u});return f.length?function(e){var t=e.h,n=e.style;return e.rows.map((function(e){return t(\"tr\",{},e.map((function(e){var r={style:S(S({},n.cell||{}),e.style||{}),class:e.class};return e.colspan&&(r.colspan=e.colspan),t(\"td\",r,e.content)})))}))}({h:o,style:l,rows:f}):function(e){var t=e.h;return t(\"tr\",{},t(\"td\",{style:{fontStyle:\"italic\",opacity:.75}},\"Empty\"))}({h:o})}function _o(e){var t=e.chart,n=e.translator,r=e.config,i=e.expando,o=e.internal;if(!r.main.key)return!1;var a=pn(),l=xo({key:r.main.key,rtl:r.rtl,duration:r.duration}),s=r.main.events.tooltip,c=s.afterShow,u=s.afterHide,f=function(){var e=a.get(\"collected\");return{expando:i,nodes:e.nodes,meta:e.meta}};return ae(!0,l,{settings:{filter:function(e){return Io({chart:t,config:r,expando:i,internal:o,nodes:e})},extract:function(e){return a.set(\"collected\",e.node),e},content:function(e){var o=e.h,a=e.data,l=e.style;return $o({chart:t,translator:n,config:r,expando:i,h:o,data:a,style:l})},placement:function(e){var t=e.nodes;return r.main.placement({meta:t[0].meta})},afterShow:function(){return c(f())},afterHide:function(){return u(f())}},style:{arrow:{color:r.style.background},content:r.style}})}function Bo(e){var t=e.config,n=t.legend.keys;if(!n.tooltip||!n.component)return!1;if(\"categorical\"!==t.getColorSettings().type)return!1;var r=xo({key:n.tooltip,rtl:t.rtl,duration:t.duration});return ae(!0,r,{settings:{filter:function(e){return e.filter((function(e){return e.data&&e.key===n.component}))},extract:function(e){return e},content:function(e){var t=e.h,n=e.data;return[t(\"tr\",{},[t(\"td\",{style:S(S({},e.style.cell||{}),{\"font-weight\":\"bold\",\"text-align\":\"left\"}),colspan:2},n[0].node.data.label)])]},placement:\"pointer\"},style:{arrow:{color:t.style.background},content:t.style}})}function Ko(e){var t=e.config.main.triggers.reduce((function(e,t){return t.keys.forEach((function(n){var r=t.distance||0;e.distance[n]=r,e.distances.includes(r)||e.distances.push(r),e.key[n]=!0,e.keys[r]||(e.keys[r]=[]),e.keys[r].push(n)})),e}),{distance:{},distances:[],key:{},keys:{}});return function(e){return e.components.filter((function(e){return t.key[e.key]})).reduce((function(e,n){e.any=!0,e.components.push(n.key);var r=t.distance[n.key];return 0===r?e.position.push(n.key):(e.distances.includes(r)||(e.distances.push(r),e.distanceKeys[r]=[]),e.distanceKeys[r].push(n.key)),e}),{any:!1,components:[],position:[],distances:[],distanceKeys:{}})}}var Yo=function(){return!0};function Uo(e){var t=e.config.main.triggers.reduce((function(e,t){var n=t.filter;return t.keys.forEach((function(t){e[t]=\"function\"==typeof n?n:Yo})),e}),{});return function(e){var n=t[e.key];return!n||n(e)}}function Go(e){var t=e.chart,n=e.event,r=e.component,i={absolute:{x:0,y:0},relative:{x:0,y:0}},o=t.element.getBoundingClientRect(),a=o.left,l=o.top;i.absolute.x=(void 0===n.clientX?Math.floor(n.srcEvent.clientX):n.clientX)-a,i.absolute.y=(void 0===n.clientY?Math.floor(n.srcEvent.clientY):n.clientY)-l;var s=t.component(r);if(s){var c=s.rect.computedInner;i.relative.x=i.absolute.x-c.x,i.relative.y=i.absolute.y-c.y}return i}function Wo(e){var t=e.chart,n=e.filter,r=e.hits,i=e.position,o=[];if(r.position.length&&o.push.apply(o,E(t.shapesAt(i.absolute,{components:r.position.map((function(e){return{key:e}}))}).filter(n))),!o.length&&r.distances.length){var a=[];r.distances.forEach((function(e){a.push.apply(a,E(t.shapesAt({cx:i.absolute.x,cy:i.absolute.y,r:e},{components:r.distanceKeys[e].map((function(e){return{key:e}}))}).filter(n)))})),a.length&&o.push(function(e){var t=e.nodes,n=e.origin,r=t.find((function(e){return\"path\"===e.type}));if(r)return r;var i=function(e){var t=Math.abs(n.x-(e.localBounds.x+e.localBounds.width/2)),r=Math.abs(n.y-(e.localBounds.y+e.localBounds.height/2));return Math.sqrt(t*t+r*r)};return t.slice(1).reduce((function(e,t){var n=i(t);return n<e.distance&&(e.distance=n,e.node=t),e}),{node:t[0],distance:i(t[0])}).node}({nodes:a,origin:i.relative}))}return o}function Xo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=e.facade,a=n.delay.tap,l=Ko({config:n}),s=Uo({config:n}),c=n.main.triggers.reduce((function(e,t){return e.push.apply(e,E(t.keys)),e}),[]);return{key:\"event:\".concat(\"tooltipTap\"),type:\"Tap\",options:{event:\"tooltipTap\",enable:function(e,r){return!r||!!n.enable({event:r})&&t.componentsFromPoint({x:r.center.x,y:r.center.y}).filter((function(e){return-1!==c.indexOf(e.key)})).length>0}},recognizeWith:\"tap\",events:C({},\"tooltipTap\",(function(e){if(e.preventDefault(),\"mouse\"!==e.pointerType&&!n.main.suppress({event:e})){var c=t.component(n.main.key);if(c&&c.show){var u=t.componentsFromPoint({x:e.center.x,y:e.center.y}),f=l({components:u});if(f.any){var d=I(f.components,1)[0],p=Go({chart:t,event:e,component:d});i.set(qo,p);var h=Wo({chart:t,filter:s,hits:f,position:p});if(h.length){var m=h[0].key;n.main.events.tooltip.beforeShow({expando:r,event:e,collectNodes:function(){return o.collectNodes({nodes:h})},meta:{triggerer:m,position:p}}).then((function(){c.emit(\"show\",e,{nodes:h,delay:a})})).catch((function(){}))}else c.emit(\"hide\")}else c.emit(\"hide\")}}}))}}function Zo(e){var t=e.config,n=e.expando,r=e.internal,i=e.facade,o=t.main.events.tooltip.beforeShow,a=t.delay.hover,l={ongoing:{},latest:void 0};return function(e){var t=e.event,s=e.tooltip,c=e.nodes,u=function(e){var t=e.nodes;return JSON.stringify(t.map((function(e){var t;return{key:e.key,bounds:e.bounds,value:null===(t=e.data)||void 0===t?void 0:t.value}})))}({nodes:c});if(!l.ongoing[u]){l.ongoing[u]=!0,l.latest=u;var f=c[0].key;o({expando:n,event:t,collectNodes:function(){return i.collectNodes({nodes:c})},meta:{triggerer:f,position:r.get(qo)}}).then((function(){u===l.latest&&s.emit(\"show\",t,{nodes:c,delay:a})})).catch((function(){s.emit(\"show\")})).finally((function(){delete l.ongoing[u],u===l.latest&&(l.latest=void 0)}))}}}function Jo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=e.facade,a=Ko({config:n}),l=Uo({config:n}),s=Zo({config:n,expando:r,internal:i,facade:o}),c=[n.main.key,n.legend.keys.tooltip].filter(Boolean),u=function(){c.forEach((function(e){var n=t.component(e);null!=n&&n.show&&n.emit(\"hide\")}))};return{type:\"native\",events:{mousemove:function(e){if(n.enable({event:e})&&!n.main.suppress({event:e})){var r=t.componentsFromPoint({x:e.clientX,y:e.clientY}),o=t.component(n.main.key);if(o&&o.show){var c=a({components:r});if(c.any){var u=I(c.components,1)[0],f=Go({chart:t,event:e,component:u});i.set(qo,f);var d=Wo({chart:t,filter:l,hits:c,position:f});if(!d.length)return void o.emit(\"hide\");s({event:e,tooltip:o,nodes:d})}else o.emit(\"hide\")}var p=n.legend;if(p.keys.tooltip&&p.keys.component){var h=t.component(p.keys.tooltip);h&&h.show&&(r.some((function(e){return e.key===p.keys.component}))?h.emit(\"show\",e):h.emit(\"hide\"))}}},mouseup:function(e){2===e.button&&u()},mouseleave:function(){n.main.events.interaction.mouseleave({expando:r}),u()},wheel:function(){u()}}}}function Qo(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal,o=function(e){var t=e.chart,n=e.config,r=e.expando,i=e.internal;return{collectNodes:function(e){var o=e.nodes,a=I(Io({chart:t,config:n,expando:r,internal:i,nodes:o}),1)[0];return(void 0===a?{nodes:[]}:a).nodes}}}({chart:t,config:n,expando:r,internal:i});return{gestures:[Xo({chart:t,config:n,expando:r,internal:i,facade:o})],native:Jo({chart:t,config:n,expando:r,internal:i,facade:o})}}function ea(e){var t=e.chart,n=e.translator,r=function(e){var t=e.config;return ae(!0,{},{rtl:!1,enable:go.FALSE,getColorSettings:go.OBJECT,style:{fontSize:void 0,fontFamily:void 0,color:void 0,background:void 0},delay:{hover:500,tap:0},duration:8e3,main:{key:void 0,suppress:go.FALSE,getGroupByValue:go.NOOP,collectibles:[],triggers:[],placement:function(){return{type:\"bounds\"}},placements:{collectible:\"combine\"},showDuplicateMeasures:!1,layout:{rows:7,grouping:!1,single:!1},section:go.ARRAY,sections:go.NOOP,events:{tooltip:{beforeShow:function(){return Promise.resolve()},afterShow:go.NOOP,afterHide:go.NOOP},interaction:{mouseleave:go.NOOP}}},legend:{keys:{tooltip:void 0,component:void 0}}},void 0===t?{}:t)}({config:e.config}),i=pn(),o=pn(),a={components:void 0,interactions:void 0};return{getComponents:function(){return a.components||(a.components=function(e){var t=e.chart,n=e.translator,r=e.config;return[_o({chart:t,translator:n,config:r,expando:e.expando,internal:e.internal}),Bo({config:r})].filter(Boolean)}({chart:t,translator:n,config:r,expando:i,internal:o})),a.components},getInteractions:function(){return a.interactions||(a.interactions=Qo({chart:t,config:r,expando:i,internal:o})),a.interactions},expando:i}}var ta=\"AVERAGE\",na=\"LINEAR\",ra=\"POLYNOMIAL2\",ia=\"POLYNOMIAL3\",oa=\"POLYNOMIAL4\",aa=\"EXPONENTIAL\",la=\"LOG\",sa=\"POWER\";function ca(e){var t=e.dimValue,n=e.value,r=e.qTrendLine,i=r.qType,o=r.qCoeff,a={x:t,y:o[2]*Math.pow(n,2)+o[1]*n+o[0]};switch(i){case ra:return a;case ia:return a.y+=o[3]*Math.pow(n,3),a;case oa:return a.y+=o[4]*Math.pow(n,4)+o[3]*Math.pow(n,3),a;default:return a}}var ua={average:function(e){return{x:e.dimValue,y:e.qTrendLine.qCoeff[0]}},linear:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:r.qCoeff[1]*n+r.qCoeff[0]}},polynomial2:ca,polynomial3:ca,polynomial4:ca,exponential:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:Math.exp(r.qCoeff[0]+n*r.qCoeff[1])}},log:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:r.qCoeff[1]+r.qCoeff[0]*Math.log(n)}},power:function(e){var t=e.dimValue,n=e.value,r=e.qTrendLine;return{x:t,y:Math.pow(10,r.qCoeff[0]+r.qCoeff[1]*Math.log(n)*Math.LOG10E)}}};function fa(e,t){for(var n=ua[t.qType.toLowerCase()],r=Math.max(1,e/500),i=1/0,o=-1/0,a=0;a<e;a+=r){var l=n({dimValue:null,value:a+1,qTrendLine:t}).y;i=Math.min(l,i),o=Math.max(l,o)}return{min:i,max:o}}function da(e){return ua[e.qType.toLowerCase()]}function pa(e,t){return e.meta.isContinuous?function(e,t){return{generate:function(e,n,r){var i=[],o=da(e),a=t({qTrendLine:e,measureIndex:r}),l=a.min,s=a.max,c=(s-l)/100;if(c>0){for(var u=function(t){var a=o({dimValue:t,value:t,qTrendLine:e});if(a.layerId=n,a.measureIndex=r,a.dimValue=t,e.flipXY){var l=a.x;a.x=a.y,a.y=l,a.dimValue=a.x}i.push(a)},f=l,d=l;d<=s;d+=c)u(d),f=d;f!==s&&u(s)}return i},calculate:function(e,t){return da(e)({dimValue:t,value:t,qTrendLine:e})},findMinMax:function(e,t){var n=this.generate(t).map((function(e){return e.y}));return{min:Math.min.apply(Math,E(n)),max:Math.max.apply(Math,E(n))}}}}(0,t):e.meta.mode.K?function(e){return{generate:function(t,n,r){for(var i=[],o=e.getDataPages()[0],a=o.qData[0].qSubNodes,l=o.qArea.qTop,s=ua[t.qType.toLowerCase()],c=0;c<a.length;c++){var u=a[c],f=s({dimValue:u.qElemNo,value:c+l+1,qTrendLine:t});f.layerId=n,f.measureIndex=r,f.dimValue=u.qText,i.push(f)}return i},findMinMax:fa}}(e):function(e){return{generate:function(t,n,r){for(var i=[],o=e.getDataPages()[0],a=o.qMatrix,l=o.qArea.qTop,s=ua[t.qType.toLowerCase()],c=0;c<a.length;c++){var u=a[c][0],f=c+l+1,d=s({dimValue:u.qElemNumber,value:f,qTrendLine:t});d.layerId=n,d.measureIndex=r,d.dimValue=u.qText,i.push(d)}return i},calculate:function(e,t,n){return(0,ua[e.qType.toLowerCase()])({dimValue:n,value:t,qTrendLine:e})},findMinMax:fa}}(e)}var ha={TYPES:{AVERAGE:\"properties.trendlines.types.average\",LINEAR:\"properties.trendlines.types.linear\",POLYNOMIAL2:\"properties.trendlines.types.polynomial2\",POLYNOMIAL3:\"properties.trendlines.types.polynomial3\",POLYNOMIAL4:\"properties.trendlines.types.polynomial4\",EXPONENTIAL:\"properties.trendlines.types.exponential\",LOG:\"properties.trendlines.types.logarithmic\",POWER:\"properties.trendlines.types.power\"},STYLE:{DASHED:\"properties.trendlines.style.dashed\"},TYPE:\"properties.trendlines.type\",HEADER:\"properties.trendlines\",ADD_BUTTON:\"properties.trendlines.button.add\"},ma={color:\"#f93f17\",index:9},ga={x:NaN,y:NaN,dimValue:NaN,layerId:NaN,measureIndex:NaN},va=function(e){var t=e.layoutService,n=e.getMinMax,r=e.colorModel,i=e.chart,o=e.translator,a=e.keys.colorScale,l=e.isEnabled,s=void 0===l?function(){return!0}:l,c=[ga],u=[],f=[],d=pa(t,n);t.getLayoutValue(\"qHyperCube.qMeasureInfo\",[]).forEach((function(e,t){Array.isArray(e.qTrendLines)&&(u.push.apply(u,E(e.qTrendLines)),f.push.apply(f,E(e.qTrendLines.map((function(){return t})))))}));var p=hn((function(e){var t=(u[e]||{}).style,n=r.settings();if(t.autoColor){if(\"measure\"===n.mode){var o=f[e],l=i.scale(a)(o);return function(e){return it(e).l<70}(l)?function(e){var t=it(e);return t.l<30?t.l+=15:t.l<50?t.l+=10:t.l+=5,t.toString()}(l):function(e){var t=it(e);return t.l-=5,t.toString()}(l)}return r.resolveUIColor(ma)}return t.paletteColor?r.resolveUIColor(t.paletteColor):\"none\"}));return{query:{hasTrendLines:function(){return!!u.length&&s()},getData:function(){return c},getStroke:p,getLineDash:function(e){return(u[e]||{}).style.lineDash},getLabel:function(e){return(u[e]||{}).label},getExpression:function(e){var t=(u[e]||{}).qExpression;return u[e].flipXY&&(t=t.replace(/[xy]/g,(function(e){return\"x\"===e?\"y\":\"x\"}))),t},isFlipped:function(e){return u[e].flipXY},getType:function(e){var t=(u[e]||{}).qType;return o.get(ha.TYPES[t])},getMinMax:function(){var e=1/0,n=-1/0;return u.forEach((function(r){var i=d.findMinMax(t.meta.size.y,r);e=Math.min(i.min,e),n=Math.max(i.max,n)})),{min:e,max:n}},getCalculatedValue:function(e,t,n){var r=u[e];return d.calculate(r,t,n)}},command:{update:function(){c.length=0,u.forEach((function(e,t){var n=d.generate(e,t,f[t]);c.push.apply(c,E(n))}))}}}},ya={source:\"trend\",extract:{field:\"x\",props:{minor:{field:\"y\"},layer:{field:\"layerId\"},measureIndex:{field:\"measureIndex\"},dimValue:{field:\"dimValue\"}}}},ba=function(e){var t=e.meta;return t.isContinuous?function(e){return(0,e.scale)(e.datum.value)}:t.isGroupedByMeasure?function(e){var t=e.scale,n=e.datum;return t([n.value,n.measureIndex.value])+t.bandwidth()/2}:function(e){var t=e.scale;return t(e.datum.value)+t.bandwidth()/2}},xa=function(e,t){var n=t.animations,r=t.layoutService,i=t.trendLineModel,o=t.orientation;if(!i.query.hasTrendLines())return[];var a=function(e,t){var n=e.trendlines,r=e.majorScale,i=e.minorScale,o=t.animations,a=t.trendLineModel,l=t.layoutService,s=t.orientation,c=ba(l);return{key:n,type:\"line\",layout:{dock:\"center\"},data:ya,animations:o,settings:{connect:!0,orientation:s,coordinates:{major:{scale:r,fn:c},minor:{scale:i},layerId:{ref:\"layer\"}},layers:{curve:\"monotone\",line:{strokeWidth:2,stroke:function(e){var t=e.datum;return a.query.getStroke(t.layer.value)},strokeDasharray:function(e){var t=e.datum;return a.query.getLineDash(t.layer.value)}}}}}}(e,{animations:n,trendLineModel:i,layoutService:r,orientation:o}),l=[a];if(e.tooltipOverlay){var s=function(e,t){var n=e.majorScale,r=e.minorScale,i=e.tooltipOverlay,o=t.layoutService,a=\"horizontal\"===t.orientation,l={scale:n,fn:ba(o)},s={scale:r,ref:\"minor\"};return{key:i,type:\"point\",layout:{dock:\"center\"},data:ya,settings:{x:a?l:s,y:a?s:l,opacity:0,size:1,sizeLimits:{maxPx:8,minPx:8}}}}(e,{layoutService:r,orientation:o});l.push(s)}return l},qa=function(e){e.style.dashed?e.style.lineDash=\"8, 4\":e.style.lineDash=\"\"},wa=function(e){qa(e),e.qMultiDimMode=\"Sum\",e.qXColIx=0};function ka(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ca(e){return Math.pow(e.x,2)+Math.pow(e.y,2)}function Ma(e,t,n){var r=ka(n,e),i=ka(t,e),o=Ca(i);if(0===o)return e;var a,l,s,c,u=(l=i,((a=r).x*l.x+a.y*l.y)/o);return u<=0?e:u>=1?t:function(e,t){return{x:e.x+t.x,y:e.y+t.y}}(e,(c=u,{x:(s=i).x*c,y:s.y*c}))}function Sa(e){var t,n,r=e.keys,i=e.model,o=e.chart,a=e.pos,l=e.lineNode,s=i,c=o.component(r.trendlines),u=o.scale(r.majorScale),f=o.scale(r.minorScale),d=l.data.layer.value,p=function(e,t){var n=1/0,r=null;if(1===e.length)return e[0];for(var i=0;i<e.length-1;++i){var o=Ma(e[i],e[i+1],t),a=Ca(ka(o,t));a<n&&(n=a,r=o)}return r}(l.data.points.map((function(e){return{x:u(e.dimValue.value)*c.rect.computed.width,y:f(e.minor.value)*c.rect.computed.height}})),a);return s.query.isFlipped(d)?(n=f.invert(p.y/c.rect.computed.height),t=s.query.getCalculatedValue(d,n).y,p.x=u(t)*c.rect.computed.width):(t=u.invert(p.x/c.rect.computed.width),n=s.query.getCalculatedValue(d,t).y,p.y=f(n)*c.rect.computed.height),{key:l.key,children:[],data:{layer:d,x:t,y:n},bounds:{x:p.x,y:p.y,width:0,height:0}}}function Da(e){var t=e.animations,n=e.chart,r=e.colorService,i=e.isEnabled,o=e.keys,a=void 0===o?{}:o,l=e.layoutService,s=e.orientation,c=e.translator,u=e.getMinMax;a.trendlines||(a.trendlines=\"trend-lines\");var f=va({layoutService:l,getMinMax:u,colorModel:{settings:function(){return r.getSettings()},resolveUIColor:function(e){return r.getPaletteColor(e)}},chart:n,translator:c,keys:a,isEnabled:i});return{getComponents:function(){return xa(a,{animations:t,layoutService:l,trendLineModel:f,orientation:s})},getData:function(){return f.query.hasTrendLines()?[{key:\"trend\",data:f.query.getData()}]:[]},collectNodes:function(e){var t=e.nodes,r=e.meta;return function(e){var t=e.keys,n=e.model,r=e.chart,i=e.nodes,o=e.meta;return i.length?[Sa({keys:t,model:n,chart:r,pos:o.position.relative,lineNode:i[0]})]:[]}({keys:a,model:f,chart:n,nodes:t,meta:r})},getModel:function(){return f},update:function(){return f.command.update()}}}Da.propertyPanelProperties=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.translator,n=function(e){var n=A(e.label);return\"string\"===n&&e.label?e.label:\"object\"===n?e.label.qStringExpression?e.label.qStringExpression.qExpr:e.label.qValueExpression.qExpr:t.get(ha.TYPES[e.qType])};return{type:\"array\",ref:\"qTrendLines\",titleTranslation:ha.HEADER,itemTitleRef:n,max:8,allowAdd:!0,allowRemove:!0,allowMove:!1,addTranslation:ha.ADD_BUTTON,add:wa,items:{label:{ref:\"label\",type:\"string\",expression:\"optional\",translation:\"Common.Label\",defaultValue:\"\"},type:{ref:\"qType\",type:\"string\",component:\"dropdown\",translation:ha.TYPE,options:[{value:ta,translation:ha.TYPES.AVERAGE},{value:na,translation:ha.TYPES.LINEAR},{value:ra,translation:ha.TYPES.POLYNOMIAL2},{value:ia,translation:ha.TYPES.POLYNOMIAL3},{value:oa,translation:ha.TYPES.POLYNOMIAL4},{value:aa,translation:ha.TYPES.EXPONENTIAL},{value:la,translation:ha.TYPES.LOG},{value:sa,translation:ha.TYPES.POWER}],defaultValue:ta},autoColor:{ref:\"style.autoColor\",type:\"boolean\",translation:\"properties.colors\",component:\"switch\",defaultValue:!0,options:[{value:!0,translation:\"Common.Auto\"},{value:!1,translation:\"Common.Custom\"}]},paletteColor:{ref:\"style.paletteColor\",translation:\"properties.color\",type:\"object\",component:\"color-picker\",dualOutput:!0,defaultValue:ma,show:function(e){return!e.style.autoColor}},dashed:{ref:\"style.dashed\",translation:ha.STYLE.DASHED,type:\"boolean\",defaultValue:!0,change:qa}}}};export{n as COLORS,re as alternativeService,o as asHSL,l as asHSLA,c as asHSV,s as asHSVObject,i as asHex,u as asRGB,f as asRGBA,pn as cache,Yt as colorService,g as createColor,gn as debouncer,Jt as disclaimerService,cn as dockService,_ as fontResolver,P as getAvailableFonts,y as getBestContrast,x as getBlendedColor,v as getContrastRatio,b as getContrastingColor,h as getLuminance,un as getValue,m as isDark,wn as layoutService,G as mapFromQTypeToSprout,hn as memoize,Cn as pluginService,io as selectionService,dn as setValue,mn as storage,mo as themeService,vn as throttler,ea as tooltipService,Da as trendlinesService};\n","const ChartStyleComponent = (fontResolver, theme, chartId) => {\n const propertyDefs = {};\n propertyDefs.getOptions = (key, ref) => {\n const getFontFamilyComponent = () => ({\n ref: `${ref}.fontFamily`,\n component: 'dropdown',\n options: () => fontResolver.getOptions(`${ref}.fontFamily`),\n defaultValue: () => fontResolver.getDefaultValue(`${ref}.fontFamily`),\n });\n\n const getFontSizeComponent = () => ({\n ref: `${ref}.fontSize`,\n component: 'dropdown',\n width: true,\n options: () => fontResolver.getOptions(`${ref}.fontSize`),\n defaultValue: () => fontResolver.getDefaultValue(`${ref}.fontSize`),\n });\n\n const getColorComponent = (theme, chartId) => ({\n ref: `${ref}.fontColor`,\n component: 'color-picker',\n width: false,\n defaultValue: () => {\n const color = theme.getStyle(chartId, `${ref}.color`, 'color');\n const palette = theme.getDataColorPickerPalettes()[0].colors;\n const index = palette.indexOf(color);\n return { color, index };\n },\n });\n\n const getFontWrapperComponent = (theme, chartId) => ({\n fontWrapper: {\n component: 'inline-wrapper',\n items: {\n fontSize: {\n ...getFontSizeComponent(),\n },\n fontColor: {\n ...getColorComponent(theme, chartId),\n },\n },\n },\n });\n return {\n labelSection: {\n component: 'items',\n ref: 'components',\n key,\n items: {\n fontFamily: {\n ...getFontFamilyComponent(),\n },\n ...getFontWrapperComponent(theme, chartId),\n },\n },\n };\n };\n return propertyDefs;\n};\n\nexport const getChartFontResolver = (theme, translator, chartId, createFontResolver, flags) =>\n createFontResolver({\n theme,\n translator,\n flags,\n config: {\n id: chartId,\n paths: ['axis.title', 'axis.label.name', 'label.value', 'legend.title', 'legend.label'],\n },\n });\n\nconst overrides = (key, layout) => (layout.components || []).find((c) => c.key === key);\n\nexport const getAxisTitleStyle = (chartId, theme, layout) => {\n const axis = overrides('axis', layout)?.axis;\n return {\n text: {\n fontFamily: axis?.title?.fontFamily || theme.getStyle(chartId, 'axis.title', 'fontFamily'),\n fontSize: axis?.title?.fontSize || theme.getStyle(chartId, 'axis.title', 'fontSize'),\n fill: axis?.title?.fontColor?.color || theme.getStyle(chartId, 'axis.title', 'color'),\n },\n };\n};\nexport const getAxisLabelStyle = (chartId, theme, layout) => {\n const axis = overrides('axis', layout)?.axis;\n return {\n labels: {\n fontFamily: axis?.label?.name?.fontFamily || theme.getStyle(chartId, 'axis.label.name', 'fontFamily'),\n fontSize: axis?.label?.name?.fontSize || theme.getStyle(chartId, 'axis.label.name', 'fontSize'),\n fill: axis?.label?.name?.fontColor?.color || theme.getStyle(chartId, 'axis.label.name', 'color'),\n },\n };\n};\n\nexport const getValueLabelStyle = (chartId, styles, layout) => {\n const value = overrides('value', layout)?.label;\n const fontFamily = value?.value?.fontFamily || styles.label.value.fontFamily;\n let fontSize = value?.value?.fontSize || styles.label.value.fontSize;\n fontSize = parseFloat(fontSize);\n const fill = value?.value?.fontColor?.color;\n return {\n fontFamily,\n fontSize,\n fill,\n };\n};\n\nexport const getLegendTitleStyle = (chartId, theme, layout, flags) => {\n const legend = flags.isEnabled('CLIENT_IM_3051') ? overrides('legend', layout)?.legend : {};\n return {\n fontFamily: legend?.title?.fontFamily || theme.getStyle(chartId, 'legend.title', 'fontFamily'),\n fontSize: legend?.title?.fontSize || theme.getStyle(chartId, 'legend.title', 'fontSize'),\n color: legend?.title?.fontColor?.color || theme.getStyle(chartId, 'legend.title', 'color'),\n };\n};\n\nexport const getLegendLabelStyle = (chartId, theme, layout, flags) => {\n const legend = flags.isEnabled('CLIENT_IM_3051') ? overrides('legend', layout)?.legend : {};\n return {\n fontFamily: legend?.label?.fontFamily || theme.getStyle(chartId, 'legend.label', 'fontFamily'),\n fontSize: legend?.label?.fontSize || theme.getStyle(chartId, 'legend.label', 'fontSize'),\n color: legend?.label?.fontColor?.color || theme.getStyle(chartId, 'legend.label', 'color'),\n };\n};\n\nexport default ChartStyleComponent;\n","const CHART_ID = 'object.waterfallChart';\n\nfunction getShapeColor(layout, theme, name, defaultColor, defaultIndex) {\n const layoutColor = layout.color || layout.qDef.color;\n if (!layoutColor || layoutColor.auto || !layoutColor[name]) {\n const color = theme.getStyle(CHART_ID, `shape.${name}`, 'fill') || defaultColor;\n const index = defaultIndex; // chartStyleUtils.Theme.currentPalette.indexOf(color);\n return { index, color };\n }\n\n return layoutColor[name].paletteColor;\n}\n\nfunction getColorForPositiveValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'positiveValue', null, 6));\n}\n\nfunction getColorForNegativeValue(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'negativeValue', '#cc6677', -1));\n}\n\nfunction getColorForSubtotal(layout, theme) {\n return theme.getColorPickerColor(getShapeColor(layout, theme, 'subtotal', '#c3c3c3', -1));\n}\n\nconst waterfallUtils = {\n valueTypes: {\n NORMAL: 'NORMAL',\n INVERSE: 'INVERSE',\n SUBTOTAL: 'SUBTOTAL',\n },\n chartID: CHART_ID,\n getColorForPositiveValue,\n getColorForNegativeValue,\n getColorForSubtotal,\n};\n\nObject.freeze(waterfallUtils.valueTypes);\nObject.freeze(waterfallUtils);\n\nexport default waterfallUtils;\n","/**\n * Gets definition of items that should be in the styling panel for the chart.\n * @param {*} flags\n * @param {*} styleOptions\n * @returns definition or undefined if nothing is toggled on by feature flags\n */\nconst getStylingItems = (flags, styleOptions) => {\n const items = {\n axisLabelSection: {\n translation: 'properties.axis.label',\n component: 'panel-section',\n items: styleOptions.getOptions('axis', 'axis.label.name'),\n },\n valueLabelSection: {\n translation: 'properties.value.label',\n component: 'panel-section',\n items: styleOptions.getOptions('value', 'label.value'),\n },\n };\n\n if (flags?.isEnabled('CLIENT_IM_3051')) {\n items.legendLabelSection = {\n translation: 'properties.legend.label',\n component: 'panel-section',\n items: styleOptions.getOptions('legend', 'legend.label'),\n };\n }\n\n return Object.keys(items).length > 0 ? items : undefined;\n};\n\nconst getStylingPanelDefinition = (bkgOptionsEnabled, styleOptions, flags) => ({\n component: 'styling-panel',\n chartTitle: 'Object.WaterfallChart',\n translation: 'LayerStyleEditor.component.styling',\n subtitle: 'LayerStyleEditor.component.styling',\n ref: 'components',\n useGeneral: true,\n useBackground: bkgOptionsEnabled,\n items: getStylingItems(flags, styleOptions),\n});\n\nexport default getStylingPanelDefinition;\n","import extend from 'extend';\nimport { fontResolver as createFontResolver, getValue } from 'qlik-chart-modules';\n// import defaultProperties from '../../../assets/client/property-panel/default-properties';\nimport ChartStyleComponent, { getChartFontResolver } from '@qlik/common/extra/chart-style-component';\nimport waterfallUtils from './waterfallchart-utils';\nimport getStylingPanelDefinition from './styling-panel-property-definiton';\n\nfunction colorIsNotAuto(data) {\n return !data.color.auto;\n}\n\nexport default function propertyDefinition(env) {\n const { flags, translator } = env;\n // feature flags\n const stylingPanelEnabled = env.flags.isEnabled('SENSECLIENT_IM_2020_STYLINGPANEL_WATERFALLCHART');\n const bkgOptionsEnabled = env.flags.isEnabled('SENSECLIENT_IM_2020_WATERFALLCHART_BG');\n const data = {\n uses: 'data',\n addTranslation: 'Properties.AddData',\n items: {\n measures: {\n disabledRef: '',\n items: {\n numberFormatting: {\n show: false,\n },\n valueType: {\n type: 'string',\n component: 'dropdown',\n ref: 'qDef.valueType',\n translation: 'properties.waterfall.measureOperation',\n options: [\n {\n value: waterfallUtils.valueTypes.NORMAL,\n translation: 'properties.waterfall.measureOperation.add',\n },\n {\n value: waterfallUtils.valueTypes.INVERSE,\n translation: 'properties.waterfall.measureOperation.subtract',\n },\n {\n value: waterfallUtils.valueTypes.SUBTOTAL,\n translation: 'properties.waterfall.measureOperation.subtotal',\n },\n ],\n defaultValue: waterfallUtils.valueTypes.NORMAL,\n },\n subTotal: {\n ref: 'qDef.subtotal.enable',\n type: 'boolean',\n defaultValue: false,\n translation: 'properties.waterfall.measureOperation.subtotal',\n show(data) {\n return data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL;\n },\n },\n subTotalLabel: {\n translation: 'properties.waterfall.subtotalLabel',\n component: 'string',\n expression: 'optional',\n ref: 'qDef.subtotal.label',\n defaultValue() {\n return translator.get('properties.waterfall.measureOperation.subtotal');\n },\n show(data) {\n return (\n data.qDef.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n data.qDef.subtotal &&\n data.qDef.subtotal.enable\n );\n },\n },\n },\n },\n },\n };\n\n const theme = env.theme;\n const fontResolver = getChartFontResolver(theme, translator, waterfallUtils.chartID, createFontResolver, flags);\n const styleOptions = ChartStyleComponent(fontResolver, theme, waterfallUtils.chartID);\n const presentation = {\n type: 'items',\n translation: 'properties.presentation',\n grouped: true,\n items: {\n stylingPanel: stylingPanelEnabled && getStylingPanelDefinition(bkgOptionsEnabled, styleOptions, flags),\n gridLines: {\n type: 'items',\n snapshot: {\n tid: 'property-gridLines',\n },\n items: {\n showGridLines: {\n ref: 'gridlines.auto',\n type: 'boolean',\n translation: 'properties.gridLine.spacing',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n },\n gridSpacing: {\n ref: 'gridlines.spacing',\n type: 'number',\n component: 'dropdown',\n defaultValue: 2,\n options: [\n {\n value: 0,\n translation: 'properties.gridLine.noLines',\n },\n {\n value: 2,\n translation: 'properties.gridLine.medium',\n },\n {\n value: 3,\n translation: 'properties.gridLine.narrow',\n },\n ],\n show(data) {\n return data.gridlines && !data.gridlines.auto;\n },\n },\n },\n },\n showLabels: {\n ref: 'dataPoint.showLabels',\n type: 'boolean',\n translation: 'properties.dataPoints.labelmode',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n snapshot: {\n tid: 'property-dataPoints',\n },\n },\n },\n };\n\n const autoColor = {\n ref: 'color.auto',\n type: 'boolean',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'Common.Custom',\n },\n ],\n };\n const positiveValueColor = {\n ref: 'color.positiveValue.paletteColor',\n translation: 'properties.waterfall.color.positiveValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: 6, color: null },\n show: colorIsNotAuto,\n };\n const negativeValueColor = {\n ref: 'color.negativeValue.paletteColor',\n translation: 'properties.waterfall.color.negativeValueColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#cc6677' },\n show: colorIsNotAuto,\n };\n const subtotalColor = {\n ref: 'color.subtotal.paletteColor',\n translation: 'properties.waterfall.color.subtotalColor',\n type: 'object',\n component: 'color-picker',\n dualOutput: true,\n defaultValue: { index: -1, color: '#c3c3c3' },\n show: colorIsNotAuto,\n };\n\n const simpleColors = {\n classification: {\n section: 'color',\n tags: ['simple'],\n exclusive: true,\n },\n type: 'items',\n items: {\n simpleItems: {\n items: {\n autoColor: {\n ...autoColor,\n label: (data) => translator.get(data.color?.auto ? 'Common.Auto' : 'Common.Custom'),\n },\n positiveValueColor,\n negativeValueColor,\n subtotalColor,\n },\n },\n },\n };\n\n const colors = {\n translation: 'properties.colorsAndLegend',\n type: 'items',\n grouped: true,\n items: {\n colors: {\n type: 'items',\n items: {\n autoColor: {\n ...autoColor,\n translation: 'properties.colors',\n },\n positiveValueColor,\n negativeValueColor,\n subtotalColor,\n },\n },\n simpleColors,\n legend: {\n type: 'items',\n items: {\n show: {\n ref: 'legend.show',\n type: 'boolean',\n translation: 'properties.legend.show',\n component: 'switch',\n defaultValue: true,\n options: [\n {\n value: true,\n translation: 'Common.Auto',\n },\n {\n value: false,\n translation: 'properties.off',\n },\n ],\n },\n dock: {\n type: 'string',\n component: 'dropdown',\n ref: 'legend.dock',\n translation: 'properties.legend.position',\n options: [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'right',\n translation: 'properties.dock.right',\n },\n {\n value: 'bottom',\n translation: 'Common.Bottom',\n },\n {\n value: 'left',\n translation: 'properties.dock.left',\n },\n {\n value: 'top',\n translation: 'Common.Top',\n },\n ],\n defaultValue: 'auto',\n show(data) {\n return getValue(data, 'legend.show', true);\n },\n },\n },\n },\n },\n };\n\n const measureAxis = {\n uses: 'axis.picasso.measureAxis',\n label: translator.get('properties.yAxis'),\n items: {\n axis: {\n items: {\n measureAxisTitle: {\n component: 'header',\n type: 'string',\n label: translator.get('properties.yAxis'),\n classification: {\n section: 'axis',\n tags: ['simple'],\n exclusive: true,\n },\n },\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n },\n },\n },\n };\n\n const dimensionAxis = {\n uses: 'axis.picasso.dimensionAxis',\n items: {\n othersGroup: {\n items: {\n show: {\n translation: 'properties.labels',\n defaultValue: 'labels',\n options: [\n {\n value: 'labels',\n translation: 'properties.labels',\n },\n {\n value: 'none',\n translation: 'Common.None',\n },\n null,\n null,\n ],\n },\n label: {\n options: flags.isEnabled('SENSECLIENT_LAYERED_LABELS')\n ? [\n {\n value: 'auto',\n translation: 'Common.Auto',\n },\n {\n value: 'horizontal',\n translation: 'Common.Horizontal',\n },\n {\n value: 'tilted',\n translation: 'properties.labels.tilted',\n },\n {\n value: 'layered',\n translation: 'properties.labels.layered',\n },\n ]\n : undefined,\n },\n },\n },\n },\n };\n\n const simpleLabels = {\n items: {\n labels: {\n items: {\n header: {\n show(props) {\n return props.qHyperCubeDef.qMeasures?.length;\n },\n },\n pointLabels: {\n component: 'checkbox',\n ref: 'dataPoint.showLabels',\n type: 'boolean',\n defaultValue: true,\n translation: 'Simple.Label.Value',\n show(props) {\n return props.qHyperCubeDef.qMeasures?.length;\n },\n },\n },\n },\n },\n };\n\n const settings = {\n uses: 'settings',\n items: {\n simpleLabels,\n presentation,\n colors,\n measureAxis,\n dimensionAxis,\n },\n };\n\n const addons = {\n type: 'items',\n component: 'expandable-items',\n translation: 'properties.addons',\n items: {\n dataHandling: {\n uses: 'dataHandling',\n items: {\n suppressZero: null,\n calcCond: {\n uses: 'calcCond',\n },\n },\n },\n refLines: {\n uses: 'reflines',\n items: {\n colorBackground: {\n show: false,\n },\n },\n },\n },\n };\n const numberFormatting = {\n translation: 'properties.numberFormatting',\n type: 'items',\n globalChange(data) {\n data.qHyperCubeDef.qMeasures.forEach((measure) => {\n measure.qDef.numFormatFromTemplate = data.qDef.numFormatFromTemplate;\n measure.qDef.qNumFormat = extend(true, {}, data.qDef.qNumFormat);\n });\n },\n items: {\n numberFormatting: {\n uses: 'measures.items.numberFormatting',\n items: { numberFormattingType: undefined },\n },\n },\n };\n\n return {\n type: 'items',\n component: 'accordion',\n items: {\n data,\n numberFormatting,\n addons,\n settings,\n },\n };\n}\n","import pp from './waterfallchart-properties';\nimport dataDefinition from './waterfallchart-data-definition';\nimport { importProperties, exportProperties } from './waterfallchart-import-export';\n\nexport default function ext(env) {\n return {\n definition: pp(env),\n support: {\n cssScaling: false,\n snapshot: true,\n export: true,\n exportData: true,\n sharing: true,\n viewData: true,\n },\n importProperties(exportFormat, initialProperties, extension) {\n extension.mapProperties();\n\n const defaultPropertyValues = {\n defaultDimension: extension.getDefaultDimensionProperties(),\n defaultMeasure: extension.getDefaultMeasureProperties(),\n };\n return importProperties({\n dataDefinition: dataDefinition(env),\n defaultPropertyValues,\n exportFormat,\n initialProperties,\n });\n },\n exportProperties(propertyTree, hyperCubePath, viewDataMode) {\n return exportProperties({ propertyTree, viewDataMode });\n },\n };\n}\n","/* eslint-disable prefer-rest-params */\n/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\n\n/* Simple JavaScript Inheritance\n * By John Resig http://ejohn.org/\n * MIT Licensed.\n * Modified by Qliktech\n */\n// Inspired by base2 and Prototype\n\n/* eslint no-new-func:0,no-unused-vars:0 */\n\nconst fnTest = /xyz/.test(() => {\n let xyz;\n})\n ? /\\b_super\\b/\n : /.*/;\n\n/**\n * Helper module for creating subclasses (or rather prototypal inheritance) of superclasses.\n *\n * @class\n *\n * @example\n * var Animal = Class.extend( \"Animal\", {\n * init: function ( name ) {\n * this.name = name || \"Unnamed\";\n * },\n * say: function ( sound ) {\n * console.log( this.name + \" says \" + sound );\n * }\n * } );\n *\n * var Cat = Animal.extend( \"Cat\", {\n * say: function () {\n * this._super( \"Meouw\" );\n * }\n * } );\n *\n * var cat = new Cat( \"Gustaf\" );\n * cat.say(); => \"Gustaf says Meouw\"\n *\n * @example\n * var MyClass = Class.extend();\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => Class\n *\n * @example\n * var MyClass = Class.extend( \"MyClass\" );\n *\n * var a = new MyClass();\n * console.log( a instanceof MyClass ) // => true\n * console.log( a.constructor.name ) // => MyClass\n *\n */\nconst Class = function () {};\n\n/**\n * This method is available inside each function defined on the prototype when using {@link module:assets/core/utils/class~Class.extend}.\n *\n * It will invoke the super class' method with the same name, but it's up to programmer to invoke it with the arguments needed.\n * @method module:assets/core/utils/class~Class#_super\n */\n\n/**\n * Create a new Class that inherits from this class\n * @param {String} [className=\"Class\"] The name of the new class constructor.\n * @param {Object} proto The prototype for the new class.\n */\nClass.extend = function extend(className, proto) {\n const _super = this.prototype;\n\n if (typeof className !== 'string') {\n proto = className;\n className = 'Class';\n }\n\n // Instantiate a base class (but only create the instance,\n // don't run the init constructor)\n const prototype = Object.create(this.prototype);\n\n // Copy the properties over onto the new prototype\n for (const name in proto) {\n // Check if we're overwriting an existing function\n prototype[name] =\n typeof proto[name] === 'function' && typeof _super[name] === 'function' && fnTest.test(proto[name])\n ? (function (name, fn) {\n return function () {\n const tmp = this._super;\n\n // Add a new ._super() method that is the same method\n // but on the super-class\n this._super = _super[name];\n\n // The method only need to be bound temporarily, so we\n // remove it when we're done executing\n const ret = fn.apply(this, arguments);\n this._super = tmp;\n\n return ret;\n };\n })(name, proto[name])\n : proto[name];\n }\n\n if (!/^[_a-z][_a-z\\d]*$/i.test(className)) {\n throw new Error('Invalid subclass name. Alphanumericals only.');\n }\n\n // The dummy class constructor\n const ctor = new Function(\n `return (function ${className}(){ typeof this.init === 'function' && this.init.apply(this, [].slice.call(arguments)) });`\n )();\n\n // Populate our constructed prototype object\n ctor.prototype = prototype;\n\n // Enforce the constructor to be what we expect\n ctor.prototype.constructor = ctor;\n\n // And make this class extendable\n ctor.extend = extend;\n\n return ctor;\n};\n\nexport default Class;\n","// private\nconst idGen = {\n getChar(value) {\n // 0 o O i I l\n const banned = [48, 111, 79, 105, 73, 108];\n let val = value;\n\n let charCode;\n if (val > 9) {\n charCode = 65 + val - 10;\n if (charCode > 90) {\n charCode += 6;\n }\n } else {\n val = `${val}`.charCodeAt(0);\n }\n return banned.indexOf(charCode) > -1 ? this.getChar(val + 1) : String.fromCharCode(charCode);\n },\n base62(value) {\n const chr = this.getChar(value % 62);\n const y = Math.floor(value / 62);\n return y > 0 ? this.base62(y) + chr : chr;\n },\n id() {\n const s = this.base62(Math.round(Math.random() * (1e13 - 1e11) + 1e11));\n return s.replace(/\\W/g, '');\n },\n};\n\nexport default function generateId() {\n return idGen.id();\n}\n","const SCROLLBAR_KEY = 'scrollbar';\n\nfunction getActions(isEnabledFn) {\n function targetIsScrollbar(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n const startPoint = {\n x: e.center.x - e.deltaX,\n y: e.center.y - e.deltaY,\n };\n const components = this.chart.componentsFromPoint(startPoint);\n return components.some((c) => c.settings.key === SCROLLBAR_KEY);\n }\n\n const tap = {\n // single tap\n type: 'Tap',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n tap(e) {\n this.chart.component(SCROLLBAR_KEY).emit('tap', e);\n },\n },\n };\n\n const pan = {\n type: 'Pan',\n options: {\n enable: targetIsScrollbar,\n },\n events: {\n panstart(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panStart', e);\n },\n pan(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panMove', e);\n },\n panend(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panEnd', e);\n },\n pancancel(e) {\n this.chart.component(SCROLLBAR_KEY).emit('panCancel', e);\n },\n },\n };\n\n const actions = [tap, pan];\n return actions;\n}\n\nexport default getActions;\n","function getAxisDock(direction, dock, isRtl) {\n return direction === 'y' ? getYAxisDock(dock, isRtl) : getXAxisDock(dock);\n}\n\nfunction getOppositeAxisDock(direction, dock, isRtl) {\n const oppositeDock = dock === 'far' ? 'near' : 'far';\n return getAxisDock(direction, oppositeDock, isRtl);\n}\n\nfunction getYAxisDock(dock, isRtl) {\n const yDockNearFar = dock || 'near';\n return (isRtl && yDockNearFar === 'near') || (!isRtl && yDockNearFar === 'far') ? 'right' : 'left';\n}\n\nfunction getXAxisDock(dock) {\n return dock === 'far' ? 'top' : 'bottom';\n}\n\nexport default {\n getAxisDock,\n getOppositeAxisDock,\n getYAxisDock,\n};\n","// Source: https://en.wikipedia.org/wiki/Bi-directional_text and http://www.unicode.org/Public/6.0.0/ucd/UnicodeData.txt\n// 3 types of strong direction characters: L (strong left-to-right), R(strong right-to-left, Hebrew) and AL(strong right-to-left, Arabic language)\nconst rangesOfLChars =\n '[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u02BB-\\u02C1\\u02D0-\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376-\\u037D\\u0386\\u0388-\\u03F5\\u03F7-\\u0482\\u048A-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u097F\\u0982-\\u09B9\\u09BD-\\u09C0\\u09C7-\\u09CC\\u09CE-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u0A03-\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A6F\\u0A72-\\u0A74\\u0A83-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9-\\u0ACC\\u0AD0-\\u0AE1\\u0AE6-\\u0AEF\\u0B02-\\u0B39\\u0B3D-\\u0B3E\\u0B40\\u0B47-\\u0B4C\\u0B57-\\u0B61\\u0B66-\\u0B77\\u0B83-\\u0BBF\\u0BC1-\\u0BCC\\u0BD0-\\u0BF2\\u0C01-\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C61\\u0C66-\\u0C6F\\u0C7F-\\u0CB9\\u0CBD-\\u0CCB\\u0CD5-\\u0CE1\\u0CE6-\\u0D40\\u0D46-\\u0D4C\\u0D4E-\\u0D61\\u0D66-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0E30\\u0E32-\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0EB0\\u0EB2-\\u0EB3\\u0EBD-\\u0EC6\\u0ED0-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u102C\\u1031\\u1038\\u103B-\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083-\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u135A\\u1360-\\u138F\\u13A0-\\u13F4\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u1711\\u1720-\\u1731\\u1735-\\u1751\\u1760-\\u1770\\u1780-\\u17B6\\u17BE-\\u17C5\\u17C7-\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u18A8\\u18AA-\\u191C\\u1923-\\u1926\\u1929-\\u1931\\u1933-\\u1938\\u1946-\\u19DA\\u1A00-\\u1A16\\u1A19-\\u1A55\\u1A57\\u1A61\\u1A63-\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B6A\\u1B74-\\u1B7C\\u1B82-\\u1BA1\\u1BA6-\\u1BA7\\u1BAA-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2-\\u1C2B\\u1C34-\\u1C35\\u1C3B-\\u1C7F\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1DBF\\u1E00-\\u1FBC\\u1FBE\\u1FC2-\\u1FCC\\u1FD0-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E-\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2D00-\\u2D70\\u2D80-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u31BA\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DB5\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA66E\\uA680-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA925\\uA92E-\\uA946\\uA952-\\uA97C\\uA983-\\uA9B2\\uA9B4-\\uA9B5\\uA9BA-\\uA9BB\\uA9BD-\\uAA28\\uAA2F-\\uAA30\\uAA33-\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D-\\uAAAF\\uAAB1\\uAAB5-\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2-\\uABE4\\uABE6-\\uABE7\\uABE9-\\uABEC\\uABF0-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFDC]';\nconst rangesOfRChars =\n '[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u07C0-\\u07EA\\u07F4-\\u07F5\\u07FA-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB4F]';\nconst rangesOfALChars =\n '[\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5-\\u06E6\\u06EE-\\u06EF\\u06FA-\\u070D\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\uFB50-\\uFD3D\\uFD50-\\uFDFC\\uFE70-\\uFEFC]';\n// eslint-disable-next-line no-misleading-character-class\nconst rangesOfLRgExp = new RegExp(rangesOfLChars);\nconst rangesOfRRgExp = new RegExp(rangesOfRChars);\nconst rangesOfALRgExp = new RegExp(rangesOfALChars);\n\nconst // left-to-right marker\n lrm = String.fromCharCode(8206); // right-to-left marker\n\nconst rlm = String.fromCharCode(8207);\n\nfunction isLtrChar(c) {\n return rangesOfLRgExp.test(c);\n}\n\nfunction isRtlChar(c) {\n return rangesOfRRgExp.test(c) || rangesOfALRgExp.test(c);\n}\n\nfunction detectTextDirection(s) {\n const n = s ? s.length : 0;\n let i;\n let c;\n for (i = 0; i < n; i++) {\n c = s[i];\n if (isLtrChar(c)) {\n return 'ltr';\n }\n if (isRtlChar(c)) {\n return 'rtl';\n }\n }\n return 'ltr';\n}\n\nexport default {\n lrm,\n rlm,\n detectTextDirection,\n};\n","import extend from 'extend';\nimport RtlUtil from '../../../../extra/rtl-util';\n\n/**\n * Get Picasso settings for an individual ref-line.\n *\n * @param {*} settings Default settings for the ref-line\n * @param {*} lineColorIndex Chart builder options + paletteColor option\n */\nfunction lineSettings(settings, options) {\n const lineStroke =\n typeof options.paletteColor !== 'undefined'\n ? options.theme.getColorPickerColor(options.paletteColor)\n : 'transparent';\n const defaultSettings = {\n value: 0,\n line: {\n stroke: lineStroke,\n strokeDasharray: options?.style?.lineType,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\n/**\n * Get Picasso settings for an individual ref-line used to display label and OOB.\n *\n * @param {*} settings Default settings for the ref-line label\n * @param {*} options Chart builder options + paletteColor option\n */\nfunction lineLabelSettings(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n let labelColor = options.theme.getStyle(chartID, 'referenceLine.label.name', 'color');\n const labelFontSize = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontSize');\n const labelFontFamily = options.theme.getStyle(chartID, 'referenceLine.label.name', 'fontFamily');\n\n if (options.paletteColor) {\n labelColor = options.theme.getColorPickerColor(options.paletteColor);\n } else if (!labelColor) {\n labelColor = 'transparent';\n }\n\n const defaultSettings = {\n value: 0,\n line: {\n stroke: 'transparent',\n },\n label: {\n align: 'center',\n vAlign: 'middle',\n text: '',\n fill: labelColor,\n fontFamily: labelFontFamily,\n fontSize: labelFontSize,\n maxWidthPx: 135,\n },\n };\n return extend(true, defaultSettings, settings || {});\n}\n\nconst isVisible = (refLine) =>\n refLine && refLine.show !== false && refLine.show !== 0 && refLine.show !== '0' && refLine.refLineExpr !== undefined;\n\nfunction getRefLineTitle({ refLine, label, valueString }) {\n if (refLine.showValue !== false) {\n if (refLine.showLabel !== false) {\n return `${label} ${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n return `${RtlUtil.lrm}(${valueString})${RtlUtil.lrm}`;\n }\n if (refLine.showLabel !== false) {\n return label;\n }\n return '';\n}\n\nexport default {\n lineSettings,\n lineLabelSettings,\n isVisible,\n getRefLineTitle,\n};\n","import DimensionMeasureChartLayoutSettings from './layout-settings';\n\nconst constants = {\n SHOW_AXIS_LABELS_OPTIONS: ['all', 'labels'], // show dim/measure axis labels when it matches one of this values\n SHOW_TITLE_OPTIONS: ['all', 'title'], // show the dimension/measure title when the show option matches one of these values\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n LAYOUTSETTINGS: DimensionMeasureChartLayoutSettings,\n};\n\nconstants.DEFAULT_CHART_ORIENTATION = constants.HORIZONTAL;\n\nexport default constants;\n","export default {\n lasso: {\n displayOrder: 10000,\n },\n rangeDim: {\n displayOrder: 10000,\n },\n rangeMeasure: {\n displayOrder: 10000,\n },\n rangeMinor: {\n displayOrder: 10000,\n },\n\n // SPARK\n scrollBar: {\n minimumLayoutMode: 'SPARK',\n prioOrder: -1,\n displayOrder: 100,\n },\n\n refLines: {\n layout: {\n minimumLayoutMode: 'SPARK',\n prioOrder: 60,\n displayOrder: 1110,\n },\n },\n\n // XMALL\n measureAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n dimensionAxisTitle: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 30,\n displayOrder: 90,\n },\n\n measureAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n dimensionAxis: {\n minimumLayoutMode: 'XSMALL',\n prioOrder: 10,\n displayOrder: 80,\n },\n\n gridLines: {\n minimumLayoutMode: 'XSMALL',\n displayOrder: -100,\n },\n\n // SMALL\n refLinesLabels: {\n minimumLayoutMode: 'SMALL',\n prioOrder: 60,\n displayOrder: 0,\n },\n};\n","import extend from 'extend';\nimport generateId from '../../../../extra/generate-id';\nimport getScrollActions from '../../../scroll/scroll-actions';\nimport axisDockUtil from '../../components/util/axis-dock-util';\nimport refLineUtil from '../../components/util/ref-line-util';\nimport CONSTANTS from './constants';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nfunction DimensionMeasureChart(chartBuilder, opts) {\n const options = opts || {};\n\n const measureAxisProperties = options.measureAxisProperties || {};\n const dimensionAxisProperties = options.dimensionAxisProperties || {};\n const chartOrientation = options.orientation || CONSTANTS.DEFAULT_CHART_ORIENTATION;\n const isChartHorizontal = chartOrientation === CONSTANTS.HORIZONTAL;\n const measureDirection = isChartHorizontal ? 'x' : 'y';\n const dimensionDirection = isChartHorizontal ? 'y' : 'x';\n const SHOW_AXIS_LABELS_OPTIONS = CONSTANTS.SHOW_AXIS_LABELS_OPTIONS;\n const SHOW_TITLE_OPTIONS = CONSTANTS.SHOW_TITLE_OPTIONS;\n const includeMeasureAxisComponent = SHOW_AXIS_LABELS_OPTIONS.includes(measureAxisProperties.show);\n const includeMeasureAxisTitleComponent =\n !!options.measureTitleText && SHOW_TITLE_OPTIONS.includes(measureAxisProperties.show);\n const includeDimensionAxisComponent =\n options.includeDimensionAxis && SHOW_AXIS_LABELS_OPTIONS.includes(dimensionAxisProperties.show);\n const includeDimensionAxisTitleComponent =\n options.includeDimensionAxis &&\n !!options.dimensionTitleText &&\n SHOW_TITLE_OPTIONS.includes(dimensionAxisProperties.show);\n const includeGridlines = options.gridlines && !(!options.gridlines.auto && options.gridlines.spacing === 0);\n\n const includeRefLines = options.refLines && options.refLines.some((refLine) => refLine.show);\n\n const interactionActions = [];\n\n if (includeMeasureAxisComponent) {\n addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (includeMeasureAxisTitleComponent) {\n addMeasureAxisTitleComponent(chartBuilder, options, measureDirection);\n }\n\n addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties);\n\n if (includeDimensionAxisComponent) {\n addDimensionAxisComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (includeDimensionAxisTitleComponent) {\n addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection);\n }\n\n if (options.includeDimensionAxis) {\n addDimensionScale(chartBuilder, options, chartOrientation);\n }\n\n if (includeGridlines) {\n addGridlinesComponent(chartBuilder, options.gridlines, measureDirection);\n }\n\n if (options.hasNavigation) {\n addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal);\n }\n\n if (includeRefLines) {\n addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties);\n }\n\n if (options.enableLasso && options.selectionsEnabled) {\n const lassoOptions = options.lasso || {};\n addLassoComponent(chartBuilder, lassoOptions);\n }\n\n if (options.enableDimRange && options.includeDimensionAxis && options.selectionsEnabled) {\n const rangeDimOptions = options.dimRange || {};\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeDimComponent(chartBuilder, rangeDimOptions, isChartHorizontal, dimensionAxisOptions.dock, options.isRtl);\n }\n\n if (options.enableMeasureRange && options.selectionsEnabled) {\n const rangeMeasureOptions = options.measureRange || {};\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n addRangeMeasureComponent(\n chartBuilder,\n rangeMeasureOptions,\n isChartHorizontal,\n measureAxisOptions.dock,\n options.isRtl\n );\n }\n\n if (options.enableAreaRange && options.selectionsEnabled) {\n const areaDimOptions = options.areaRange || {};\n const dimAreaAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n addRangeAreaComponent(chartBuilder, areaDimOptions, isChartHorizontal, dimAreaAxisOptions.dock, options.isRtl);\n }\n\n if (options.brushActions) {\n addInteractionActions(interactionActions, options.brushActions);\n }\n\n if (interactionActions.length) {\n addInteractionComponent(chartBuilder, interactionActions);\n }\n}\n\nexport default DimensionMeasureChart;\n\nfunction addInteractionComponent(chartBuilder, interactionActions) {\n return chartBuilder.addInteraction({}, { gestures: interactionActions });\n}\n\nfunction addInteractionActions(interactionActions, actions) {\n actions.forEach((a) => {\n interactionActions.push(a);\n });\n}\n\nfunction addMeasureScale(chartBuilder, options, chartOrientation, measureAxisProperties) {\n let measureScaleSettings = options.measureScaleSettings;\n\n const measureScaleOptions = {\n isRtl: options.isRtl,\n source: options.measureSource,\n orientation: chartOrientation,\n measureAxisProperties,\n };\n\n if (measureAxisProperties && measureAxisProperties.spacing > 0) {\n measureScaleSettings = extend(true, measureScaleSettings || {}, {\n component: {\n ticks: {\n distance: measureAxisProperties.spacing * SENSE_PICASSO_SPACING_COEFFICIENT,\n },\n },\n });\n }\n\n chartBuilder.addScale('measure-scale', measureScaleSettings, measureScaleOptions);\n}\n\nfunction addMeasureAxisComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n let measureAxisSettings = {\n scale: 'measure',\n settings: options.axisLabelStyle || {},\n forceBounds: measureAxisProperties && !measureAxisProperties.autoMinMax && measureAxisProperties.showBounds,\n };\n measureAxisSettings = extend(measureAxisSettings, CONSTANTS.LAYOUTSETTINGS.measureAxis);\n\n const measureAxisOptions = getMeasureAxisOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis`, measureAxisSettings, measureAxisOptions);\n}\n\nfunction addMeasureAxisTitleComponent(chartBuilder, options, measureDirection) {\n let measureTitleSettings = {\n text: options.measureTitleText,\n style: options.axisTitleStyle || {},\n };\n measureTitleSettings = extend(measureTitleSettings, CONSTANTS.LAYOUTSETTINGS.measureAxisTitle);\n\n const measureAxisOptions = getMeasureAxisTitleOptions(options, measureDirection);\n\n chartBuilder.addComponent(`${measureDirection}-axis-title`, measureTitleSettings, measureAxisOptions);\n}\n\nfunction addDimensionScale(chartBuilder, options, chartOrientation) {\n const dimensionScaleOptions = {\n isRtl: options.isRtl,\n source: options.dimensionSource,\n orientation: chartOrientation === CONSTANTS.HORIZONTAL ? CONSTANTS.VERTICAL : CONSTANTS.HORIZONTAL,\n };\n\n chartBuilder.addScale('dimension-scale', options.dimensionScaleSettings, dimensionScaleOptions);\n}\n\nfunction addDimensionAxisComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisSettings = {\n scale: 'dimension',\n settings: options.axisLabelStyle || {},\n };\n dimensionAxisSettings = extend(dimensionAxisSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxis);\n\n const dimensionAxisOptions = getDimensionAxisOptions(options, dimensionDirection);\n\n extend(true, dimensionAxisSettings, options.dimensionAxisSettings || {});\n\n chartBuilder.addComponent(`${dimensionDirection}-axis`, dimensionAxisSettings, dimensionAxisOptions);\n}\n\nfunction addDimensionAxisTitleComponent(chartBuilder, options, dimensionDirection) {\n let dimensionAxisTitleSettings = {\n text: options.dimensionTitleText,\n style: options.axisTitleStyle || {},\n };\n dimensionAxisTitleSettings = extend(dimensionAxisTitleSettings, CONSTANTS.LAYOUTSETTINGS.dimensionAxisTitle);\n\n const dimensionAxisTitleOptions = getDimensionAxisTitleOptions(options, dimensionDirection);\n\n chartBuilder.addComponent(`${dimensionDirection}-axis-title`, dimensionAxisTitleSettings, dimensionAxisTitleOptions);\n}\n\nfunction addGridlinesComponent(chartBuilder, gridlinesOptions, measureDirection) {\n let gridlinesSettings = {\n ticks: {\n show: true,\n },\n minorTicks: {\n show: !gridlinesOptions.auto && !gridlinesOptions.auto && gridlinesOptions.spacing === 3,\n },\n };\n gridlinesSettings = extend(gridlinesSettings, CONSTANTS.LAYOUTSETTINGS.gridLines);\n\n gridlinesSettings[measureDirection] = { scale: 'measure' };\n\n chartBuilder.addComponent('grid-line', gridlinesSettings);\n}\n\nfunction addScrollbarComponent(chartBuilder, interactionActions, options, isChartHorizontal) {\n const settings = chartBuilder.getSettings();\n\n settings.scroll = {\n dimension: {\n viewSize: (options.scrollSettings && options.scrollSettings.viewSize) || 0,\n max: (options.scrollSettings && options.scrollSettings.max) || 0,\n },\n };\n\n const scrollbarOptions = {\n isRtl: options.isRtl,\n chartID: options.chartID,\n isHorizontal: !isChartHorizontal,\n };\n\n const scrollBarSettings = extend({}, CONSTANTS.LAYOUTSETTINGS.scrollBar);\n\n chartBuilder.addComponent('scrollbar', scrollBarSettings, scrollbarOptions);\n\n addInteractionActions(interactionActions, getScrollActions(options.isNavigationEnabledFn));\n}\n\n/*\n * Add \"ref-line\" component(s). Currently two \"ref-line\" components are used to reserve space for labels and\n * OOB markers outside of the data area. First component: shows the line(s) within the data area. Second component:\n * shows the label(s) and OOB marker(s).\n */\nfunction addRefLineComponent(chartBuilder, options, measureDirection, measureAxisProperties) {\n const axisDock = axisDockUtil.getAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl);\n let refLinesSettings = {\n // First component\n key: 'ref-line',\n style: {\n oob: {\n show: false,\n },\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesSettings = extend(refLinesSettings, CONSTANTS.LAYOUTSETTINGS.refLines);\n\n let refLinesLabelsSettings = {\n // Second component\n // Use a unique key to force re-render of this component in Picasso.\n // This must be done because Picasso does not allow re-binding of functions (and shouldn't either).\n key: `ref-line-labels-${generateId()}`,\n require: ['renderer', 'chart'],\n dock: axisDockUtil.getOppositeAxisDock(measureDirection, measureAxisProperties.dock, options.isRtl),\n preferredSize() {\n if (measureDirection === 'x') {\n // Use constant component size if horizontal\n return 26;\n }\n\n // Adapt component size to the longest label if vertical\n const measureText = this.renderer.measureText;\n const formatter = this.chart.formatter({ data: chartBuilder.settings.scales.measure.data });\n const labelWidths = refLinesLabelsSettings.lines.y.map((line) => {\n const formattedValue = line.label.showValue !== false ? `(${formatter(line.value)})` : '';\n const text = `${line.label.text} ${formattedValue}`;\n const minimumText = line.label.text && formattedValue ? ` ${formattedValue}` : formattedValue;\n return {\n wanted: measureText({\n text,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n required: measureText({\n text: minimumText,\n fontSize: line.fontSize,\n fontFamily: line.fontFamily,\n }).width,\n };\n });\n\n const maxLabelWidth = labelWidths[0];\n for (let i = 1; i < labelWidths.length; i++) {\n if (labelWidths[i].wanted > maxLabelWidth.wanted) {\n maxLabelWidth.wanted = labelWidths[i].wanted;\n }\n if (labelWidths[i].required > maxLabelWidth.required) {\n maxLabelWidth.required = labelWidths[i].required;\n }\n }\n const labelPadding = 12;\n if (maxLabelWidth.required + labelPadding > 100) {\n return maxLabelWidth.required + labelPadding; // Always have space for the value\n }\n return Math.min(maxLabelWidth.wanted + labelPadding, 100); // Limit to 100 px width\n },\n lines: {\n x: [],\n y: [],\n },\n };\n refLinesLabelsSettings = extend(refLinesLabelsSettings, CONSTANTS.LAYOUTSETTINGS.refLinesLabels);\n\n options.refLines.forEach((refLine) => {\n if (!refLine.show) {\n return;\n }\n\n const expressionValue = refLine.refLineExpr && refLine.refLineExpr.value;\n const lineOptions = extend(true, {}, options, {\n paletteColor: refLine.paletteColor,\n style: refLine.style,\n chartID: chartBuilder.options.chartID,\n });\n\n // Add a line for each visible ref line\n const lineSettings = refLineUtil.lineSettings(\n {\n scale: 'measure',\n dir: measureDirection,\n value: expressionValue,\n },\n lineOptions\n );\n\n refLinesSettings.lines[measureDirection].push(lineSettings);\n\n // Add a label and an OOB marker for each visible ref line (using the second component)\n const lineLabelSettings = refLineUtil.lineLabelSettings(\n {\n scale: 'measure',\n value: expressionValue,\n label: {\n text: refLine.showLabel !== false ? refLine.label : '',\n showValue: refLine.showValue !== false,\n },\n },\n lineOptions\n );\n\n if (measureDirection === 'x') {\n lineLabelSettings.label.vAlign = axisDock === 'near' ? 1 : 0;\n } else {\n // y\n lineLabelSettings.label.align = axisDock === 'near' ? 0 : 1;\n }\n\n refLinesLabelsSettings.lines[measureDirection].push(lineLabelSettings);\n });\n\n chartBuilder.addComponent('ref-line', refLinesSettings, {});\n chartBuilder.addComponent('ref-line', refLinesLabelsSettings, {});\n}\n\n/**\n * Adds a lasso component to the chart builder\n * @param {ChartBuilder} chartBuilder\n * @param {object} options - lasso options\n * @param {string} options.brushKey - key used as context for lasso selection triggers\n * @param {string} options.brushComponent - target component key\n */\nfunction addLassoComponent(chartBuilder, options) {\n const lassoOptions = {\n brushKey: options.brushKey,\n brushComponents: options.brushComponents,\n brushData: options.brushData,\n };\n\n chartBuilder.addComponent('lasso', CONSTANTS.LAYOUTSETTINGS.lasso, lassoOptions);\n}\n/**\n * Adds a dimension range component to the chart builder\n * @param {any} chartBuilder\n * @param {object} options - range dim options\n * @param {string} options.brushKey - key used as context for range selection triggers\n * @param {string} options.brushAxis - target axis to perform range select on\n * @param {string} options.brushScale - Scale to use\n * @param {boolean} isChartHorizontal - Whether the chart is horizontal or not\n */\nfunction addRangeDimComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeDimSettings = {\n key: 'rangeDim',\n };\n\n rangeDimSettings = extend(rangeDimSettings, CONSTANTS.LAYOUTSETTINGS.rangeDim);\n\n const rangeDimOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n isHorizontal: !isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeDimSettings, rangeDimOptions);\n}\n\nfunction addRangeMeasureComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMeasureSettings = {\n key: 'rangeMeasure',\n };\n\n rangeMeasureSettings = extend(rangeMeasureSettings, CONSTANTS.LAYOUTSETTINGS.rangeMeasure);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushArea: options.brushArea,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: isChartHorizontal,\n dock,\n isRtl,\n };\n\n chartBuilder.addComponent('range', rangeMeasureSettings, rangeMeasureOptions);\n}\n\nfunction addRangeAreaComponent(chartBuilder, options, isChartHorizontal, dock, isRtl) {\n let rangeMinorSettings = {\n key: 'rangeMinor',\n };\n\n rangeMinorSettings = extend(rangeMinorSettings, CONSTANTS.LAYOUTSETTINGS.rangeMinor);\n\n const rangeMeasureOptions = {\n brushKey: options.brushKey,\n brushAxis: options.brushAxis,\n brushData: options.brushData,\n brushArea: options.brushArea,\n brushComponents: options.brushComponents,\n brushScale: options.brushScale,\n multiple: options.multiple,\n isHorizontal: options.brushScale === 'measure' ? isChartHorizontal : !isChartHorizontal,\n dock,\n isRtl,\n chartInstance: options.chartInstance,\n };\n\n chartBuilder.addComponent('range-area', rangeMinorSettings, rangeMeasureOptions);\n}\n\nfunction getMeasureAxisOptions(options, measureDirection) {\n return {\n dock: options.measureAxisProperties && options.measureAxisProperties.dock,\n direction: measureDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getMeasureAxisTitleOptions(options, measureDirection) {\n return getMeasureAxisOptions(options, measureDirection);\n}\n\nfunction getDimensionAxisOptions(options, dimensionDirection) {\n return {\n dock: options.dimensionAxisProperties && options.dimensionAxisProperties.dock,\n direction: dimensionDirection,\n isRtl: options.isRtl,\n };\n}\n\nfunction getDimensionAxisTitleOptions(options, dimensionDirection) {\n return getDimensionAxisOptions(options, dimensionDirection);\n}\n","import extend from 'extend';\n\nfunction scale(settings, opts) {\n const options = opts || {};\n const isHorizontal = !options.orientation || options.orientation === 'horizontal';\n const isRtl = !!options.isRtl;\n\n const defaultSettings = {\n name: options.name || 'scale',\n component: {\n invert: isHorizontal && isRtl,\n minorTicks: {\n count: 1,\n },\n range: options.range || undefined,\n domain: options.domain || undefined,\n trackBy: options.trackBy || 'id',\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction measureScale(settings, opts) {\n const options = opts || {};\n let fields = options.source || [];\n if (typeof fields === 'string') {\n fields = [fields];\n }\n\n const defaultSettings = {\n name: 'measure',\n component: {\n expand: 0.1,\n data: {\n fields: fields.map((f) => ({\n field: f,\n })),\n },\n },\n };\n\n const measureAxisProperties = opts && opts.measureAxisProperties;\n\n if (measureAxisProperties && !measureAxisProperties.autoMinMax) {\n // explicit min max measure scale range\n if (['min', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.min = measureAxisProperties.min;\n }\n if (['max', 'minMax'].includes(measureAxisProperties.minMax)) {\n defaultSettings.component.max = measureAxisProperties.max;\n }\n }\n\n const measureSettings = extend(true, defaultSettings, settings || {});\n const scaleSettings = scale(measureSettings, opts);\n const hasInvertSettings = settings && settings.component && typeof settings.component.invert !== 'undefined';\n\n if (!hasInvertSettings && opts && opts.orientation === 'vertical') {\n scaleSettings.component.invert = !scaleSettings.component.invert;\n }\n\n return scaleSettings;\n}\n\nfunction dimensionScale(settings, opts) {\n const defaultSettings = {\n name: 'dimension',\n component: {\n trackBy: 'id',\n type: 'band',\n data: {\n extract: {\n field: (opts && opts.source) || '',\n props: {\n label(v) {\n return v.qText || '';\n }, // Map qText to handle both qElemNo and qElemNumber\n },\n },\n },\n label(v) {\n return v.datum.label.value;\n }, // Set qText as value from the mapping on r.92\n },\n };\n\n const dimensionSettings = extend(true, defaultSettings, settings || {});\n\n return scale(dimensionSettings, opts);\n}\n\nscale.measureScale = measureScale;\nscale.dimensionScale = dimensionScale;\n\nexport default scale;\n","export default function getTextRenderer(flags) {\n if (!flags?.isEnabled?.('IM_5791_SVG_LABEL_RENDERING')) {\n return undefined;\n }\n\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? undefined : 'svg';\n}\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\nimport getTextRenderer from './util/get-text-renderer';\n\nfunction axis(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'axis.line.major', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const labelsFill = options.theme.getStyle(chartID, 'axis.label.name', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'axis.label.name', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n const labelsFontFamily = options.theme.getStyle(chartID, 'axis.label.name', 'fontFamily');\n\n const defaultSettings = {\n key: 'axis',\n type: 'axis',\n renderer: getTextRenderer(options.flags),\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl),\n brush: { trigger: [], consume: [] },\n settings: {\n title: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n line: {\n show: true,\n strokeWidth: 1,\n stroke: axisLineStroke,\n },\n labels: {\n fill: labelsFill,\n fontSize: labelsFontSize,\n fontFamily: labelsFontFamily,\n tiltAngle: isRtl ? -40 : 40,\n maxEdgeBleed: 75,\n maxSize: 150,\n mode: 'auto',\n },\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n },\n };\n const axisSettings = extend(true, {}, defaultSettings, settings || {});\n axisSettings.brush.consume.forEach((consume) => {\n consume.style.active.strokeWidth = 0;\n });\n return axisSettings;\n}\n\nfunction xAxis(settings, options) {\n const defaultSettings = {\n key: 'x-axis',\n scale: 'x',\n };\n const xAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(xAxisSettings, options);\n}\n\nfunction yAxis(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis',\n scale: 'y',\n dock: axisDockUtil.getYAxisDock(dock, isRtl),\n };\n const yAxisSettings = extend(true, defaultSettings, settings || {});\n return axis(yAxisSettings, options);\n}\n\naxis.xAxis = xAxis;\naxis.yAxis = yAxis;\n\nexport default axis;\n","import extend from 'extend';\nimport axisDockUtil from './util/axis-dock-util';\n\nfunction text(settings, options) {\n const chartID = options && options.chartID;\n const dock = options && options.dock;\n const direction = options && options.direction;\n const isRtl = options && options.isRtl;\n const titleFontSize = options.theme.getStyle(chartID, 'axis.title', 'fontSize');\n const titleFill = options.theme.getStyle(chartID, 'axis.title', 'color');\n const titleFontFamily = options.theme.getStyle(chartID, 'axis.title', 'fontFamily');\n\n const defaultSettings = {\n key: 'text',\n type: 'text',\n dock: axisDockUtil.getAxisDock(direction, dock, isRtl) || 'bottom',\n displayOrder: 0, // TODO: This can be removed when picasso set displayOrder for text component to 0. Currently picasso set it to 99.\n style: {\n text: {\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nfunction xAxisTitle(settings, options) {\n const defaultSettings = {\n key: 'x-axis-title',\n };\n const xAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(xAxisTitleSettings, options);\n}\n\nfunction yAxisTitle(settings, options) {\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const defaultSettings = {\n key: 'y-axis-title',\n dock: axisDockUtil.getYAxisDock(dock, isRtl) || 'left',\n };\n const yAxisTitleSettings = extend(true, defaultSettings, settings || {});\n return text(yAxisTitleSettings, options);\n}\n\ntext.xAxisTitle = xAxisTitle;\ntext.yAxisTitle = yAxisTitle;\n\nexport default text;\n","function getBublesAlign(isHorizontal, dock, isRtl) {\n let isAlignStart = (isHorizontal && dock !== 'far') || (!isHorizontal && dock === 'far');\n if (!isHorizontal && isRtl) {\n isAlignStart = !isAlignStart;\n }\n return isAlignStart ? 'start' : 'end';\n}\n\nfunction getDock(brushAxis, brushArea) {\n const dockTargets = [];\n let dockT;\n if (brushAxis) {\n dockTargets.push(`@${brushAxis}`);\n }\n if (brushArea) {\n dockTargets.push(`@${brushArea}`);\n }\n if (dockTargets.length) {\n dockT = dockTargets.join(',');\n }\n return dockT;\n}\n\nexport default {\n getBublesAlign,\n getDock,\n};\n","/* eslint-disable guard-for-in */\n/* eslint-disable no-restricted-syntax */\nconst layoutModes = {\n SPARK: { width: 0, height: 0 },\n XSMALL: { width: 150, height: 75 },\n SMALL: { width: 300, height: 150 },\n MEDIUM: { width: 400, height: 220 },\n FULL: { width: 550, height: 450 },\n};\n\nfunction LayoutModes() {\n return layoutModes;\n}\n\nLayoutModes.getLayoutModeKeys = function () {\n const layoutModeKeys = [];\n let modeKey;\n\n for (modeKey in layoutModes) {\n layoutModeKeys.push(modeKey);\n }\n return layoutModeKeys;\n};\n\nexport default LayoutModes;\n","import extend from 'extend';\nimport getTextRenderer from './util/get-text-renderer';\n\nfunction getLabel(context) {\n const end = context.data.end;\n const formatter = context.dataset(end.source.key).field(end.source.field).formatter();\n return formatter(end.value);\n}\n\nfunction labels(settings, options) {\n const chartID = options && options.chartID;\n const labelsFill = options.theme.getStyle(chartID, 'label.value', 'color');\n const labelsFontSize = options.theme.getStyle(chartID, 'label.value', 'fontSize');\n const labelsFontFamily = options.theme.getStyle(chartID, 'label.value', 'fontFamily');\n\n const defaultSettings = {\n key: 'labels',\n type: 'labels',\n renderer: getTextRenderer(options.flags),\n displayOrder: 1,\n settings: {\n sources: [\n {\n component: 'box-marker', // Connects with the matching \"key:\" attribute in the visualizations\n selector: 'rect',\n strategy: {\n type: 'bar',\n settings: {\n direction: 'up',\n fontFamily: labelsFontFamily,\n fontSize: parseFloat(labelsFontSize),\n align: 0.5,\n labels: [\n {\n placements: [\n {\n position: 'outside',\n fill: labelsFill,\n justify: 0,\n },\n {\n position: 'inside',\n fill: settings && settings.settings.sources[0].strategy.settings.labels[0].placements[1].fill,\n justify: 1,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default labels;\n","import extend from 'extend';\nimport getTextRenderer from './util/get-text-renderer';\n\nconst directions = {\n left: 'left',\n right: 'right',\n up: 'top',\n down: 'bottom',\n};\n\nfunction legend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = (options && options.dock) || 'auto';\n const show = options && options.show;\n\n if (dock === 'auto') {\n dock = options.chartHeight / options.chartWidth < 1 ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const itemFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const itemFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const itemFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n const defaultSettings = {\n key: 'legend',\n type: 'legend-cat',\n renderer: getTextRenderer(options.flags),\n dock,\n show,\n scale: {\n type: 'color',\n },\n settings: {\n title: {\n anchor: 'middle',\n },\n layout: {\n direction: isRtl ? 'rtl' : 'ltr',\n size: dock === 'top' || dock === 'bottom' ? 2 : 1,\n vertical: dock === 'top' || dock === 'bottom' ? 16 : 8,\n },\n navigation: {\n button: {\n class: {\n 'lui-fade-button': true,\n },\n content(h, state) {\n const c = ['lui-button__icon', 'lui-icon', `lui-icon--triangle-${directions[state.direction]}`];\n return h('span', {\n style: {\n pointerEvents: 'none',\n },\n class: c.join(' '),\n });\n },\n },\n },\n },\n style: {\n item: {\n label: {\n fontSize: itemFontSize,\n fontFamily: itemFontFamily,\n fill: itemFill,\n lineHeight: 1,\n wordBreak: 'break-word',\n },\n margin: {\n top: 5,\n left: 10,\n right: 10,\n bottom: 10,\n },\n shape: {\n type: options.type ? options.type : 'square',\n size: (parseInt(itemFontSize, 10) * 3) / 4, // To make it consistent with non-picasso charts\n },\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n },\n };\n return extend(true, {}, defaultSettings, settings);\n}\n\nexport default legend;\n","import extend from 'extend';\nimport ChartPresets from './chart-presets';\nimport scale from './scale';\nimport axis from './components/axis';\nimport boxMarker from './components/box-marker';\nimport eventArea from './components/event-area';\nimport gridLine from './components/grid-line';\nimport interaction from './components/interaction';\nimport pointMarker from './components/point-marker';\nimport scrollbar from './components/scrollbar';\nimport text from './components/text';\nimport lasso from './components/lasso';\nimport range from './components/range';\nimport refLine from './components/ref-line';\nimport layoutModes from './layout-modes';\nimport labels from './components/labels';\nimport categoricalLegend from './components/categorical-legend';\nimport sequentialLegend from './components/sequential-legend';\nimport rangeArea from './components/range-area';\n\nfunction createComponent(type, settings, options) {\n switch (type) {\n // Picasso components\n case 'scale':\n return scale(settings, options);\n case 'measure-scale':\n return scale.measureScale(settings, options);\n case 'dimension-scale':\n return scale.dimensionScale(settings, options);\n case 'axis':\n return axis(settings, options);\n case 'box-marker':\n return boxMarker(settings, options);\n case 'point-marker':\n return pointMarker(settings, options);\n case 'scrollbar':\n return scrollbar(settings, options);\n case 'text':\n return text(settings, options);\n case 'lasso':\n return lasso(settings, options);\n case 'range':\n return range(settings, options);\n case 'range-area':\n return rangeArea(settings, options);\n case 'categorical-legend':\n return categoricalLegend(settings, options);\n case 'sequential-legend':\n return sequentialLegend(settings, options);\n // Wrapepd picasso components\n case 'x-axis':\n return axis.xAxis(settings, options);\n case 'y-axis':\n return axis.yAxis(settings, options);\n case 'x-axis-title':\n return text.xAxisTitle(settings, options);\n case 'y-axis-title':\n return text.yAxisTitle(settings, options);\n case 'grid-line':\n return gridLine(settings, options);\n case 'interaction':\n return interaction(settings, options);\n case 'ref-line':\n return refLine(settings, options);\n // Custom components\n case 'event-area':\n return eventArea(settings, options);\n case 'labels':\n return labels(settings, options);\n default:\n return undefined;\n }\n}\n\nfunction ChartBuilder(options) {\n this.options = options || {};\n\n this.settings = {\n dockLayout: {\n layoutModes: layoutModes(),\n },\n components: [],\n scales: {},\n };\n}\n\nChartBuilder.prototype.addComponent = function addComponent(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent(type, settings, extendedOptions);\n this.settings.components.push(component);\n return component;\n};\n\nChartBuilder.prototype.addInteraction = function addInteraction(settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const component = createComponent('interaction', settings, extendedOptions);\n if (!this.settings.interactions) {\n this.settings.interactions = [];\n }\n this.settings.interactions.push(component);\n return component;\n};\n\nChartBuilder.prototype.addScale = function addScale(type, settings, options) {\n const extendedOptions = extend(true, {}, this.options, options || {});\n const scale = createComponent(type, settings, extendedOptions);\n this.settings.scales[scale.name] = scale.component;\n};\n\nChartBuilder.prototype.getSettings = function getSettings() {\n return this.settings;\n};\n\nChartBuilder.prototype.getComponent = function getComponent(key) {\n return this.settings.components.filter((component) => component.key === key)[0];\n};\n\nChartBuilder.prototype.addPreset = function addPreset(type, options) {\n ChartPresets(type, this, options);\n};\n\nChartBuilder.validateComponentKeys = function validateComponentKeys(components) {\n const keys = {};\n return components\n .map((component) => {\n const key = component.key;\n if (!key) {\n return `Missing key for component ${component.type}`;\n }\n if (keys[key]) {\n return `Duplicate key for component ${component.type}`;\n }\n keys[key] = true;\n return null;\n })\n .filter((msg) => !!msg);\n};\n\n/*\n * Factory function\n */\nChartBuilder.create = function (options) {\n return new ChartBuilder(options);\n};\n\nChartBuilder.createComponent = createComponent;\n\nexport default ChartBuilder;\n","import extend from 'extend';\n\nfunction boxMarker(settings) {\n const defaultSettings = {\n key: 'box-marker',\n type: 'box-marker',\n settings: {\n minor: { scale: 'x' },\n orientation: 'horizontal',\n },\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default boxMarker;\n","import extend from 'extend';\n\nfunction pointMarker(settings) {\n const defaultSettings = {\n key: 'point-marker',\n type: 'point-marker',\n settings: {},\n brush: { trigger: [], consume: [] },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default pointMarker;\n","import extend from 'extend';\n\nfunction scrollbar(settings, options) {\n const isRtl = options && options.isRtl;\n const chartID = options && options.chartID;\n const isHorizontal = options && options.isHorizontal;\n const defaultSettings = {\n key: 'scrollbar',\n type: 'scrollbar',\n scroll: 'dimension',\n dock: isHorizontal ? 'bottom' : isRtl ? 'left' : 'right',\n settings: {\n backgroundColor: options.theme.getStyle(chartID, '', 'backgroundColor'),\n invert: isRtl && isHorizontal,\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default scrollbar;\n","import extend from 'extend';\n\nfunction lasso(settings, options) {\n const brushKey = options && options.brushKey;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n\n const defaultSettings = {\n type: 'brush-lasso',\n key: 'lasso',\n displayOrder: 99,\n settings: {\n brush: {\n components: [],\n },\n lasso: {\n fill: 'rgba(0, 0, 0, 0)',\n stroke: 'rgba(102,102,102,1)',\n strokeWidth: 2,\n opacity: 1,\n strokeDasharray: null, // '10, 4',\n },\n startPoint: {\n r: 10,\n fill: 'rgba(0, 152, 69, 1)',\n strokeWidth: 0,\n opacity: 1,\n },\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default lasso;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction range(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushArea = options && options.brushArea;\n const brushScale = options && options.brushScale;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n\n const defaultSettings = {\n type: 'brush-range',\n key: 'range',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: brushKey,\n fill: 'rgba(0, 0, 0, 0)',\n scale: brushScale,\n multiple: options && options.multiple === false ? options.multiple : true,\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n },\n },\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default range;\n","import extend from 'extend';\nimport rangeUtil from './util/range-util';\n\nfunction rangeArea(settings, options) {\n const brushKey = options && options.brushKey;\n const brushAxis = options && options.brushAxis;\n const brushComponents = options && options.brushComponents ? options.brushComponents : [];\n const brushData = options && options.brushData ? options.brushData : ['elemNo'];\n const brushArea = options && options.brushArea;\n const isHorizontal = options && options.isHorizontal;\n const dock = options && options.dock;\n const isRtl = options && options.isRtl;\n const chartInstance = options && options.chartInstance;\n let isStartBorder = true;\n\n const defaultSettings = {\n type: 'brush-area-dir',\n key: 'area',\n displayOrder: 99,\n dock: rangeUtil.getDock(brushAxis, brushArea),\n settings: {\n brush: {\n components: [],\n },\n direction: isHorizontal ? 'horizontal' : 'vertical',\n target: {\n component: brushAxis,\n fill: 'rgba( 82, 204, 82, 0.2 )',\n fillActive: 'rgba(82, 204, 82, 0.4)',\n },\n bubbles: {\n align: rangeUtil.getBublesAlign(isHorizontal, dock, isRtl),\n label(data) {\n if (isStartBorder) {\n isStartBorder = false;\n const formattedStartValue = chartInstance\n .dataset(data.binStart.source.key)\n .field(data.binStart.source.field)\n .formatter()(data.binStart.value);\n return formattedStartValue;\n }\n isStartBorder = true;\n const formattedEndValue = chartInstance\n .dataset(data.binEnd.source.key)\n .field(data.binEnd.source.field)\n .formatter()(data.binEnd.value);\n return formattedEndValue;\n },\n },\n multiple: options && options.multiple === false ? options.multiple : true,\n },\n };\n\n brushComponents.forEach((comp) => {\n defaultSettings.settings.brush.components.push({\n contexts: brushKey ? [brushKey] : undefined,\n key: comp,\n data: brushData,\n action: 'add',\n });\n });\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default rangeArea;\n","import extend from 'extend';\n\nfunction sequentialLegend(settings, options) {\n const chartID = options && options.chartID;\n const isRtl = options && options.isRtl;\n let dock = options.dock || 'auto';\n\n if (dock === 'auto') {\n dock = options.chartHeight < options.chartWidth ? (isRtl ? 'left' : 'right') : 'bottom';\n }\n\n const titleFill = options.theme.getStyle(chartID, 'legend.title', 'color');\n const titleFontSize = options.theme.getStyle(chartID, 'legend.title', 'fontSize');\n const titleFontFamily = options.theme.getStyle(chartID, 'legend.title', 'fontFamily');\n const tickFill = options.theme.getStyle(chartID, 'legend.label', 'color');\n const tickFontSize = options.theme.getStyle(chartID, 'legend.label', 'fontSize');\n const tickFontFamily = options.theme.getStyle(chartID, 'legend.label', 'fontFamily');\n\n function getAlignValue(word) {\n switch (word) {\n case 'left':\n return 0;\n case 'right':\n return 1;\n case 'middle':\n default:\n return 0.5;\n }\n }\n\n const defaultSettings = {\n key: 'seqlegend',\n type: 'legend-seq',\n dock,\n\n // Settings to position the legend outside of the axis\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n\n settings: {\n align: isRtl ? getAlignValue('right') : getAlignValue('left'),\n major: {\n invert: dock === 'left' || dock === 'right' || isRtl,\n },\n title: {\n show: options.showTitle,\n fontSize: titleFontSize,\n fontFamily: titleFontFamily,\n fill: titleFill,\n },\n tick: {\n fill: tickFill,\n fontSize: tickFontSize,\n fontFamily: tickFontFamily,\n },\n },\n };\n const finalSettings = extend(true, {}, defaultSettings, settings);\n return finalSettings;\n}\n\nexport default sequentialLegend;\n","import extend from 'extend';\n\nfunction gridLine(settings, options) {\n const chartID = options && options.chartID;\n\n const axisLineStroke = options.theme.getStyle(chartID, 'grid.line.major', 'color');\n\n const defaultSettings = {\n displayOrder: -1,\n key: 'grid-line',\n type: 'grid-line',\n x: null,\n y: null,\n ticks: {\n stroke: axisLineStroke,\n },\n minorTicks: {\n stroke: axisLineStroke,\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default gridLine;\n","import extend from 'extend';\n\nfunction interaction(settings, options) {\n const gestures = (options && options.gestures) || [];\n const defaultSettings = {\n type: 'hammer',\n key: 'hammered',\n gestures,\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default interaction;\n","import extend from 'extend';\n\nfunction refLine(settings, options) {\n const chartID = options && options.chartID; // Should we validate if the parameter exists?\n const oobColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'color');\n const oobBackgroundColor = options.theme.getStyle(chartID, 'referenceLine.outOfBounds', 'backgroundColor');\n\n const defaultSettings = {\n key: 'ref-line',\n type: 'ref-line',\n dock: 'center',\n prioOrder: -1,\n lines: {\n x: [],\n y: [],\n },\n style: {\n oob: {\n width: 7,\n fill: oobBackgroundColor,\n text: {\n fill: oobColor,\n },\n padding: {\n x: 7,\n y: 5,\n },\n },\n },\n };\n\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default refLine;\n","import extend from 'extend';\n\nfunction eventArea(settings) {\n const defaultSettings = {\n type: 'event-area',\n key: 'event-area',\n };\n return extend(true, {}, defaultSettings, settings || {});\n}\n\nexport default eventArea;\n","import DimensionMeasureChart from './presets/dimension-measure-chart/dimension-measure-chart';\n\nfunction ChartPresets(type, chartBuilder, options) {\n switch (type) {\n case 'dimension-measure-chart':\n DimensionMeasureChart(chartBuilder, options);\n break;\n default:\n throw Error('There is no chart preset with that type');\n }\n}\n\nexport default ChartPresets;\n","/**\n * Configuration for disclaimers\n *\n */\n\n/**\n * Placement on chart\n */\nconst ALIGNMENT = {\n CENTER: 0,\n BOTTOM: 1,\n};\n\n/**\n * Configuration of all disclaimers\n *\n * label - key for translation\n * alignment - Placement on chart\n * default - Supported by default. If 'false' the disclaimer needs to be set to 'true' in supportedDisclaimers to be valid\n */\nconst DISCLAIMERS = [\n {\n label: 'NoDataExist',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'RequireNumericDimension',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'OnlyNanData',\n alignment: ALIGNMENT.CENTER,\n default: true,\n },\n {\n label: 'OnlyNegativeOrZeroValues',\n alignment: ALIGNMENT.CENTER,\n default: false,\n },\n {\n label: 'LimitedData',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'OnlyNanColor',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'NegativeOrZeroValues',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n {\n label: 'DataRangeIncludingZero',\n alignment: ALIGNMENT.BOTTOM,\n default: false,\n },\n];\n\nexport default {\n DISCLAIMERS,\n ALIGNMENT,\n};\n","/**\n * Disclaimer utility for setting attributes needed for the disclaimer component\n *\n * @exports objects.picasso/disclaimer/disclaimer-attributes-utils\n */\nimport DisclaimersConfig from './disclaimers-config';\n\n/**\n * Checks if the data range in measures and axis spans over the value 0\n * @ignore\n * @param measureAxis\n * @param measureInfo\n * @returns {boolean} True if the data range in any measure or the given axis spans over 0\n */\nfunction hasDataRangeIncludingZero(measureAxis, measureInfo) {\n const len = measureInfo.length;\n let i;\n let explicitMinOn;\n let explicitMaxOn;\n let min;\n let max;\n if (measureAxis) {\n explicitMinOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'min' || measureAxis.minMax === 'minMax') &&\n measureAxis.min !== null &&\n !Number.isNaN(+measureAxis.min);\n explicitMaxOn =\n !measureAxis.autoMinMax &&\n (measureAxis.minMax === 'max' || measureAxis.minMax === 'minMax') &&\n measureAxis.max !== null &&\n !Number.isNaN(+measureAxis.max);\n }\n min = Number.MAX_VALUE;\n max = -Number.MAX_VALUE;\n\n // return true if data contains zero\n for (i = 0; i < len; i++) {\n min = Math.min(min, measureInfo[i].qMin);\n max = Math.max(max, measureInfo[i].qMax);\n if (min <= 0 && max >= 0) {\n return true;\n }\n }\n\n // return true if axis explicits contains zero\n min = explicitMinOn ? measureAxis.min : min;\n max = explicitMaxOn ? measureAxis.max : max;\n return min <= 0 && max >= 0;\n}\n\nfunction hasSubNodes(stackedDataPages) {\n return (\n stackedDataPages && stackedDataPages[0] && stackedDataPages[0].qData[0] && stackedDataPages[0].qData[0].qSubNodes\n );\n}\n\nconst util = {\n getNoDataExistAttribute(qHyperCube) {\n return qHyperCube.qSize.qcy * qHyperCube.qSize.qcx === 0;\n },\n\n getLimitedDataAttribute(qHyperCube, opts) {\n let result = false;\n let maxNbrOfDimensions;\n if (!qHyperCube) {\n result = opts.explicitLimitedData === true;\n } else if (opts.explicitLimitedData !== undefined) {\n result = opts.explicitLimitedData === true;\n } else if (qHyperCube.qDataPages && qHyperCube.qDataPages[0]) {\n result = !opts.paging && qHyperCube.qSize.qcy > qHyperCube.qDataPages[0].qMatrix.length;\n } else if (hasSubNodes(qHyperCube.qStackedDataPages)) {\n maxNbrOfDimensions = opts.maxNbrOfDimensions ? opts.maxNbrOfDimensions : 2;\n if (qHyperCube.qDimensionInfo.length >= maxNbrOfDimensions) {\n result = qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.some((node) => node.qDown > 0);\n } else {\n result =\n qHyperCube.qStackedDataPages[0].qData[0].qSubNodes.length < qHyperCube.qStackedDataPages[0].qArea.qHeight;\n }\n }\n return result;\n },\n\n getNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return !opts.supportNegative && qHyperCube.qMeasureInfo.some((measure) => measure.qMin <= 0);\n },\n\n getOnlyNegativeOrZeroValuesAttribute(qHyperCube, opts) {\n return (\n (!opts.supportNegative &&\n qHyperCube.qMeasureInfo.every((measure) => measure.qMax <= 0 && measure.qMax >= measure.qMin)) ||\n qHyperCube.qSize.qcy === 0\n );\n },\n\n getOnlyNanDataAttribute(qHyperCube, opts) {\n if (opts.explicitOnlyNanData !== undefined) {\n return opts.explicitOnlyNanData;\n }\n\n return qHyperCube.qMeasureInfo.every((measure) => measure.qMax < measure.qMin || measure.qMax === 'NaN');\n },\n\n getDataRangeIncludingZeroAttribute(data, opts) {\n return !opts.supportRangeOverZero && hasDataRangeIncludingZero(data.measureAxis, data.qHyperCube.qMeasureInfo);\n },\n\n /**\n * Apply attributes that configures disclaimers for a charts\n * @param {Object} options - Options\n * @param {Object} data - Layout data\n * @returns {Object}\n */\n applyAttributes(options, data) {\n const opts = options || {};\n const dataAttributes = {};\n\n opts.supportNegative = opts.supportNegative === undefined ? true : opts.supportNegative;\n opts.supportRangeOverZero = opts.supportRangeOverZero === undefined ? true : opts.supportRangeOverZero;\n\n DisclaimersConfig.DISCLAIMERS.forEach((config) => {\n dataAttributes[config.label] = false;\n });\n if (!data || !data.qHyperCube) {\n return dataAttributes;\n }\n dataAttributes.NoDataExist = this.getNoDataExistAttribute(data.qHyperCube);\n if (dataAttributes.NoDataExist) {\n return dataAttributes;\n }\n dataAttributes.RequireNumericDimension = opts.explicitRequireNumericDimension;\n if (dataAttributes.RequireNumericDimension) {\n return dataAttributes;\n }\n dataAttributes.LimitedData = this.getLimitedDataAttribute(data.qHyperCube, opts);\n dataAttributes.NegativeOrZeroValues = this.getNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNegativeOrZeroValues = this.getOnlyNegativeOrZeroValuesAttribute(data.qHyperCube, opts);\n dataAttributes.OnlyNanData = this.getOnlyNanDataAttribute(data.qHyperCube, opts);\n dataAttributes.DataRangeIncludingZero = this.getDataRangeIncludingZeroAttribute(data, opts);\n\n return dataAttributes;\n },\n};\nexport default util;\n","/**\n * Helper for disclaimer component\n *\n */\n\n/**\n * Create new Helper for disclaimer\n * @param disclaimersConfig {Array} List of disclaimer config objects\n * @param dataAttributes {Object} Config for which disclaimers that are valid to show\n * @param supportedDisclaimers {Object} Config for which disclaimers that are supported\n * @constructor\n */\nfunction Helper(disclaimersConfig, dataAttributes, supportedDisclaimers) {\n this.disclaimersConfig = disclaimersConfig;\n this.dataAttributes = dataAttributes;\n this.supportedDisclaimers = supportedDisclaimers;\n}\n\nfunction isValid(label, list) {\n return label && list && list[label];\n}\n\n/**\n * Returns true if disclaimer config is valid, supported and has an alignment\n * @param disclaimer {Object} Configuration for a disclaimer\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isValidAndSupported = function (disclaimer, alignment) {\n return (\n isValid(disclaimer.label, this.dataAttributes) &&\n (disclaimer.default || isValid(disclaimer.label, this.supportedDisclaimers)) &&\n alignment !== undefined &&\n disclaimer.alignment === alignment\n );\n};\n\n/**\n * Returns true if there are any valid disclaimers for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @returns {Boolean}\n */\nHelper.prototype.isAnyValidDisclaimer = function (alignment) {\n let result = false;\n const self = this;\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n result = true;\n }\n });\n return result;\n};\n\n/**\n * Gets all translated disclaimer messages for an alignment\n * @param alignment {Integer} Alignment value in disclaimers config\n * @param translator {Object} Translator component\n * @returns {string}\n */\nHelper.prototype.getMessage = function (alignment, translator) {\n let str = '';\n const self = this;\n if (translator) {\n this.disclaimersConfig.forEach((config) => {\n if (self.isValidAndSupported(config, alignment)) {\n str += `${translator.get(`Object.Disclaimer.${config.label}`)} `;\n }\n });\n }\n return str;\n};\n\nexport default Helper;\n","/**\n * Disclaimer component for Picasso base charts\n *\n * @exports objects.picasso/disclaimer/disclaimer\n */\n\nimport extend from 'extend';\nimport DisclaimersConfig from './disclaimers-config';\nimport AttributesUtil from './disclaimer-attributes-util';\nimport DisclaimerComponentHelper from './disclaimer-component-helper';\n\nDisclaimer.ERRORS = {\n SET: 'Calling Disclaimer.set() without attributes',\n DISPLAY: 'Calling Disclaimer.display() before attributes are applied',\n};\n\n/**\n * Create new disclaimer component\n * @param {Object} options - A reference to chart options\n * @constructor\n */\nfunction Disclaimer(environment) {\n this.environment = environment;\n this.clear();\n}\n\nDisclaimer._applyDefaultSupport = function (supportedDisclaimers, disclaimersConfig) {\n let supported = supportedDisclaimers;\n if (!supported) {\n supported = {};\n }\n disclaimersConfig.forEach((config) => {\n if (supported[config.label] === undefined) {\n supported[config.label] = config.default;\n }\n });\n return supported;\n};\n\nDisclaimer.prototype.getComponentSettings = function () {\n const { translator } = this.environment;\n const supportedDisclaimers = extend(true, {}, this.vizAttributes.supportedDisclaimers);\n const helper = new DisclaimerComponentHelper(\n DisclaimersConfig.DISCLAIMERS,\n this.dataAttributes,\n supportedDisclaimers\n );\n\n let message;\n let dock;\n if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.CENTER)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.CENTER, translator);\n dock = 'center';\n } else if (helper.isAnyValidDisclaimer(DisclaimersConfig.ALIGNMENT.BOTTOM)) {\n message = helper.getMessage(DisclaimersConfig.ALIGNMENT.BOTTOM, translator);\n dock = 'bottom';\n } else {\n return undefined;\n }\n\n return {\n key: 'disclaimer',\n type: 'disclaimer',\n layout: {\n displayOrder: 1000,\n dock,\n },\n settings: {\n label: message,\n rtl: this.environment?.options?.direction === 'rtl',\n },\n };\n};\n\n/**\n * Set attributes that configures disclaimers for a charts\n * @param {Object} attributes - Disclaimer settings for a chart\n */\nDisclaimer.prototype.set = function (attributes) {\n this.clear();\n if (attributes) {\n this.vizAttributes = attributes;\n this.dataAttributes = AttributesUtil.applyAttributes(this.vizAttributes.options, this.vizAttributes.data);\n } else {\n throw new Error(Disclaimer.ERRORS.SET);\n }\n};\n\n/**\n * Clears disclaimer settings\n */\nDisclaimer.prototype.clear = function () {\n this.vizAttributes = null;\n this.dataAttributes = null;\n};\n\nexport default Disclaimer;\n","import extend from 'extend';\nimport { getValue } from 'qlik-chart-modules';\n\nimport Class from '../extra/class';\nimport ChartBuilder from './chart-builder/chart-builder';\nimport Disclaimer from './disclaimer/disclaimer';\n\nfunction getData(backendApi, hyperCube, rect) {\n let page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n let dataPagesPath;\n\n if (rect) {\n const width = rect.width || hyperCube.qSize.qcx;\n const maxHeight = Math.floor(10000 / width);\n page = {\n qTop: rect.top || 0,\n qLeft: rect.left || 0,\n qWidth: width,\n qHeight: rect.height ? Math.min(rect.height, maxHeight) : maxHeight,\n };\n } else {\n page = {\n qTop: 0,\n qLeft: 0,\n qWidth: hyperCube.qSize.qcx,\n qHeight: 10000 / hyperCube.qSize.qcx,\n };\n }\n\n switch (hyperCube.qMode) {\n case 'K': // Stacked mode\n dataPagesPath = 'qStackedDataPages';\n break;\n case 'S': // Straight table mode\n default:\n dataPagesPath = 'qDataPages';\n break;\n }\n\n return backendApi.getData([page], null, hyperCube).then((pages) => {\n hyperCube[dataPagesPath] = pages;\n });\n}\n\nconst ChartView = Class.extend({\n init(picasso, $element, environment, backendApi, selectionsApi) {\n this.$element = $element;\n this.environment = environment;\n this.backendApi = backendApi;\n\n this._selectionsApi = selectionsApi;\n this._on = false;\n this._disclaimer = new Disclaimer(environment);\n this._dataPaths = ['qHyperCube'];\n\n const self = this;\n\n // Set properties that should be available in subclasses\n\n this.picassoElement = $element[0];\n this.picassoElement.className += ' picasso-chart';\n\n // Paint a visually empty Picasso chart containing an event-area component\n this.chartInstance = picasso.chart({\n element: this.picassoElement,\n settings: {\n components: [\n ChartBuilder.createComponent('event-area', {\n mounted(element) {\n // Mounted is run synchronously so this.dataAreaElem will be available in subclass constructors\n self.dataAreaElem = element;\n },\n }),\n ],\n },\n });\n },\n\n updateEnvironment(environment) {\n this.environment = environment;\n },\n\n isRtl() {\n return this.environment.options?.direction === 'rtl';\n },\n\n setDataPaths(dataPaths) {\n this._dataPaths = dataPaths;\n },\n\n getData(backendApi, hyperCube, rect) {\n return getData(backendApi, hyperCube, rect);\n },\n\n hasValidData() {\n return true;\n },\n\n paint() {\n // Use this.layout\n if (this.hasValidData()) {\n this._disclaimer.set(this.getDisclaimerAttributes(this.layout));\n const disclaimerComponent = this._disclaimer.getComponentSettings();\n const isSuppressingDisc = disclaimerComponent?.layout?.dock === 'center';\n\n const chartSettings = this.createChartSettings(this.layout);\n if (isSuppressingDisc) {\n chartSettings.components = [disclaimerComponent];\n } else if (disclaimerComponent) {\n chartSettings.components.push(disclaimerComponent);\n }\n ChartBuilder.validateComponentKeys(chartSettings.components).forEach((errorMsg) => {\n console.error(errorMsg);\n });\n\n this.updateChart(this.layout, chartSettings);\n this._painted = true;\n }\n return Promise.resolve();\n },\n\n resize() {\n // Use this.layout\n if (!this.layout) {\n // There are cases where resize is run before updateData, therefore layout is undefined\n return undefined;\n }\n return this.paint();\n },\n\n createChartSettings() {\n throw new Error('Subclass must implement \"createChartSettings\" function');\n },\n\n addSnapshotChartSettings(settings, layout) {\n const { freeResize } = this.environment.options;\n if (!freeResize && layout.snapshotData) {\n settings.dockLayout.logicalSize = {\n width: layout.snapshotData.content.size.w,\n height: layout.snapshotData.content.size.h,\n preserveAspectRatio: true,\n };\n }\n },\n\n updateData(layout) {\n // clone the layout so that updates ignored by suppressOnPaint does not affect it.\n if (this._destroyed) {\n return Promise.reject();\n }\n\n this.layout = extend(true, {}, layout);\n this.layout.permissions = layout.permissions;\n return Promise.resolve();\n },\n\n updateChart(layout, settings, isPartialData) {\n const localeInfo = this.environment.appLayout?.qLocaleInfo ?? {};\n const data = this._dataPaths.map((path) => ({\n type: 'q',\n key: path,\n config: {\n localeInfo,\n },\n data: getValue(layout, path.replace(/\\//g, '.')),\n }));\n if (this.colorService) {\n data.push(...this.colorService.getData());\n }\n\n this.chartInstance.update({\n data,\n settings,\n partialData: isPartialData,\n });\n\n const STATE_DATA_UPDATED = 2;\n this.picassoElement.setAttribute('data-state', STATE_DATA_UPDATED); // For integration test\n },\n\n destroy() {\n this._destroyed = true;\n this.off();\n this.chartInstance.destroy();\n },\n\n getViewState() {\n return {};\n },\n\n isLassoDisabled() {\n return true;\n },\n\n setSnapshotData(snapshotLayout) {\n if (!snapshotLayout.snapshotData) {\n snapshotLayout.snapshotData = {};\n }\n snapshotLayout.snapshotData.content = {\n // eslint-disable-line no-param-reassign\n chartData: {},\n size: {\n w: this.$element.width(),\n h: this.$element.height(),\n },\n };\n },\n\n getDisclaimerAttributes(layout) {\n return {\n data: layout,\n };\n },\n});\n\nexport default ChartView;\n","const colorStruct = {\n aliceblue: { r: 240, g: 248, b: 255 },\n antiquewhite: { r: 250, g: 235, b: 215 },\n aqua: { r: 0, g: 255, b: 255 },\n aquamarine: { r: 127, g: 255, b: 212 },\n azure: { r: 240, g: 255, b: 255 },\n beige: { r: 245, g: 245, b: 220 },\n bisque: { r: 255, g: 228, b: 196 },\n black: { r: 0, g: 0, b: 0 },\n blanchedalmond: { r: 255, g: 235, b: 205 },\n blue: { r: 0, g: 0, b: 255 },\n blueviolet: { r: 138, g: 43, b: 226 },\n brown: { r: 165, g: 42, b: 42 },\n burlywood: { r: 222, g: 184, b: 135 },\n cadetblue: { r: 95, g: 158, b: 160 },\n chartreuse: { r: 127, g: 255, b: 0 },\n chocolate: { r: 210, g: 105, b: 30 },\n coral: { r: 255, g: 127, b: 80 },\n cornflowerblue: { r: 100, g: 149, b: 237 },\n cornsilk: { r: 255, g: 248, b: 220 },\n crimson: { r: 220, g: 20, b: 60 },\n cyan: { r: 0, g: 255, b: 255 },\n darkblue: { r: 0, g: 0, b: 139 },\n darkcyan: { r: 0, g: 139, b: 139 },\n darkgoldenrod: { r: 184, g: 134, b: 11 },\n darkgray: { r: 169, g: 169, b: 169 },\n darkgreen: { r: 0, g: 100, b: 0 },\n darkgrey: { r: 169, g: 169, b: 169 },\n darkkhaki: { r: 189, g: 183, b: 107 },\n darkmagenta: { r: 139, g: 0, b: 139 },\n darkolivegreen: { r: 85, g: 107, b: 47 },\n darkorange: { r: 255, g: 140, b: 0 },\n darkorchid: { r: 153, g: 50, b: 204 },\n darkred: { r: 139, g: 0, b: 0 },\n darksalmon: { r: 233, g: 150, b: 122 },\n darkseagreen: { r: 143, g: 188, b: 143 },\n darkslateblue: { r: 72, g: 61, b: 139 },\n darkslategray: { r: 47, g: 79, b: 79 },\n darkslategrey: { r: 47, g: 79, b: 79 },\n darkturquoise: { r: 0, g: 206, b: 209 },\n darkviolet: { r: 148, g: 0, b: 211 },\n deeppink: { r: 255, g: 20, b: 147 },\n deepskyblue: { r: 0, g: 191, b: 255 },\n dimgray: { r: 105, g: 105, b: 105 },\n dimgrey: { r: 105, g: 105, b: 105 },\n dodgerblue: { r: 30, g: 144, b: 255 },\n firebrick: { r: 178, g: 34, b: 34 },\n floralwhite: { r: 255, g: 250, b: 240 },\n forestgreen: { r: 34, g: 139, b: 34 },\n fuchsia: { r: 255, g: 0, b: 255 },\n gainsboro: { r: 220, g: 220, b: 220 },\n ghostwhite: { r: 248, g: 248, b: 255 },\n gold: { r: 255, g: 215, b: 0 },\n goldenrod: { r: 218, g: 165, b: 32 },\n gray: { r: 128, g: 128, b: 128 },\n green: { r: 0, g: 128, b: 0 },\n greenyellow: { r: 173, g: 255, b: 47 },\n grey: { r: 128, g: 128, b: 128 },\n honeydew: { r: 240, g: 255, b: 240 },\n hotpink: { r: 255, g: 105, b: 180 },\n indianred: { r: 205, g: 92, b: 92 },\n indigo: { r: 75, g: 0, b: 130 },\n ivory: { r: 255, g: 255, b: 240 },\n khaki: { r: 240, g: 230, b: 140 },\n lavender: { r: 230, g: 230, b: 250 },\n lavenderblush: { r: 255, g: 240, b: 245 },\n lawngreen: { r: 124, g: 252, b: 0 },\n lemonchiffon: { r: 255, g: 250, b: 205 },\n lightblue: { r: 173, g: 216, b: 230 },\n lightcoral: { r: 240, g: 128, b: 128 },\n lightcyan: { r: 224, g: 255, b: 255 },\n lightgoldenrodyellow: { r: 250, g: 250, b: 210 },\n lightgray: { r: 211, g: 211, b: 211 },\n lightgreen: { r: 144, g: 238, b: 144 },\n lightgrey: { r: 211, g: 211, b: 211 },\n lightpink: { r: 255, g: 182, b: 193 },\n lightsalmon: { r: 255, g: 160, b: 122 },\n lightseagreen: { r: 32, g: 178, b: 170 },\n lightskyblue: { r: 135, g: 206, b: 250 },\n lightslategray: { r: 119, g: 136, b: 153 },\n lightslategrey: { r: 119, g: 136, b: 153 },\n lightsteelblue: { r: 176, g: 196, b: 222 },\n lightyellow: { r: 255, g: 255, b: 224 },\n lime: { r: 0, g: 255, b: 0 },\n limegreen: { r: 50, g: 205, b: 50 },\n linen: { r: 250, g: 240, b: 230 },\n magenta: { r: 255, g: 0, b: 255 },\n maroon: { r: 128, g: 0, b: 0 },\n mediumaquamarine: { r: 102, g: 205, b: 170 },\n mediumblue: { r: 0, g: 0, b: 205 },\n mediumorchid: { r: 186, g: 85, b: 211 },\n mediumpurple: { r: 147, g: 112, b: 219 },\n mediumseagreen: { r: 60, g: 179, b: 113 },\n mediumslateblue: { r: 123, g: 104, b: 238 },\n mediumspringgreen: { r: 0, g: 250, b: 154 },\n mediumturquoise: { r: 72, g: 209, b: 204 },\n mediumvioletred: { r: 199, g: 21, b: 133 },\n midnightblue: { r: 25, g: 25, b: 112 },\n mintcream: { r: 245, g: 255, b: 250 },\n mistyrose: { r: 255, g: 228, b: 225 },\n moccasin: { r: 255, g: 228, b: 181 },\n navajowhite: { r: 255, g: 222, b: 173 },\n navy: { r: 0, g: 0, b: 128 },\n oldlace: { r: 253, g: 245, b: 230 },\n olive: { r: 128, g: 128, b: 0 },\n olivedrab: { r: 107, g: 142, b: 35 },\n orange: { r: 255, g: 165, b: 0 },\n orangered: { r: 255, g: 69, b: 0 },\n orchid: { r: 218, g: 112, b: 214 },\n palegoldenrod: { r: 238, g: 232, b: 170 },\n palegreen: { r: 152, g: 251, b: 152 },\n paleturquoise: { r: 175, g: 238, b: 238 },\n palevioletred: { r: 219, g: 112, b: 147 },\n papayawhip: { r: 255, g: 239, b: 213 },\n peachpuff: { r: 255, g: 218, b: 185 },\n peru: { r: 205, g: 133, b: 63 },\n pink: { r: 255, g: 192, b: 203 },\n plum: { r: 221, g: 160, b: 221 },\n powderblue: { r: 176, g: 224, b: 230 },\n purple: { r: 128, g: 0, b: 128 },\n red: { r: 255, g: 0, b: 0 },\n rosybrown: { r: 188, g: 143, b: 143 },\n royalblue: { r: 65, g: 105, b: 225 },\n saddlebrown: { r: 139, g: 69, b: 19 },\n salmon: { r: 250, g: 128, b: 114 },\n sandybrown: { r: 244, g: 164, b: 96 },\n seagreen: { r: 46, g: 139, b: 87 },\n seashell: { r: 255, g: 245, b: 238 },\n sienna: { r: 160, g: 82, b: 45 },\n silver: { r: 192, g: 192, b: 192 },\n skyblue: { r: 135, g: 206, b: 235 },\n slateblue: { r: 106, g: 90, b: 205 },\n slategray: { r: 112, g: 128, b: 144 },\n slategrey: { r: 112, g: 128, b: 144 },\n snow: { r: 255, g: 250, b: 250 },\n springgreen: { r: 0, g: 255, b: 127 },\n steelblue: { r: 70, g: 130, b: 180 },\n tan: { r: 210, g: 180, b: 140 },\n teal: { r: 0, g: 128, b: 128 },\n thistle: { r: 216, g: 191, b: 216 },\n tomato: { r: 255, g: 99, b: 71 },\n transparent: {\n r: 255,\n g: 255,\n b: 255,\n a: 0,\n },\n turquoise: { r: 64, g: 224, b: 208 },\n violet: { r: 238, g: 130, b: 238 },\n wheat: { r: 245, g: 222, b: 179 },\n white: { r: 255, g: 255, b: 255 },\n whitesmoke: { r: 245, g: 245, b: 245 },\n yellow: { r: 255, g: 255, b: 0 },\n yellowgreen: { r: 154, g: 205, b: 50 },\n};\n\nexport default colorStruct;\n","/* eslint-disable camelcase */\n/* eslint-disable no-bitwise */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-cond-assign */\n/* eslint-disable prefer-rest-params */\n\n/**\n * Module which defines a color object\n * @exports objects.views/charts/representation/color\n * @expose module:objects.views/charts/representation/color~Color\n */\nimport Class from './class';\nimport CSSColors from './css-colors';\n\n// color formats\nconst rgb = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i;\n\nconst rgba = /^rgba\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3}),(\\d(\\.\\d+)?)\\)$/i;\nconst hex = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i;\nconst hexShort = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i;\nconst hsl = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i;\nconst hsla = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i;\nconst floor = Math.floor;\nconst round = Math.round;\n\n/**\n * @class\n * @classdesc Class which provides color transformation functionality\n * @description This is a constructor.\n * @param {object} - Parameters to create a color from different notations\n * @example\n * // a few ways of instantiating a red color\n * var red;\n * red = new Color(255, 0, 0, 1); // rgba as parameters\n * red = new Color('#ff0000'); // hex\n * red = new Color('rgb(255,0,0)');//rgb as string\n * red = new Color('hsl(0, 100, 50)');// hsl as string\n * red = new Color(16711680);// uint\n */\nconst Color = Class.extend(\n /** @lends module:objects.views/charts/representation/color~Color# */ {\n init() {\n let r = 0;\n let g = 0;\n let b = 0;\n let a = 1;\n let h;\n let s;\n let lcs;\n let l;\n let v;\n let c;\n let h_;\n let x;\n let rgb_;\n let m;\n let matches;\n let colorString;\n\n this._invalid = false;\n\n if (arguments[0] instanceof Color) {\n r = arguments[0]._r;\n g = arguments[0]._g;\n b = arguments[0]._b;\n a = arguments[0]._a;\n this._invalid = arguments[0]._invalid;\n } else if (arguments.length < 3) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if (\n (matches = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d(\\.\\d+)?)\\s*\\)$/i.exec(\n colorString\n ))\n ) {\n // rgba(1, 2, 3, 0.4)\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n a = parseFloat(matches[4]);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n // #aBc123\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n a = 1;\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n // #a5F\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n a = 1;\n } else if (\n (matches = /^hsl\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsl(1, 2, 3)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (\n (matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n colorString\n ))\n ) {\n // hsla(1,2,3,0.4)\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n l = parseFloat(matches[5]);\n a = parseFloat(matches[7]);\n\n h %= 360;\n s /= 100;\n l /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n l = l < 0 ? 0 : l > 1 ? 1 : l;\n\n c = l <= 0.5 ? 2 * l * s : (2 - 2 * l) * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = l - 0.5 * c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n } else if (\n (matches = /^hsv\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*\\)$/i.exec(colorString))\n ) {\n // hsv(1, 2, 3) {\n h = parseFloat(matches[1]);\n s = parseFloat(matches[3]);\n v = parseFloat(matches[5]);\n\n h %= 360;\n s /= 100;\n v /= 100;\n\n h = h < 0 ? 0 : h > 360 ? 360 : h;\n s = s < 0 ? 0 : s > 1 ? 1 : s;\n v = v < 0 ? 0 : v > 1 ? 1 : v;\n\n c = v * s;\n h_ = h / 60;\n x = c * (1 - Math.abs((h_ % 2) - 1));\n\n rgb_ = [];\n\n h_ = Math.floor(h_);\n switch (h_) {\n case 0:\n rgb_ = [c, x, 0];\n break;\n case 1:\n rgb_ = [x, c, 0];\n break;\n case 2:\n rgb_ = [0, c, x];\n break;\n case 3:\n rgb_ = [0, x, c];\n break;\n case 4:\n rgb_ = [x, 0, c];\n break;\n case 5:\n rgb_ = [c, 0, x];\n break;\n default:\n rgb_ = [0, 0, 0];\n }\n\n m = v - c;\n\n r = rgb_[0] + m;\n g = rgb_[1] + m;\n b = rgb_[2] + m;\n\n r = round(255 * r);\n g = round(255 * g);\n b = round(255 * b);\n a = 1.0;\n } else if (CSSColors[colorString.toLowerCase()]) {\n lcs = colorString.toLowerCase();\n r = CSSColors[lcs].r;\n g = CSSColors[lcs].g;\n b = CSSColors[lcs].b;\n a = typeof CSSColors[lcs].a === 'number' ? CSSColors[lcs].a : 1.0;\n } else {\n this._invalid = true;\n }\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0 && arguments[1] === 'argb') {\n a = (0xff000000 & arguments[0]) >>> 24;\n a /= 255;\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else if (typeof arguments[0] === 'number' && arguments[0] >= 0) {\n r = (0xff0000 & arguments[0]) >> 16;\n g = (0x00ff00 & arguments[0]) >> 8;\n b = 0x0000ff & arguments[0];\n } else {\n this._invalid = true;\n }\n } else if (arguments.length >= 3) {\n r = arguments[0];\n g = arguments[1];\n b = arguments[2];\n a = arguments.length >= 4 ? arguments[3] : 1;\n } else {\n this._invalid = true;\n }\n\n if (Number.isNaN(+r + g + b + a)) {\n this._invalid = true;\n }\n\n this._r = floor(r);\n this._g = floor(g);\n this._b = floor(b);\n this._a = a;\n\n // object to cache string representations in various color spaces\n this._spaces = {};\n },\n isInvalid() {\n return this._invalid;\n },\n /**\n * Sets alpha value of color\n * @param {number} a - Alpha value of the color\n */\n setAlpha(a) {\n this._a = a;\n this._spaces = {};\n },\n /**\n * Gets the alpha value of this color\n * @returns {number}\n */\n getAlpha() {\n return this._a;\n },\n /**\n * Returns an rgb string representation of this color.\n * @return {string} An rgb string representation of this color\n */\n toRGB: function toRGB() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns an rgba string representation of this color.\n * @return {string} An rgba string representation of this color.\n */\n toRGBA: function toRGBA() {\n if (!this._spaces.rgba) {\n this._spaces.rgba = Color.toRGBA(this);\n }\n return this._spaces.rgba;\n },\n toString() {\n if (!this._spaces.rgb) {\n this._spaces.rgb = Color.toRGB(this);\n }\n return this._spaces.rgb;\n },\n /**\n * Returns a hex string representation of this color.\n * @return {string}\n */\n toHex: function toHex() {\n if (!this._spaces.hex) {\n this._spaces.hex = Color.toHex(this);\n }\n return this._spaces.hex;\n },\n /**\n * Returns a hsl string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsl(0,0,0)\n */\n toHSL: function toHSL(luma) {\n if (!this._spaces.hsl) {\n this._spaces.hsl = Color.toHSL(this, luma);\n }\n return this._spaces.hsl;\n },\n /**\n * Returns a hsla string representation of this color using \"bi-hexcone\" model for lightness\n * @param {boolean} luma - Whether to use luma calculation\n * @return {string} In format hsla(0,0,0,0)\n */\n toHSLA: function toHSLA(luma) {\n if (!this._spaces.hsla) {\n this._spaces.hsla = Color.toHSLA(this, luma);\n }\n return this._spaces.hsla;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSV() {\n const hsvComp = this.toHSVComponents();\n return `hsv(${hsvComp.h},${hsvComp.s},${hsvComp.v})`;\n },\n /**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\n toHSVComponents: function toHSVComponents() {\n if (!this._spaces.hsvComp) {\n this._spaces.hsvComp = Color.toHSVComponents(this);\n }\n return this._spaces.hsvComp;\n },\n /**\n * Returns a uint representation of this color\n * @return {number}\n */\n toNumber: function toNumber() {\n if (!this._spaces.num) {\n this._spaces.num = Color.toNumber(this);\n }\n return this._spaces.num;\n },\n /**\n * Checks if this color is perceived as dark.\n * @return {string} True if the luminance is below 160, false otherwise.\n */\n isDark() {\n return this.isInvalid() || this.getLuminance() < 125; // luminace calc option #2\n // return this.getLuminance() < 160; //luminace calc option #3\n },\n /**\n * Calculates the perceived luminance of the color.\n * @return {number} A value in the range 0-255 where a low value is considered dark and vice versa.\n */\n getLuminance() {\n // alpha channel is not considered\n if (typeof this._lumi === 'undefined') {\n // calculate luminance\n // this._lumi = 0.2126 * this._r + 0.7152 * this._g + 0.0722 * this._b; // option 1\n this._lumi = 0.299 * this._r + 0.587 * this._g + 0.114 * this._b; // option 2\n // this._lumi = Math.sqrt( 0.241 * this._r * this._r + 0.691 * this._g * this._g + 0.068 * this._b * this._b ); // option 3\n }\n\n return this._lumi;\n },\n /**\n * Shifts the color towards a lighter or darker shade\n * @param {number} value - A value in the range -100-100 to shift the color with along the HSL lightness.\n * @return {string} The shifted color as hsla string.\n */\n shiftLuminance(value) {\n const chsla = this.toHSLA();\n const matches = /^hsla\\(\\s*(\\d+(\\.\\d+)?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,\\s*(\\d+(\\.\\d+)?%?)\\s*,(\\d(\\.\\d+)?)\\)$/i.exec(\n chsla\n );\n\n const h = parseFloat(matches[1]);\n const s = parseFloat(matches[3]);\n let l = parseFloat(matches[5]);\n const a = parseFloat(matches[7]);\n // l *= 1 + value / 100;\n // l = Math.max( 0, l % 100 );\n l += value;\n l = Math.max(0, Math.min(l, 100));\n\n // if( value > 0 ){\n // s = s*0.2; //removing saturation to avoid the border from being too light\n // }\n\n return `hsla(${h},${s},${l},${a})`;\n },\n /**\n * Compares two colors.\n * @param {Color} c The color to compare with.\n * @return {boolean} True if the rgb channels are the same, false otherwise\n */\n isEqual(c) {\n if (c instanceof Color) {\n return this._r === c._r && this._g === c._g && this._b === c._b;\n }\n\n c = new Color(c);\n return this._r === c._r && this._g === c._g && this._b === c._b;\n },\n /**\n * Linearly interpolates each channel of two colors.\n * @param {Color} c2 The other color.\n * @param {number} t The interpolation value in the range (0-1).\n * @return {string} The blend as an rgb string.\n */\n blend(c2, t) {\n const r = floor(this._r + (c2._r - this._r) * t);\n const g = floor(this._g + (c2._g - this._g) * t);\n const b = floor(this._b + (c2._b - this._b) * t);\n const a = floor(this._a + (c2._a - this._a) * t);\n\n return `rgba(${[r, g, b, a].join(',')})`;\n },\n\n createShiftedColor(v) {\n if (v === undefined || Number.isNaN(+v)) {\n v = 1;\n }\n const lumi = this.getLuminance();\n const greenMultiplier = this._g < 126 ? 1 : 1 + this._g / 512;\n const hsla_string = this.shiftLuminance(\n (lumi * greenMultiplier < 220 ? 0.8 + 4 * (1 / (lumi + 1)) : -(0.8 + 1 * (lumi / 255))) * 20 * v\n );\n\n return new Color(hsla_string);\n },\n }\n);\n\n/**\n * Returns an rgb string representation of this color\n * @param {Color|string} c\n * @returns {string} An rgb string with channel values within range 0-255.\n */\nColor.toRGB = function toRGB(c) {\n if (c instanceof Color) {\n return `rgb(${[c._r, c._g, c._b].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgb(${r},${g},${b})`;\n};\n/**\n *\n * @param c\n * @param a\n * @returns {string} The color rgb format.\n */\nColor.toRGBA = function toRGB(c, a) {\n if (c instanceof Color) {\n return `rgba(${[c._r, c._g, c._b, typeof a !== 'undefined' ? a : c._a].join(',')})`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n const r = (c & 0xff0000) >> 16;\n const g = (c & 0x00ff00) >> 8;\n const b = c & 0x0000ff;\n\n return `rgba(${r},${g},${b},${typeof a !== 'undefined' ? a : c._a})`;\n};\n/**\n *\n * @param {Color|string} c\n * @returns {string} The color in hexadecimal space.\n */\nColor.toHex = function toHex(c) {\n let r;\n let g;\n let b;\n if (c instanceof Color) {\n r = c._r.toString(16);\n g = c._g.toString(16);\n b = c._b.toString(16);\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n return `#${[r, g, b].join('')}`;\n }\n\n if (typeof c === 'string') {\n c = Color.toNumber(c);\n }\n\n r = ((c & 0xff0000) >> 16).toString(16);\n g = ((c & 0x00ff00) >> 8).toString(16);\n b = (c & 0x0000ff).toString(16);\n\n if (r.length === 1) {\n r = `0${r}`;\n }\n if (g.length === 1) {\n g = `0${g}`;\n }\n if (b.length === 1) {\n b = `0${b}`;\n }\n\n return `#${r}${g}${b}`;\n};\n/**\n * Return the color in hsl space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsl space.\n */\nColor.toHSL = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsl(${h * 360},${s * 100},${l * 100})`;\n};\n/**\n * Return the color in hsla space using \"bi-hexcone\" model for lightness\n * @param {Color|string} c\n * @param {boolean} luma - Whether to use luma calculation\n * @returns {string} The color in hsla space.\n */\nColor.toHSLA = function (c, luma) {\n let h = 0;\n let s;\n let l;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, lightness/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n const a = c._a;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n if (luma) {\n // Y'709 http://en.wikipedia.org/wiki/Rec._709\n // Y′709 = 0.21R + 0.72G + 0.07B\n l = 0.21 * r + 0.72 * g + 0.07 * b;\n } else {\n l = (max + min) / 2;\n }\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = l > 0.5 ? ch / (2 - max - min) : ch / (max + min);\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return `hsla(${h * 360},${s * 100},${l * 100},${a})`;\n};\n/**\n * Return the color components in hsv space using \"hexcone\" model for value (lightness)\n * @param {Color|string} c\n * @returns {object} The color components in hsv space {h:0-360, s:0-100, v:0-100}\n */\nColor.toHSVComponents = function (c) {\n let h = 0;\n let s;\n let ch;\n if (typeof c === 'string') {\n c = new Color(c);\n }\n\n // red, green, blue, hue, saturation, value/luma, max, min, chroma\n const r = c._r / 255;\n const g = c._g / 255;\n const b = c._b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n const v = max;\n\n if (max === min) {\n // greyscale\n s = 0;\n h = 0;\n } else {\n ch = max - min;\n s = ch === 0 ? 0 : ch / v;\n switch (max) {\n case r:\n h = (g - b) / ch + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / ch + 2;\n break;\n case b:\n h = (r - g) / ch + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n\n return { h: (h * 360) % 360, s: s * 100, v: v * 100 };\n};\n/**\n * Returns an number representation of the color\n * @param {Color|string} c\n * @returns {Number} Unsigned integer in the range 0-16 777 216\n */\nColor.toNumber = function toNumber() {\n if (arguments.length === 1 && arguments[0] instanceof Color) {\n return (arguments[0]._r << 16) + (arguments[0]._g << 8) + arguments[0]._b;\n }\n\n let r = 0;\n let g = 0;\n let b = 0;\n let matches;\n let colorString;\n\n if (arguments.length === 1) {\n if (typeof arguments[0] === 'string') {\n colorString = arguments[0];\n\n if ((matches = /^rgb\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})\\)$/i.exec(colorString))) {\n r = parseInt(matches[1], 10);\n g = parseInt(matches[2], 10);\n b = parseInt(matches[3], 10);\n } else if ((matches = /^#([A-f0-9]{2})([A-f0-9]{2})([A-f0-9]{2})$/i.exec(colorString))) {\n r = parseInt(matches[1], 16);\n g = parseInt(matches[2], 16);\n b = parseInt(matches[3], 16);\n } else if ((matches = /^#([A-f0-9])([A-f0-9])([A-f0-9])$/i.exec(colorString))) {\n r = parseInt(matches[1] + matches[1], 16);\n g = parseInt(matches[2] + matches[2], 16);\n b = parseInt(matches[3] + matches[3], 16);\n }\n }\n }\n return (r << 16) + (g << 8) + b;\n};\nColor.blend = function blend(c1, c2, t) {\n c1 = Color.toNumber(c1);\n c2 = Color.toNumber(c2);\n\n const r1 = (c1 & 0xff0000) >> 16;\n const g1 = (c1 & 0x00ff00) >> 8;\n const b1 = c1 & 0x0000ff;\n const r2 = (c2 & 0xff0000) >> 16;\n const g2 = (c2 & 0x00ff00) >> 8;\n const b2 = c2 & 0x0000ff;\n const r = r1 + (r2 - r1) * t;\n const g = g1 + (g2 - g1) * t;\n const b = b1 + (b2 - b1) * t;\n\n return (r << 16) + (g << 8) + b;\n};\nColor.getBlend = function getBlend(c1, c2, t) {\n const r = c1._r + (c2._r - c1._r) * t;\n const g = c1._g + (c2._g - c1._g) * t;\n const b = c1._b + (c2._b - c1._b) * t;\n const a = c1._a + (c2._a - c1._a) * t;\n\n return new Color(r, g, b, a);\n};\nColor.isCSSColor = function (color) {\n if (arguments.length > 1 || typeof color !== 'string') {\n return false;\n }\n return (\n rgb.test(color) ||\n rgba.test(color) ||\n hex.test(color) ||\n hexShort.test(color) ||\n hsl.test(color) ||\n hsla.test(color) ||\n CSSColors[color.toLowerCase()]\n );\n};\n\nColor.getBestContrast = function (color, cl, cd) {\n const lum = color.getLuminance();\n return Math.abs(lum - cl.getLuminance()) > Math.abs(lum - cd.getLuminance()) ? cl : cd;\n};\n\nColor.getContrast = function (color1, color2) {\n if (!color1 || !color2) {\n return undefined;\n }\n\n const l1 = color1.getLuminance() / 100;\n const l2 = color2.getLuminance() / 100;\n\n if (l1 > l2) {\n return (l1 + 0.05) / (l2 + 0.05);\n }\n\n return (l2 + 0.05) / (l1 + 0.05);\n};\n\nColor.isDark = function () {\n const o = {\n getLuminance: Color.prototype.getLuminance,\n isInvalid: Color.prototype.isInvalid,\n };\n Color.prototype.init.apply(o, [].slice.call(arguments));\n return Color.prototype.isDark.call(o);\n};\n\nColor.useDarkLabel = function (areaColor, bgIsDark) {\n return areaColor._a > 0.5 ? !areaColor.isDark() : !bgIsDark;\n};\n\nexport default Color;\n","const namespace = '.scrollHandler';\n\nScrollHandler.prototype.getScrollApi = getScrollApi;\nScrollHandler.prototype.setDisabled = setDisabled;\nScrollHandler.prototype.getDisabled = getDisabled;\nScrollHandler.prototype.setItemSize = setItemSize;\nScrollHandler.prototype.getItemSize = getItemSize;\nScrollHandler.prototype.getScrollViewSizeInItem = getScrollViewSizeInItem;\nScrollHandler.prototype.on = on;\nScrollHandler.prototype.isOn = isOn;\nScrollHandler.prototype.off = off;\nScrollHandler.prototype.updateViewState = updateViewState;\nScrollHandler.prototype.onResize = onResize;\nScrollHandler.prototype.isDataSizeChanged = isDataSizeChanged;\nScrollHandler.prototype.resetScroll = resetScroll;\nScrollHandler.prototype.getViewData = getViewData;\nScrollHandler.prototype.setOptions = setOptions;\nScrollHandler.prototype.getScrollState = getScrollState;\nScrollHandler.prototype.setScrollState = setScrollState;\n\nexport default ScrollHandler;\n\n/**\n * Implementation details\n */\n\nfunction ScrollHandler(chartInstance, $chartElement, getSlicedDataFn, onScrollCallback, legendKey) {\n if (!chartInstance || !$chartElement || !getSlicedDataFn) {\n throw Error('Scroll-handler: Missing input');\n }\n this._chartInstance = chartInstance;\n this._$chartElement = $chartElement;\n this._getSlicedDataFn = getSlicedDataFn;\n this._on = false;\n this._itemSize = 30;\n this.options = {\n direction: 'vertical',\n };\n this._onScrollCallback = onScrollCallback;\n this._legendKey = legendKey;\n}\n\nfunction getScrollApi() {\n if (!this._scrollApi) {\n this._scrollApi = this._chartInstance.scroll('dimension');\n }\n return this._scrollApi;\n}\n\nfunction setDisabled(b) {\n this._disabled = b;\n}\n\nfunction getDisabled() {\n return this._disabled;\n}\n\nfunction setItemSize(s) {\n if (this._itemSize !== s) {\n this._itemSize = s;\n calculateScrollViewSizeInItem.call(this);\n }\n}\n\nfunction getItemSize() {\n return this._itemSize;\n}\n\nfunction getScrollViewSizeInItem() {\n if (!this._scrollViewSizeInItem) {\n calculateScrollViewSizeInItem.call(this);\n }\n return this._scrollViewSizeInItem;\n}\n\nfunction on() {\n if (this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n this._scrollApi.on('update', onScroll.bind(this));\n }\n this._$chartElement.on(`mousewheel${namespace} DOMMouseScroll${namespace}`, onMouseWheel.bind(this));\n // TODO: Picasso does not support pointer events therefore we need to remove preventDefault on pointer down to make it work for IE.\n // However, this will make paning on touch device to pan the object, so we need to prevent it.\n // This fix should be removed when Picasso support pointer events.\n this._$chartElement.on(`touchstart${namespace}`, (event) => {\n event.preventDefault();\n });\n this._on = true;\n}\nfunction isOn() {\n return this._on;\n}\nfunction off() {\n if (!this._on) {\n return;\n }\n if (this.getScrollApi()) {\n this._scrollApi.removeAllListeners();\n }\n this._$chartElement.off(namespace);\n this._on = false;\n}\n\nfunction updateViewState(max) {\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem, max });\n }\n}\n\nfunction onResize() {\n this._sizeChanged = true;\n calculateScrollViewSizeInItem.call(this);\n if (this.getScrollApi()) {\n this._scrollApi.update({ viewSize: this._scrollViewSizeInItem });\n }\n}\n\nfunction isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows) {\n return Math.min(this.getScrollViewSizeInItem(), datasetNumberOfRows) !== pageNumberOfRows;\n}\n\nfunction resetScroll() {\n if (this.getScrollApi()) {\n this._scrollApi.moveTo(0);\n }\n}\n\nfunction getViewData() {\n let top = 0;\n let height = 0;\n if (this.getScrollApi()) {\n const state = this._scrollApi.getState();\n top = Math.round(state.start);\n height = state.viewSize;\n }\n return this._getSlicedDataFn(top, height);\n}\n\nfunction getScrollState() {\n return this.getScrollApi().getState().start;\n}\nfunction setScrollState(state) {\n this.getScrollApi().moveTo(state);\n}\n\nfunction setOptions(options) {\n if (this.options.direction !== options.direction) {\n this._scrollViewSizeInItem = undefined;\n }\n this.options = options;\n}\n\nfunction calculateScrollViewSizeInItem() {\n const scrollSize =\n (this.options.direction === 'horizontal' ? this._$chartElement.width() : this._$chartElement.height()) || 0;\n const n = Math.floor(scrollSize / this.getItemSize());\n this._scrollViewSizeInItem = Math.max(n, 1); // Number of visible items should be at least 1\n}\n\nfunction getMouseWheelData(orgEvent) {\n let delta = 0;\n let deltaX = 0;\n let deltaY = 0;\n const divider = 60;\n\n // Old school scrollwheel delta\n if (orgEvent.wheelDelta) {\n delta = orgEvent.wheelDelta / divider;\n }\n if (orgEvent.detail) {\n delta = -orgEvent.detail / 3;\n }\n\n // New school multidimensional scroll (touchpads) deltas\n deltaY = delta;\n\n // Gecko\n if (orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = -1 * delta;\n }\n\n // Webkit\n if (orgEvent.wheelDeltaY !== undefined) {\n deltaY = orgEvent.wheelDeltaY / divider;\n }\n if (orgEvent.wheelDeltaX !== undefined) {\n deltaX = (-1 * orgEvent.wheelDeltaX) / divider;\n }\n\n return {\n delta,\n deltaX,\n deltaY,\n x: orgEvent.pageX,\n y: orgEvent.pageY,\n };\n}\n\nfunction onLegendMouseWheel(e, event, chart, legendKey) {\n if (!!legendKey && chart.componentsFromPoint(event).some((c) => c.settings.key === legendKey)) {\n const legend = chart.component(legendKey);\n legend.emit(event.delta > 0 ? 'prev' : 'next');\n e.preventDefault();\n return true;\n }\n return false;\n}\n\nfunction onMouseWheel(e) {\n const event = getMouseWheelData(e.originalEvent);\n if (onLegendMouseWheel(e, event, this._chartInstance, this._legendKey) || this._disabled || !this.getScrollApi()) {\n return;\n }\n e.preventDefault();\n if (!event.delta) {\n return;\n }\n const scrollSpeed = 3;\n const value = event.delta < 0 ? scrollSpeed : -scrollSpeed;\n this._scrollApi.move(value);\n}\n\nfunction onScroll() {\n if (this._disabled || this._sizeChanged) {\n this._sizeChanged = false;\n return;\n }\n const self = this;\n this.getViewData()\n .then((layout) => {\n if (self._on && !self._disabled && self._onScrollCallback) {\n // Chart is updated with partial data\n self._onScrollCallback(layout, undefined, true);\n }\n })\n .catch((err) => {\n if (process.env.NODE_ENV === 'development') {\n if (typeof err !== 'undefined') {\n console.error(err);\n }\n }\n });\n}\n","/**\n * Checks whether a collision has occurred for range selection\n * @param e - event, in this case a mouse event\n * @param targets - the target points that the selections are hitting\n * @param selectionGesture - The type of selection gesture, for example area range select\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForRange(e, targets, selectionGesture) {\n return (\n !!e &&\n !!selectionGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => targets.indexOf(c.settings.key) !== -1)[0]\n );\n}\n\n/**\n * Checks whether a collision has occurred for lasso selection\n * @param e - event, in this case a mouse event\n * @param gesturesParams - parameters for lasso selection\n * @param lassoGesture - the lasso gesture instance\n * @returns {boolean} - True, if a collision has occurred, otherwise false\n */\nfunction isOnComponentForLasso(e, gesturesParams, lassoGesture) {\n return (\n e &&\n lassoGesture.chart\n .componentsFromPoint({\n x: e.center.x,\n y: e.center.y,\n })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0]\n );\n}\n\nfunction isOnComponentForNavBtn(e, legendBrushKey, navBtnGesture) {\n const components = navBtnGesture.chart.componentsFromPoint(e.center);\n return components.some((c) => c.settings.key === legendBrushKey);\n}\n\nexport default {\n isOnComponentForRange,\n isOnComponentForLasso,\n isOnComponentForNavBtn,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getLassoState(handlers) {\n return handlers.selectionHandler.lassoState() && !handlers.selectionHandler.allFieldsLocked();\n}\n\n/**\n * Handles lasso events for picasso charts using HammerJS. When activating lasso selection enable function is\n * triggered first. lassoStart is triggered on all areas specified by options.direction key. Lasso is the gesture\n * that will be active by default.\n */\nfunction callLassoGesture(state, gesturesFns, gesturesParams) {\n return {\n type: 'Pan',\n options: {\n direction: Hammer.DIRECTION_ALL,\n threshold: 1,\n enable(manager, e) {\n if (state.lassoing) {\n return gesturesFns.isSelectionEnabled();\n }\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n return (\n gesturesFns.isSelectionEnabled() && e && (getLassoState(gesturesParams.handlers) || state.lassoing) && hitComp\n );\n },\n event: 'lasso',\n },\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n lassostart(e) {\n const hitComp = onComponentChecker.isOnComponentForLasso(e, gesturesParams, this);\n if (!hitComp) {\n return;\n }\n gesturesFns.switchTo('lasso', this.chart, e);\n state.lassoing = true;\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.lassoBrushKey);\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoStart', e);\n },\n lassomove(e) {\n if (!state.lassoing) {\n return;\n }\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoMove', e);\n },\n lassoend(e) {\n if (!state.lassoing) {\n return;\n }\n\n e.clientX = e.pointers[0].clientX;\n e.clientY = e.pointers[0].clientY;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoEnd', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, true);\n state.lassoing = false;\n },\n lassocancel(e) {\n state.lassoing = false;\n gesturesFns.doEmit(this.chart, 'lasso', 'lassoCancel', e);\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.lassoBrushKey, false);\n },\n },\n };\n}\n\nexport default {\n callLassoGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles measure range selection events for picasso charts using HammerJS. When activating measure range selection enable function is\n * triggered first. measurerangestart is triggered on all areas specified by options.direction key. Only after measurerangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called measurerange, then our\n * events must be named measurerangestart, measurerangemove, measurerangeend, measurerangecancel.\n */\nfunction callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'arearange';\n\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL,\n event: 'measurerange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenMea) {\n return false;\n }\n\n if (state.measureSelecting) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.measureSelecting = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.measureSelecting && !!gesturesParams.keys.measureRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n measurerangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'measurerange'\n ? [measureAxis, gesturesParams.keys.componentKey]\n : [measureAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.measureSelecting = true;\n gesturesFns.switchTo('measurerange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.measureRangeBrushKey);\n },\n measurerangemove(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeMove', e);\n },\n measurerangeend(e) {\n if (!state.measureSelecting) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMeasure', 'rangeEnd', e);\n state.measureSelecting = false;\n },\n measurerangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.measureRangeBrushKey, false);\n state.measureSelecting = false;\n },\n },\n };\n}\n\nexport default {\n callMeasureRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\nfunction getAxisOrientation(axis, orientation) {\n let dir;\n if (axis === 'x-axis') {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL;\n } else {\n dir = orientation === 'horizontal' ? Hammer.DIRECTION_HORIZONTAL : Hammer.DIRECTION_VERTICAL;\n }\n return dir;\n}\n\n/**\n * Handles area range selection events for picasso charts using HammerJS. When activating area range selection enable function is\n * triggered first. arearangestart is triggered on all areas specified by options.direction key. Only after arearangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called arearange, then our\n * events must be named arearangestart, arearangemove, arearangeend, arearangecancel.\n */\nfunction callAreaRangeGesture(state, gesturesFns, gesturesParams, axis) {\n const activeRangeBrush = gesturesParams.keys.dimRangeBrushKey ? 'majorrange' : 'measurerange';\n\n return {\n // Area range select gesture\n type: 'Pan',\n options: {\n direction: getAxisOrientation(axis, gesturesParams.isHorizontal),\n event: 'arearange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n\n if (state.minoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.minoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.minoring;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n arearangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'arearange' ? [axis, gesturesParams.keys.componentKey] : [axis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.minoring = true;\n gesturesFns.switchTo('arearange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.areaBrushKey);\n },\n arearangemove(e) {\n if (!state.minoring) {\n return;\n }\n // Behaves likes lasso, which adds all data points as soon as we hit the points, we only want to highlight the values within the range\n this.chart.brush(gesturesParams.keys.areaBrushKey).clear();\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaMove', e);\n },\n arearangeend(e) {\n if (!state.minoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeMinor', 'areaEnd', e);\n state.minoring = false;\n },\n arearangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.areaBrushKey, false);\n state.minoring = false;\n },\n },\n };\n}\n\nexport default {\n callAreaRangeGesture,\n};\n","import Hammer from 'hammerjs';\nimport onComponentChecker from './on-component-checker';\n\n/**\n * Handles dimension range selection events for picasso charts using HammerJS. When activating dimension range selection enable function is\n * triggered first. majorrangestart is triggered on all areas specified by options.direction key. Only after majorrangestart\n * is triggered, then the other events might be triggered as well. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called majorrange, then our\n * events must be named majorrangestart, majorrangemove, majorrangeend, majorrangecancel.\n */\nfunction callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis) {\n const activeRangeBrush = gesturesParams.keys.measureRangeBrushKey ? 'measurerange' : 'arearange';\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'majorrange',\n enable(manager, e) {\n if (!gesturesParams.rangeSelStatus.isOpenDim) {\n return false;\n }\n if (state.majoring) {\n return gesturesFns.isSelectionEnabled();\n }\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n\n state.majoring = gesturesFns.isSelectionEnabled() && !!e && !!hitComp;\n return state.majoring && !!gesturesParams.keys.dimRangeBrushKey;\n },\n },\n requireFailure: `lasso ${activeRangeBrush}`,\n recognizeWith: gesturesParams.handlers.scrollHandler ? 'drag' : null,\n events: {\n majorrangestart(e) {\n const targets =\n gesturesParams.active.gesture === 'majorrange' ? [dimAxis, gesturesParams.keys.componentKey] : [dimAxis];\n const hitComp = onComponentChecker.isOnComponentForRange(e, targets, this);\n if (!hitComp) {\n return;\n }\n\n state.majoring = true;\n gesturesFns.switchTo('majorrange', this.chart, e);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeStart', e);\n gesturesParams.handlers.selectionHandler.pauseEngineCalls(gesturesParams.keys.dimRangeBrushKey);\n },\n majorrangemove(e) {\n if (!state.majoring) {\n return;\n }\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeMove', e);\n },\n majorrangeend(e) {\n if (!state.majoring) {\n return;\n }\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, true);\n gesturesFns.doEmit(this.chart, 'rangeDim', 'rangeEnd', e);\n state.majoring = false;\n },\n majorrangecancel() {\n gesturesParams.handlers.selectionHandler.resumeEngineCalls(gesturesParams.keys.dimRangeBrushKey, false);\n state.majoring = false;\n },\n },\n };\n}\n\nexport default {\n callDimensionRangeGesture,\n};\n","import Hammer from 'hammerjs';\n\n/**\n * Handles dragging for picasso charts using HammerJS. When activating dragging the enable function is\n * triggered first. dragstart is triggered on all areas specified by options.direction key. The different event\n * names must be appended as suffixes for options.event. In this case options.event is called drag, then our\n * events must be named dragstart, dragmove, dragend, dragcancel.\n */\nfunction callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl) {\n let dragPoint = {};\n return {\n type: 'Pan',\n options: {\n direction: gesturesParams.isHorizontal ? Hammer.DIRECTION_VERTICAL : Hammer.DIRECTION_HORIZONTAL,\n event: 'drag',\n enable(manager, e) {\n if (state.dragging) {\n return gesturesFns.isNavigationEnabled();\n }\n\n state.dragging =\n gesturesFns.isNavigationEnabled() &&\n !!e &&\n !!this.chart\n .componentsFromPoint({ x: e.center.x, y: e.center.y })\n .filter((c) => c.settings.key === gesturesParams.keys.componentKey)[0];\n return state.dragging;\n },\n },\n requireFailure: hasSelections ? `lasso ${gesturesFns.getBrushConfig()}` : '',\n events: {\n dragstart(e) {\n dragPoint = { x: e.deltaX, y: e.deltaY };\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY : e.deltaX) / gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n },\n dragmove(e) {\n if (!state.dragging) {\n return;\n }\n let change =\n -(gesturesParams.isHorizontal ? e.deltaY - dragPoint.y : e.deltaX - dragPoint.x) /\n gesturesParams.handlers.scrollHandler.getItemSize();\n if (!gesturesParams.isHorizontal && isRtl) {\n change = -change;\n }\n gesturesParams.handlers.scrollHandler.getScrollApi().move(change);\n dragPoint = { x: e.deltaX, y: e.deltaY };\n },\n dragend() {\n if (!state.dragging) {\n return;\n }\n state.dragging = false;\n },\n dragcancel() {\n state.dragging = false;\n },\n },\n };\n}\n\nexport default {\n callDragGesture,\n};\n","import onComponentChecker from './on-component-checker';\n\n/**\n * Handles navigational button events for picasso charts using HammerJS. When pressing on a navigational button,\n * the enable function is triggered to check if the navigational button should be enabled or not.\n * For example, in edit mode it should be disabled.\n * @param isEnabledFn - Function that returns a boolean. In this case return false if in edit mode, true otherwise\n * @param legendBrushKey - String defining the legend brush key\n * @returns An object for reacting to tap events according to HammerJS API\n */\nfunction callNavBtnGesture(isEnabledFn, legendBrushKey) {\n return {\n type: 'Tap',\n options: {\n event: 'navBtnTap',\n enable(manager, e) {\n if (!e || !isEnabledFn()) {\n return false;\n }\n\n return onComponentChecker.isOnComponentForNavBtn(e, legendBrushKey, this);\n },\n },\n events: {\n navBtnTap(e) {\n // Invokes paging interaction on legend\n this.chart.componentsFromPoint(e.center).forEach((c) => {\n const btn = e.target;\n const attr = btn ? btn.getAttribute('data-action') : '';\n if (attr) {\n return c.emit(attr);\n }\n return undefined;\n });\n },\n },\n };\n}\n\nexport default {\n callNavBtnGesture,\n};\n","import lassoGesture from './gestures/lasso-gesture';\nimport measureRangeGesture from './gestures/measure-range-gesture';\nimport areaRangeGesture from './gestures/area-range-gesture';\nimport dimensionRangeGesture from './gestures/dimension-range-gesture';\nimport dragGesture from './gestures/drag-gesture';\nimport navBtnGesture from './gestures/navigational-button-gesture';\n\n/**\n * Creates Picasso components for interaction component that are dependent on eatchother\n */\n\nfunction DependentInteractions(handlers, orientation, isRtl, keys, rangeSelStatus) {\n const ret = {};\n\n orientation = orientation || 'vertical';\n\n const lassoBrushKey = keys.lassoBrushKey || 'select';\n const dimRangeBrushKey = keys.dimRangeBrushKey || null;\n const measureRangeBrushKey = keys.measureRangeBrushKey || null;\n const areaBrushKey = keys.areaBrushKey || null;\n const legendBrushKey = keys.legendBrushKey || null;\n\n const hasSelections = !!handlers.selectionHandler && handlers.selectionHandler.isOn();\n\n const state = {\n dragging: false,\n lassoing: false,\n majoring: false,\n minoring: false,\n measureSelecting: false,\n };\n\n const active = {\n gesture: '',\n type: '',\n };\n\n const isHorizontal = orientation === 'horizontal';\n\n const dimAxis = isHorizontal ? 'y-axis' : 'x-axis';\n const measureAxis = isHorizontal ? 'x-axis' : 'y-axis';\n\n function switchTo(gesture, chart, e) {\n if (active.gesture === gesture) {\n return;\n }\n let clearKey = lassoBrushKey;\n const activeChart = chart || active.chart;\n\n switch (active.gesture) {\n case 'majorrange':\n doEmit(activeChart, 'rangeDim', 'rangeClear', e);\n clearKey = dimRangeBrushKey;\n break;\n case 'measurerange':\n doEmit(activeChart, 'rangeMeasure', 'rangeClear', e);\n clearKey = measureRangeBrushKey;\n break;\n case 'arearange':\n doEmit(activeChart, 'rangeMinor', 'areaClear', e);\n clearKey = areaBrushKey;\n break;\n default:\n break;\n }\n\n active.gesture = gesture;\n const newType = gesture === 'range' ? 'range' : 'item';\n\n if (active.type && active.type !== newType) {\n activeChart.brush(clearKey).clear();\n }\n\n active.chart = chart;\n active.type = newType;\n }\n\n // Just added here to allow easy disabling of things while developing\n function doEmit(chart, comp, cont, e) {\n if (chart) {\n const inst = chart.component(comp);\n if (inst) {\n inst.emit(cont, e);\n }\n }\n }\n\n function getBrushConfig() {\n if (!dimRangeBrushKey) {\n return 'measurerange arearange';\n }\n if (!measureRangeBrushKey) {\n return 'majorrange arearange';\n }\n return 'majorrange measurerange';\n }\n\n let gestures = [];\n\n const gesturesFns = {\n isSelectionEnabled: () => handlers.selectionHandler && handlers.selectionHandler.isOn(),\n isNavigationEnabled: () => handlers.scrollHandler && handlers.scrollHandler.isOn(),\n doEmit,\n switchTo,\n getBrushConfig,\n };\n\n const gesturesParams = {\n handlers,\n keys,\n isHorizontal,\n active,\n rangeSelStatus,\n };\n\n if (hasSelections) {\n gestures = [\n {\n type: 'Tap',\n options: {\n event: 'rangeClearTap',\n },\n events: {\n rangeClearTap(e) {\n switchTo('none', this.chart, e);\n\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n },\n },\n },\n ];\n\n // Ordering matters here because the tap event, because the above gesture does not return anything\n // and we want don't want to call the navigational button enable function for all tap events\n gestures.unshift(navBtnGesture.callNavBtnGesture(gesturesFns.isNavigationEnabled, legendBrushKey));\n\n gestures.push(lassoGesture.callLassoGesture(state, gesturesFns, gesturesParams));\n\n // Only two of the axis range selection can exist at the same time\n if (!dimRangeBrushKey) {\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n // Register component to selections handler so it is cleared properly\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else if (!measureRangeBrushKey) {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(areaRangeGesture.callAreaRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(areaBrushKey, { id: 'rangeMinor', clear: 'areaClear' });\n } else {\n gestures.push(dimensionRangeGesture.callDimensionRangeGesture(state, gesturesFns, gesturesParams, dimAxis));\n handlers.selectionHandler.addComponent(dimRangeBrushKey, { id: 'rangeDim', clear: 'rangeClear' });\n\n gestures.push(measureRangeGesture.callMeasureRangeGesture(state, gesturesFns, gesturesParams, measureAxis));\n handlers.selectionHandler.addComponent(measureRangeBrushKey, { id: 'rangeMeasure', clear: 'rangeClear' });\n }\n }\n\n if (handlers.scrollHandler) {\n gestures.push(dragGesture.callDragGesture(state, gesturesFns, gesturesParams, hasSelections, isRtl));\n\n // On scroll we need to switch of the major ranging, so that pan will work\n handlers.scrollHandler.getScrollApi().on('update', onScrollUpdate);\n }\n\n function onScrollUpdate() {\n switchTo('none');\n state.majoring = false;\n state.measureSelecting = false;\n state.minoring = false;\n }\n\n ret.gestures = gestures;\n ret.destroy = function () {\n if (handlers.scrollHandler) {\n handlers.scrollHandler.getScrollApi().removeListener('update', onScrollUpdate);\n }\n };\n\n return ret;\n}\n\nexport default {\n create: DependentInteractions,\n};\n","/**\n * Create a new tooltip action context\n *\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The tooltip actions handler instance\n */\nfunction TooltipActions(chartInstance, componentKey, data, context, tooltipKey) {\n let hasOpen = false;\n\n context = context || 'tooltip';\n data = data || ['self'];\n\n const brush = chartInstance.brush(context);\n\n const fn = {};\n\n // Exposed here for test stub purposes\n fn.isOpen = function () {\n return hasOpen;\n };\n\n function closeTooltip() {\n if (hasOpen) {\n const tooltip = chartInstance.component(tooltipKey);\n tooltip.emit('hide');\n }\n hasOpen = false;\n }\n\n function openTooltip(shapes) {\n hasOpen = true;\n const tooltip = chartInstance.component(tooltipKey);\n const e = {};\n const data = { nodes: shapes };\n tooltip.emit('show', e, data);\n }\n\n fn.closeTooltip = closeTooltip;\n\n /**\n * Updates the contents in tooltip. Requires an array of tooltipInfo.labelData and\n * an array of tooltipInfo.measureRows for the tooltip to display content, otherwise\n * it will show nothing. These key value mappings should be sent in from the charts.\n */\n function update() {\n const brushes = brush.brushes();\n\n // Fetches only the shapes that we are hovering over\n const shapes = chartInstance.getAffectedShapes(context, 'and', data, componentKey);\n\n if (brushes.length >= 1) {\n hasOpen = true;\n openTooltip(shapes);\n } else {\n closeTooltip();\n }\n }\n\n function toggleInterceptor(items) {\n // Remove duplicates if we have multiple dimensions to aoivd a toggle\n // ex: set(2006 ) ->2006 is on, followed by set(2006 ) ->2006 is off\n if (data.length > 1) {\n const check = {};\n const ret = [];\n items.forEach((item) => {\n if (!check[item.key]) {\n check[item.key] = {};\n }\n if (!check[item.key][item.value]) {\n check[item.key][item.value] = true;\n ret.push(item);\n }\n });\n return ret;\n }\n return items;\n }\n\n fn.update = update;\n fn.toggleInterceptor = toggleInterceptor;\n return fn;\n}\n\nexport default {\n create(...args) {\n return TooltipActions(...args);\n },\n};\n","export default {\n formatMeasureValue,\n};\n\nfunction formatMeasureValue(field, measureContent) {\n if (field.raw().isCustomFormatted) {\n return field.formatter()(measureContent.value.qText);\n }\n const value = measureContent.value.qNum !== undefined ? measureContent.value.qNum : measureContent.value.qValue;\n return field.formatter()(value);\n}\n","const MAX_VISIBLE_ITEMS = 5;\nconst OTHERS_ELEMNO = -3;\nconst NULL_ELEMNO = -2;\n\n// TODO: The function getAffectedShapes returns duplicate shapes.\n// Remove when this is fixed on picasso\nfunction filterDuplicateShapes(shapes) {\n const uniques = [];\n\n shapes.forEach((shape) => {\n if (uniques.indexOf(shape) === -1 && shape.type !== 'container') {\n uniques.push(shape);\n }\n });\n\n return uniques;\n}\n\nexport const createFilter = (filterShapes) => (shapes) =>\n filterShapes ? filterShapes(shapes) : filterDuplicateShapes(shapes);\n\nexport const createContent =\n (context) =>\n ({ h, data, style }) => {\n const content = extractContent(context, data);\n const renderSettings = {\n h,\n style,\n rtl: context.direction === 'rtl',\n translator: context.translator,\n };\n return context.renderer(renderSettings, content);\n };\n\nfunction extractContent(tooltipInfo, uniqueShapes) {\n const dataset = tooltipInfo.chartInstance.dataset(tooltipInfo.dataPath);\n\n // Create content + header\n const content = [];\n\n const numberInExcess = uniqueShapes.length - MAX_VISIBLE_ITEMS;\n const numItems = Math.min(MAX_VISIBLE_ITEMS, uniqueShapes.length);\n for (let j = 0; j < numItems; j++) {\n const shape = uniqueShapes[j];\n const localContent = {\n rows: [],\n };\n\n if (tooltipInfo.labelData) {\n const labels = [];\n const refPaths = tooltipInfo.labelData;\n let isNullValue = false;\n for (let i = 0; i < refPaths.length; i++) {\n const currentNode = shape.data[refPaths[i]].value;\n if (currentNode.qElemNo === NULL_ELEMNO || currentNode.qElemNumber === NULL_ELEMNO) {\n // The node is null\n isNullValue = true;\n break;\n }\n labels.push(shape.data[refPaths[i]].value.qText);\n }\n\n if (isNullValue) {\n return undefined;\n }\n\n localContent.header = tooltipInfo.headerResolver(labels);\n localContent.rows = tooltipInfo.measureRows\n .map((measureRow) => {\n const rowData = shape.data;\n return tooltipInfo.rowResolver(dataset.field(rowData[measureRow].source.field), rowData[measureRow], rowData);\n })\n .filter((row) => !!row);\n\n const colorByData = getColorByDimData(tooltipInfo, shape);\n if (colorByData) {\n localContent.rows.unshift(colorByData);\n }\n content.push(localContent);\n }\n }\n if (numberInExcess > 0) {\n content.numberInExcess = numberInExcess;\n }\n\n content.rowCount = content[0] ? content.length * content[0].rows.length : 0;\n return content;\n}\n\nfunction getOthersIndex(values) {\n let index = -1;\n for (let i = 0; i < values.length; i++) {\n if (values[i] === OTHERS_ELEMNO) {\n index = i;\n }\n }\n return index;\n}\n\n/**\n * Get the information of how the color by row should look like.\n * The data for color by is fetched directly from the shape and it's key value mapping called\n * colorByDim, which contains the label and the elemNo\n * @param tooltipInfo - an object containing the chart view\n * @param shape - an object representing the shape currently hovered upon\n * @returns {{label: string - legendTitle, value: (*|String) - color by value, template: string - html template}}\n */\nfunction getColorByDimData(tooltipInfo, shape) {\n const colorData = shape.data.color;\n const colorSettings = tooltipInfo.colorService?.getSettings?.();\n\n if (!colorSettings || colorSettings.type === 'color' || !colorData || !colorSettings.fieldType) {\n return undefined;\n }\n\n const ids = [];\n tooltipInfo.data.forEach((mapping) => {\n const elemNoObj = shape.data[mapping];\n if (elemNoObj) {\n ids.push(elemNoObj.value);\n }\n });\n const othersIndex = getOthersIndex(ids);\n\n const { translator } = tooltipInfo;\n const label = colorSettings.label;\n const color = shape.attrs?.fill;\n const value = othersIndex !== -1 ? translator.get('properties.dimensionLimits.others') : colorData.label;\n return { color, label, value };\n}\n","/* eslint no-underscore-dangle: 0 */\nconst TOOLTIP_CONTAINER_ID = 'dist-flow-tooltip';\nconst TOOLTIP_CONTAINER_SELECTOR = `#${TOOLTIP_CONTAINER_ID}`;\n\nfunction appendTooltipContainer() {\n if (!document.querySelector(TOOLTIP_CONTAINER_SELECTOR)) {\n const container = document.createElement('div');\n container.id = TOOLTIP_CONTAINER_ID;\n container.style.overflow = 'hidden';\n container.style.position = 'fixed';\n container.style.pointerEvents = 'none';\n container.style.left = '0px';\n container.style.top = '0px';\n container.style.width = '100%';\n container.style.height = '100%';\n container.style.zIndex = 1020;\n document.body.appendChild(container);\n }\n}\n\nfunction destroyTooltipContainer() {\n const elm = document.querySelector(TOOLTIP_CONTAINER_SELECTOR);\n if (elm && elm.parentElement && elm.childElementCount < 1) {\n elm.parentElement.removeChild(elm);\n }\n}\n\n/**\n * Base tooltip definition\n */\nexport default function tooltip({ key = 'tooltip', rtl, fontFamily, filter, content }) {\n return {\n show: true,\n key,\n type: 'tooltip',\n layout: {\n displayOrder: 3,\n },\n beforeMount() {\n appendTooltipContainer();\n },\n beforeUpdate() {\n appendTooltipContainer();\n },\n destroyed() {\n destroyTooltipContainer();\n },\n settings: {\n appendTo: () => document.querySelector(TOOLTIP_CONTAINER_SELECTOR),\n content,\n filter,\n extract: (context) => context.node,\n direction: rtl ? 'rtl' : 'ltr',\n placement: 'bounds',\n },\n style: {\n arrow: {\n color: '#404040',\n },\n content: {\n display: 'table',\n 'border-spacing': '4px',\n background: 'rgba(64, 64, 64, 0.9)',\n opacity: '1',\n fontSize: '13px',\n fontFamily,\n 'empty-cells': 'show',\n },\n cell: {\n 'max-width': '180px',\n 'word-break': 'break-word',\n 'word-wrap': 'break-word',\n 'overflow-wrap': 'break-word',\n hyphens: 'auto',\n },\n },\n };\n}\n","/** @jsx h */\nimport rtlUtils from '../../extra/rtl-util';\n\nconst { detectTextDirection: getDirection } = rtlUtils;\n\nexport default function render(settings, content) {\n const { h, style, translator, rtl } = settings;\n const result = [];\n const labelTextAlign = rtl ? 'right' : 'left';\n content.forEach((item) => {\n if (item.header) {\n const headerStyle = {\n ...style.cell,\n textAlign: labelTextAlign,\n fontWeight: 'bold',\n direction: getDirection(item.header),\n };\n result.push(\n <tr>\n <td style={headerStyle} colSpan={2}>\n {item.header}\n </td>\n </tr>\n );\n }\n item.rows.forEach((row) => {\n let valueContent = row.value;\n if (row.color) {\n const symbolStyle = {\n display: 'inline-block',\n width: 10,\n height: 10,\n 'background-color': row.color,\n margin: '0 8px',\n };\n const symbol = <div style={symbolStyle} />;\n valueContent = rtl ? [row.value, symbol] : [symbol, row.value];\n }\n const label = rtl ? [':', row.label] : [row.label, ':'];\n const labelStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(row.label) };\n const valueStyle = { ...style.cell, textAlign: rtl ? 'left' : 'right', direction: getDirection(row.value) };\n result.push(\n <tr>\n <td style={labelStyle}>{label}</td>\n <td style={valueStyle}>{valueContent}</td>\n </tr>\n );\n });\n });\n if (content.numberInExcess) {\n const moreText = translator.get('Object.ChartTooltip.NMore', content.numberInExcess);\n const moreStyle = { ...style.cell, textAlign: labelTextAlign, direction: getDirection(moreText) };\n result.push(\n <tr>\n <td style={moreStyle} colSpan={2}>\n {moreText}\n </td>\n </tr>\n );\n }\n return result;\n}\n","import extend from 'extend';\nimport TooltipAction from './tooltip-actions';\nimport formatting from '../formatting';\nimport { createFilter, createContent } from './tooltip-content';\nimport createTooltip from './tooltips-component';\nimport defaultTooltipRenderer from './tooltip-renderer';\n\nconst DEFAULT_OPTIONS = {\n tooltipKey: 'tooltip',\n data: [''],\n contexts: ['tooltip'],\n headerResolver(values) {\n return values.join(', ');\n },\n rowResolver(field, measureContent) {\n return {\n value: formatting.formatMeasureValue(field, measureContent),\n label: field.title(),\n };\n },\n direction: 'ltr',\n renderer: defaultTooltipRenderer,\n};\n\n/**\n * Create a new Tooltips handler\n *\n * @param {Object} model The backend model for the chart\n * @param {Object} chartInstance Picasso chart instance\n * @returns {Object} The selections handler instance\n */\nfunction Tooltips(chartInstance, $element, chartType) {\n if (!chartInstance) {\n throw Error('Tooltips-handler: Missing input');\n }\n\n let tooltipContexts = {};\n let on = false;\n\n // Not need for a function, so turned it into an object\n const fn = {};\n\n /**\n * Setup a tooltips context\n * @param {Object} options Tooltip context options\n * @returns {Object} The selections handler instance\n */\n fn.setUp = function (options) {\n const opts = extend(true, {}, DEFAULT_OPTIONS, options);\n\n if (!opts.componentKey) {\n throw Error('Tooltips-handler.setUp: Missing required input');\n }\n\n if (tooltipContexts[opts.contexts[0]] && on) {\n deRegContext(tooltipContexts[opts.contexts[0]]);\n }\n\n const context = createContext(opts, chartInstance);\n tooltipContexts[opts.contexts[0]] = context;\n\n if (on) {\n registerContext(context);\n }\n\n const component = createTooltip({\n key: opts.tooltipKey,\n rtl: context.direction === 'rtl',\n fontFamily: context.theme.getStyle(chartType, 'tooltip', 'fontFamily'),\n filter: createFilter(context.filterShapes),\n content: createContent(context, opts.dataPath),\n });\n\n const settings = opts.chartBuilder.getSettings();\n settings.components.push(component);\n\n return {\n trigger: {\n on: context.treatAsDesktop ? 'over' : 'tap',\n action: 'set',\n contexts: opts.contexts,\n data: opts.data,\n globalPropagation: 'stop',\n },\n consume: opts.contexts.map((c) => ({ context: c })),\n component,\n };\n };\n\n fn.tearDown = function () {\n if (on) {\n deregister();\n }\n tooltipContexts = [];\n };\n\n function register() {\n Object.keys(tooltipContexts).forEach((key) => {\n registerContext(tooltipContexts[key]);\n });\n }\n\n function registerContext(context) {\n context.listeners.update = function (added, removed) {\n context.action.update(added, removed, context);\n };\n context.listeners.end = function () {\n context.action.closeTooltip();\n };\n\n context.brush.on(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.on('end', context.listeners.end);\n // Intecept the set-values call to avoid a toggle in the second dimension.\n context.brush.intercept('set-values', context.action.toggleInterceptor);\n }\n\n function deregister() {\n Object.keys(tooltipContexts).forEach((key) => {\n deRegContext(tooltipContexts[key]);\n });\n }\n\n function deRegContext(context) {\n context.brush.removeListener(context.treatAsDesktop ? 'update' : 'set-values', context.listeners.update);\n context.brush.removeListener('end', context.listeners.end);\n context.brush.removeInterceptor('set-values', context.action.toggleInterceptor);\n }\n\n function closeTooltip() {\n Object.keys(tooltipContexts).forEach((key) => {\n tooltipContexts[key].action.closeTooltip();\n });\n }\n\n function mouseLeave() {\n closeTooltip();\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (const prop in tooltipContexts) {\n tooltipContexts[prop].brush.clear();\n }\n }\n\n fn.closeTooltip = closeTooltip;\n\n fn.isOn = () => on;\n fn.on = function () {\n if (on) {\n return;\n }\n on = true;\n\n register();\n\n if ($element) {\n $element.on('mouseleave', mouseLeave);\n }\n };\n\n fn.off = function () {\n if (!on) {\n return;\n }\n on = false;\n deregister();\n\n if ($element) {\n $element.off('mouseleave', mouseLeave);\n }\n closeTooltip();\n };\n\n return fn;\n}\n\nexport default {\n create(chartInstance, $element, chartType) {\n return Tooltips(chartInstance, $element, chartType);\n },\n};\n\nfunction createContext(options, chartInstance) {\n return {\n brush: chartInstance.brush(options.contexts[0]),\n action: TooltipAction.create(\n chartInstance,\n options.componentKey,\n options.data,\n options.contexts[0],\n options.tooltipKey\n ),\n listeners: {},\n chartInstance,\n dataPath: options.dataPath,\n renderer: options.renderer,\n data: options.data,\n headerResolver: options.headerResolver,\n rowResolver: options.rowResolver,\n colorService: options.colorService,\n attrDimPath: options.attrDimPath,\n measureRows: options.measureRows,\n labelData: options.labelData,\n filterShapes: options.filterShapes,\n\n direction: options.environment.options.direction,\n theme: options.environment.theme,\n translator: options.environment.translator,\n treatAsDesktop: options.environment.deviceType !== 'touch',\n };\n}\n","/**\n * String validation util.\n *\n */\n\nconst CHARACTER_AVERAGE_WIDTH = 166 / 26;\nconst CHARACTER_MAX_WIDTH = 12;\nconst M_WIDTH = 11;\nconst CJK_AVERAGE_WIDTH = 12;\nconst CJK_OVER_LATIN_WIDTH_RATIO = CJK_AVERAGE_WIDTH / M_WIDTH;\n\nfunction startsWith(string, prefix) {\n return string.indexOf(prefix) === 0;\n}\n\nfunction endsWith(string, suffix) {\n return string.indexOf(suffix, string.length - suffix.length) !== -1;\n}\n\nfunction contains(haystack, needle) {\n if (!haystack) {\n throw new Error('Haystack is undefined.');\n }\n\n if (!needle) {\n throw new Error('Needle is undefined.');\n }\n\n return haystack.indexOf(needle) !== -1;\n}\n\nfunction stringWidthOverMWidth(len) {\n const n = 3; // For short strings with wide letters or numbers\n return (Math.min(len, n) * CHARACTER_MAX_WIDTH + Math.max(len - n, 0) * CHARACTER_AVERAGE_WIDTH) / M_WIDTH;\n}\n\nfunction getCharacterRatios(s) {\n if (!s) {\n return {\n latin: 0,\n cjk: 0,\n };\n }\n let CJK = s.match(/[\\u4E00-\\u9FFF]/g);\n let hiragana = s.match(/[\\u3040-\\u309F]/g);\n let katakana = s.match(/[\\u30A0-\\u30FF]/g);\n CJK = CJK ? CJK.length : 0;\n hiragana = hiragana ? hiragana.length : 0;\n katakana = katakana ? katakana.length : 0;\n const t = CJK + hiragana + katakana;\n return {\n latin: s.length - t,\n cjk: t,\n };\n}\n\nfunction getTotalCharacterRatios(qMatrix, columnIndex) {\n const total = { latin: 0, cjk: 0 };\n if (columnIndex === undefined) {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row.qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n } else {\n qMatrix.forEach((row) => {\n const res = getCharacterRatios(row[columnIndex].qText);\n total.latin += res.latin;\n total.cjk += res.cjk;\n });\n }\n const t = Math.max(1, total.latin + total.cjk);\n total.latinRatio = total.latin / t;\n total.cjkRatio = total.cjk / t;\n return total;\n}\n\nfunction getAdjustedMaxGlyphCount(maxGlyphCount, qMatrix, columnIndex) {\n const totalCharacterRatios = getTotalCharacterRatios(qMatrix, columnIndex);\n const latinGlyphCount = totalCharacterRatios.latinRatio * maxGlyphCount;\n const cjkGlyphCount = totalCharacterRatios.cjkRatio * maxGlyphCount;\n const adjustedMaxGlyphCount = Math.ceil(\n stringWidthOverMWidth(latinGlyphCount) + cjkGlyphCount * CJK_OVER_LATIN_WIDTH_RATIO\n );\n return adjustedMaxGlyphCount;\n}\n\n// TODO: Need to improve to make sure longer strings should have bigger width than shorter strings\nfunction estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth) {\n const latinWidth = numLatins <= 24 ? maxLatinWidth : averageLatinWidth;\n return numLatins * latinWidth;\n}\n\nfunction estimateLabelWidth(numCjks, numLatins, cjkWidth, maxLatinWidth, averageLatinWidth) {\n return numCjks * cjkWidth + estimateLatinLabelWidth(numLatins, maxLatinWidth, averageLatinWidth);\n}\n\nexport default {\n endsWith,\n startsWith,\n contains,\n stringWidthOverMWidth,\n getCharacterRatios,\n getTotalCharacterRatios,\n getAdjustedMaxGlyphCount,\n estimateLatinLabelWidth,\n estimateLabelWidth,\n};\n","import waterfallUtils from './waterfallchart-utils';\n// import NumberFormatter from '../../../assets/objects/utils/number-formatter';\n\n/**\n * Implementation details\n */\n\n// This will generate a hypercube from n measures\n\nfunction getGeneratedDimensionPath(dimIndex) {\n return `qDimensionInfo/${dimIndex}`;\n}\n\nfunction getGeneratedMeasurePath(mesIndex) {\n return `qMeasureInfo/${mesIndex}`;\n}\n\nfunction getMeasureFormat(layout) {\n return layout.qHyperCube.qMeasureInfo[0].qNumFormat;\n}\n\nfunction generateHyperCube(layout, theme) {\n const qMeasureInfo = layout.qHyperCube.qMeasureInfo;\n const qMatrix = layout.qHyperCube.qDataPages[0].qMatrix;\n const numMeasures = qMeasureInfo.length;\n if (!numMeasures) {\n return;\n }\n\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n // const _numberFormatter = new NumberFormatter(); // TODO: number formatter from picasso-plugin-q ??\n const _numberFormatter = { prepare: () => {}, formatValue: (x) => `${x}` };\n _numberFormatter.prepare('#.#A'); // Used by client generated subtotals when format by Measure expression selected.\n\n const generatedMatrix = [];\n let start = 0;\n let end = 0;\n let startMax = -Number.MAX_VALUE;\n let startMin = Number.MAX_VALUE;\n let endMax = -Number.MAX_VALUE;\n let endMin = Number.MAX_VALUE;\n let numItems = 0;\n let color;\n let qNum;\n for (let i = 0; i < numMeasures; i++) {\n qNum = Number.isNaN(+qMatrix[0][i].qNum) ? 0 : qMatrix[0][i].qNum;\n if (qMeasureInfo[i].valueType !== waterfallUtils.valueTypes.SUBTOTAL) {\n start = end;\n end += qNum * (qMeasureInfo[i].valueType === waterfallUtils.valueTypes.INVERSE ? -1 : 1);\n color = start < end ? positveColor : negativeColor;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: color },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n if (qMeasureInfo[i].subtotal && qMeasureInfo[i].subtotal.enable) {\n generatedMatrix.push([\n { qText: qMeasureInfo[i].subtotal.label || '', qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: 0 },\n { qNum: end },\n { qNum: end, qText: _numberFormatter.formatValue(end) },\n ]);\n }\n } else {\n start = 0;\n end = qNum;\n generatedMatrix.push([\n { qText: qMeasureInfo[i].qFallbackTitle, qElemNumber: numItems++ },\n { qText: subtotalColor },\n { qNum: start },\n { qNum: end },\n { qNum: end - start, qText: qMatrix[0][i].qText },\n ]);\n }\n startMax = Math.max(startMax, start);\n startMin = Math.min(startMin, start);\n endMax = Math.max(endMax, end);\n endMin = Math.min(endMin, end);\n }\n const numFormat = getMeasureFormat(layout);\n const isAutoFormat = layout.qHyperCube.qMeasureInfo[0].qIsAutoFormat;\n const isCustomFormatted = layout.qDef.isCustomFormatted;\n const generated = {\n qHyperCube: {\n qMode: 'S',\n qDataPages: [\n {\n qArea: {\n qTop: 0,\n qLeft: 0,\n qWidth: 5,\n qHeight: generatedMatrix.length,\n },\n qMatrix: generatedMatrix,\n },\n ],\n qDimensionInfo: [\n {\n qStateCounts: {},\n },\n {\n qStateCounts: {},\n },\n ],\n qMeasureInfo: [\n {\n qMin: startMin,\n qMax: startMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n {\n qMin: endMin,\n qMax: endMax,\n qNumFormat: numFormat,\n qIsAutoFormat: isAutoFormat,\n isCustomFormatted,\n },\n ],\n },\n };\n layout.generatedMatrix = generatedMatrix;\n layout.generated = generated;\n}\n\nfunction generateSlicedHyperCube(layout, top, height) {\n layout.generated.qHyperCube.qDataPages = [\n {\n qArea: {\n qTop: top,\n qLeft: 0,\n qWidth: 5,\n qHeight: height,\n },\n qMatrix: layout.generatedMatrix.slice(top, top + height),\n },\n ];\n}\n\nexport default {\n generateHyperCube,\n generateSlicedHyperCube,\n getGeneratedDimensionPath,\n getGeneratedMeasurePath,\n};\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import { scaleLinear } from 'd3-scale';\n\nconst SENSE_PICASSO_SPACING_COEFFICIENT = 100;\n\nconst tickGenerator = {\n getMinorTicks({ majorTicks, minorTickCount }) {\n const minor = [];\n for (let i = 0; i < majorTicks.length - 1; i++) {\n const start = majorTicks[i];\n const end = majorTicks[i + 1];\n const step = (end - start) / (minorTickCount + 1);\n\n for (let c = 1; c <= minorTickCount; c++) {\n minor.push(start + step * c);\n }\n }\n\n return minor;\n },\n\n // Adjust ticks: a) add minor ticks at two ends, if neccessary,\n // b) add set min and/or set max\n // For simplicity, only consider minorTickCount == 1\n adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max }) {\n // a) add minor ticks at two ends, if neccessary,\n const d = minorTicks[0] - majorTicks[0];\n const deltaMin = majorTicks[0] - min;\n if (deltaMin > d) ticks.unshift({ value: majorTicks[0] - d, isMinor: true });\n const deltaMax = max - majorTicks[majorTicks.length - 1];\n if (deltaMax > d) ticks.push({ value: majorTicks[majorTicks.length - 1] + d, isMinor: true });\n if (autoMinMax) return ticks;\n\n // b) add set min and/or set max\n if ((minMax === 'min' || minMax === 'minMax') && deltaMin > 0) {\n ticks.unshift({ value: min, isMinor: false });\n }\n if ((minMax === 'max' || minMax === 'minMax') && deltaMax > 0) {\n ticks.push({ value: max, isMinor: false });\n }\n return ticks;\n },\n\n getTicks({ layout, height }) {\n const { autoMinMax, minMax, spacing } = layout.measureAxis;\n let min = Math.min(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMin));\n let max = Math.max(...layout.generated.qHyperCube.qMeasureInfo.map((measure) => measure.qMax));\n if (!autoMinMax) {\n switch (minMax) {\n case 'min':\n min = layout.measureAxis.min;\n break;\n case 'max':\n max = layout.measureAxis.max;\n break;\n case 'minMax':\n ({ min, max } = layout.measureAxis);\n break;\n default:\n break;\n }\n }\n const distance = SENSE_PICASSO_SPACING_COEFFICIENT * spacing;\n const count = Math.max(1, Math.round(height / distance));\n\n const scale = scaleLinear().domain([min, max]);\n const majorTicks = scale.ticks(count);\n const minorTicks = tickGenerator.getMinorTicks({ majorTicks, minorTickCount: 1 });\n\n // Generate an array of tick objects following the format defined by picasso\n const ticks = [\n ...majorTicks.map((value) => ({ value, isMinor: false })),\n ...minorTicks.map((value) => ({ value, isMinor: true })),\n ].sort((a, b) => a.value - b.value);\n return tickGenerator.adjustTicks({ ticks, majorTicks, minorTicks, autoMinMax, minMax, min, max });\n },\n};\n\nexport default tickGenerator;\n","import ChartView from '@qlik/common/picasso/chart-view';\nimport ChartBuilder from '@qlik/common/picasso/chart-builder/chart-builder';\nimport Color from '@qlik/common/extra/color';\nimport ScrollHandler from '@qlik/common/picasso/scroll/scroll-handler';\nimport DependentInteractions from '@qlik/common/picasso/selections/dependent-interactions';\nimport TooltipHandler from '@qlik/common/picasso/tooltip/tooltips-handler';\nimport formatting from '@qlik/common/picasso/formatting';\nimport stringUtil from '@qlik/common/extra/string-util';\nimport { getAxisLabelStyle, getLegendLabelStyle, getValueLabelStyle } from '@qlik/common/extra/chart-style-component';\nimport { themeService as createThemeService } from 'qlik-chart-modules';\nimport CubeGenerator from './waterfallchart-cube-generator-by-measures';\nimport waterfallUtils from './waterfallchart-utils';\nimport tickGenerator from './waterfallchart-tick-generator';\n\nconst chartID = waterfallUtils.chartID;\nconst MAX_GLYPH_COUNT = 20;\nconst BAR_WIDTH_RATIO = 0.7;\n\n//\n// Implementation details\n//\n\nfunction init({ picasso, environment, $element, flags }) {\n const backendApi = null;\n const selectionsApi = null;\n this._super(picasso, $element, environment, backendApi, selectionsApi);\n this._tooltipHandler = TooltipHandler.create(this.chartInstance, $element, chartID);\n this._scrollHandler = new ScrollHandler(\n this.chartInstance,\n $element,\n this.getSlicedData.bind(this),\n this.updateChart.bind(this)\n );\n this._scrollHandler.setOptions({ direction: 'horizontal' });\n this.setDataPaths(['generated/qHyperCube']);\n this.flags = flags;\n}\n\nfunction getSlicedData(top, height) {\n CubeGenerator.generateSlicedHyperCube(this.layout, top, height);\n return Promise.resolve(this.layout);\n}\n\nfunction setSnapshotData(snapshotLayout) {\n this._super(snapshotLayout);\n snapshotLayout.generated = this.layout.generated; // eslint-disable-line no-param-reassign\n snapshotLayout.generatedMatrix = this.layout.generatedMatrix; // eslint-disable-line no-param-reassign\n}\nfunction getViewState() {\n return {\n scroll: this._scrollHandler.getScrollState(),\n };\n}\n\nfunction updateScrollHandlerState(b) {\n this._scrollHandler.setDisabled(!!b);\n}\n\nfunction updateConstraints(constraints) {\n const navigation = !constraints.active;\n const tooltip = !constraints.passive;\n\n this._scrollHandler[navigation ? 'on' : 'off']();\n this._tooltipHandler[tooltip ? 'on' : 'off']();\n}\nfunction off() {\n this._scrollHandler.off();\n this._tooltipHandler.off();\n}\n\nfunction getMaxGlyphCountForDimAxis(layout) {\n let glyphCount = -Number.MAX_VALUE;\n layout.qHyperCube.qMeasureInfo.forEach((measureInfo) => {\n glyphCount = Math.max(glyphCount, measureInfo.qFallbackTitle.length);\n if (\n measureInfo.valueType !== waterfallUtils.valueTypes.SUBTOTAL &&\n measureInfo.subtotal &&\n measureInfo.subtotal.enable\n ) {\n glyphCount = Math.max(glyphCount, measureInfo.subtotal.label ? measureInfo.subtotal.label.length : 0);\n }\n });\n return Math.min(MAX_GLYPH_COUNT, Math.max(0, glyphCount));\n}\n\nfunction getDimAxisSettings(layout) {\n return {\n settings: {\n labels: {\n mode: layout.dimensionAxis.label,\n maxGlyphCount: Math.ceil(stringUtil.stringWidthOverMWidth(getMaxGlyphCountForDimAxis(layout))), // To mitigate SUI-1445\n maxLengthPx: this.picassoElement.getBoundingClientRect().height / 4, // Picasso version 0.5.3 does not support function here\n },\n },\n };\n}\n\nfunction getBarSettings(tooltipSettings, layout) {\n const brushTrigger = tooltipSettings ? [tooltipSettings.box.trigger] : [];\n const brushConsume = tooltipSettings ? tooltipSettings.box.consume : [];\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n start: { field: CubeGenerator.getGeneratedMeasurePath(0) },\n end: { field: CubeGenerator.getGeneratedMeasurePath(1) },\n measure: {\n field: CubeGenerator.getGeneratedMeasurePath(2),\n reduce: 'first',\n value(v) {\n return v;\n },\n },\n boxColor: {\n field: CubeGenerator.getGeneratedDimensionPath(1),\n value(v) {\n return v.qText;\n },\n },\n isCustomFormatted: !!layout.qDef.isCustomFormatted,\n tooltip: {\n value(v) {\n return v;\n },\n },\n },\n },\n },\n settings: {\n major: { scale: 'dimension' },\n minor: { scale: 'measure' },\n orientation: '', // There is a bug in Picasso where it uses height instead of width when the orientation is vertical.\n box: {\n width: BAR_WIDTH_RATIO,\n maxWidthPx: 4000,\n fill(d) {\n return d.datum.boxColor.value;\n },\n strokeWidth: 0,\n },\n },\n brush: {\n trigger: brushTrigger,\n consume: brushConsume,\n },\n };\n}\n\nfunction getLabel(context) {\n const measure = context.data.measure;\n const field = context.dataset(measure.source.key).field(measure.source.field);\n return formatting.formatMeasureValue(field, measure);\n}\n\nfunction getBarLabelSettings(themeService, layout) {\n const styles = themeService.getStyles();\n const valueLabelSettings = getValueLabelStyle(chartID, styles, layout);\n const outsideValueColor = valueLabelSettings?.fill || styles.label.value.color;\n const darkColor = styles.label.value.darkColor;\n const lightColor = styles.label.value.lightColor;\n const getContrastColor = () => (ctx) => (Color.isDark(ctx.node.attrs.fill) ? lightColor : darkColor);\n return {\n settings: {\n sources: [\n {\n strategy: {\n settings: {\n ...valueLabelSettings,\n direction(context) {\n return context.data && context.data.end.value > context.data.start.value ? 'up' : 'down';\n },\n labels: [\n {\n placements: [\n { fill: outsideValueColor },\n {\n fill: valueLabelSettings?.fill ? outsideValueColor : getContrastColor(),\n },\n {\n position: 'opposite',\n fill: outsideValueColor,\n justify: 0,\n },\n ],\n label: getLabel,\n },\n ],\n },\n },\n },\n ],\n },\n };\n}\n\nfunction getPicassoScrollSettings(layout, viewSize) {\n return {\n viewSize,\n max: layout.generatedMatrix.length,\n };\n}\n\nfunction getBridgeSettings(isRtl, theme) {\n const bridgeColor = theme.getStyle(chartID, 'shape.bridge', 'stroke');\n return {\n data: {\n extract: {\n key: 'qHyperCube',\n field: CubeGenerator.getGeneratedDimensionPath(0),\n props: {\n x: {},\n y: {\n field: CubeGenerator.getGeneratedMeasurePath(1),\n },\n },\n },\n },\n settings: {\n x: {\n scale: 'dimension',\n ref: 'x',\n fn(d) {\n return isRtl ? d.scale(d.datum.value) : d.scale(d.datum.value) + d.scale.bandwidth(); // place the point between two bars\n },\n },\n y: { scale: 'measure' },\n sizeLimits: {\n maxPx: 20000,\n maxRelExtent: 10000,\n minRelDiscrete: 0,\n maxRelDiscrete: 1,\n },\n shape: 'line',\n stroke: bridgeColor,\n size: 1 - BAR_WIDTH_RATIO,\n strokeDasharray: '4 4',\n fill: 'none',\n strokeWidth(d, i) {\n return i === d.data.items.length - 1 ? 0 : 2;\n },\n },\n };\n}\n\nfunction getLegendSettings(environment, layout, flags) {\n const { theme, translator } = environment;\n const positveColor = waterfallUtils.getColorForPositiveValue(layout, theme);\n const negativeColor = waterfallUtils.getColorForNegativeValue(layout, theme);\n const subtotalColor = waterfallUtils.getColorForSubtotal(layout, theme);\n const positiveText = translator.get('waterfall.legend.positiveValue.label');\n const negativeText = translator.get('waterfall.legend.negativeValue.label');\n const subtotalText = translator.get('waterfall.legend.subtotal.label');\n const labelStyleSettings = getLegendLabelStyle(chartID, theme, layout, flags);\n\n return {\n displayOrder: 200,\n minimumLayoutMode: 'MEDIUM',\n prioOrder: 0,\n scale: {\n type: 'categorical-color',\n data: [positiveText, negativeText, subtotalText],\n range: [positveColor, negativeColor, subtotalColor],\n },\n style: {\n item: {\n label: {\n fontSize: labelStyleSettings.fontSize,\n fontFamily: labelStyleSettings.fontFamily,\n fill: labelStyleSettings.color,\n },\n },\n title: {\n show: false,\n },\n },\n };\n}\n\nfunction createChartSettings(layout) {\n // Create components\n const isRtl = this.isRtl();\n const { theme } = this.environment;\n const isSnapshot = !!layout.snapshotData;\n const chartBuilder = ChartBuilder.create({\n chartID,\n theme,\n isRtl,\n flags: this.flags,\n });\n const width = this.picassoElement.clientWidth;\n const height = this.picassoElement.clientHeight;\n const tooltipSettings = {};\n tooltipSettings.box = this._tooltipHandler.setUp({\n chartBuilder,\n environment: this.environment,\n data: [''],\n contexts: ['boxTip'],\n componentKey: 'box-marker',\n headerResolver() {\n return undefined; // Waterfall does not have dimension\n },\n rowResolver(field, measureContent, shapeData) {\n const color = shapeData.boxColor.value;\n const value = formatting.formatMeasureValue(field, measureContent);\n return {\n value,\n label: shapeData.tooltip.value.qText,\n color,\n };\n },\n labelData: ['tooltip'], // Should be a mapped path under extract, mandatory to display tooltip\n measureRows: ['measure'], // Should be a mapped path under extract, mandatory to display tooltip\n });\n\n const handlers = {\n scrollHandler: this._scrollHandler,\n selectionHandler: null,\n };\n\n const keys = {\n componentKey: 'box-marker',\n };\n\n if (this._dependentActions) {\n this._dependentActions.destroy();\n }\n this._dependentActions = DependentInteractions.create(handlers, 'vertical', isRtl, keys);\n\n chartBuilder.addPreset('dimension-measure-chart', {\n // common\n isRtl,\n orientation: 'vertical',\n theme,\n\n // grid lines\n gridlines: layout.gridlines,\n\n // dimension axis and title\n includeDimensionAxis: true,\n dimensionAxisProperties: layout.dimensionAxis,\n dimensionAxisSettings: getDimAxisSettings.call(this, layout),\n dimensionSource: CubeGenerator.getGeneratedDimensionPath(0),\n dimensionScaleSettings: {\n component: {\n maxPxStep() {\n return height / 4;\n },\n },\n },\n\n // measure axis and title\n includeMeasureAxis: true,\n measureAxisProperties: layout.measureAxis,\n // measureTitleText: \"\",\n measureSource: [CubeGenerator.getGeneratedMeasurePath(0), CubeGenerator.getGeneratedMeasurePath(1)],\n measureScaleSettings: {\n component: {\n expand: 0,\n include: [0], // Make sure that the measure axis starts from 0.\n ticks: {\n values: () => tickGenerator.getTicks({ layout, height }),\n },\n },\n },\n\n // scroll\n hasNavigation: !isSnapshot,\n isNavigationEnabledFn: () => this._scrollHandler.isOn(),\n scrollSettings: getPicassoScrollSettings(layout, this._scrollHandler.getScrollViewSizeInItem()),\n\n // ref-lines\n refLines: layout.refLine && layout.refLine.refLines,\n\n brushActions: this._dependentActions.gestures,\n axisLabelStyle: getAxisLabelStyle(chartID, theme, layout),\n });\n\n chartBuilder.addComponent('box-marker', getBarSettings(tooltipSettings, layout));\n chartBuilder.addComponent('point-marker', getBridgeSettings(isRtl, theme));\n\n if (!layout.legend || layout.legend.show) {\n chartBuilder.addComponent('categorical-legend', getLegendSettings(this.environment, layout, this.flags), {\n dock: layout.legend ? layout.legend.dock : 'auto',\n isRtl,\n chartWidth: width,\n chartHeight: height,\n });\n }\n\n const themeService = createThemeService({\n theme,\n config: {\n id: 'waterfallChart',\n },\n });\n if (layout.dataPoint.showLabels) {\n chartBuilder.addComponent('labels', getBarLabelSettings(themeService, layout));\n }\n\n // Add snapshot settings\n const settings = chartBuilder.getSettings();\n this.addSnapshotChartSettings(settings, layout);\n\n return settings;\n}\n\nfunction updateData(layout) {\n const { theme, options } = this.environment;\n const self = this;\n\n return this._super(layout).then(() => {\n if (self._destroyed) {\n return Promise.reject();\n }\n\n let top;\n let height;\n\n const isSnapshot = !!layout.snapshotData;\n if (isSnapshot) {\n const area = self.layout.generated.qHyperCube.qDataPages[0].qArea; // To fix SUI-4307\n top = area.qTop;\n height = area.qHeight;\n CubeGenerator.generateHyperCube(self.layout, theme);\n } else {\n CubeGenerator.generateHyperCube(self.layout, theme);\n updateScrollHandlerState.call(self, true); // No need to run it in snapshot mode\n const { viewState } = options;\n if (viewState) {\n self._scrollHandler.updateViewState(self.layout.generatedMatrix.length);\n self._scrollHandler.setScrollState(viewState.scroll);\n top = viewState.scroll;\n } else {\n self._scrollHandler.resetScroll();\n top = 0;\n }\n height = self._scrollHandler.getScrollViewSizeInItem();\n }\n CubeGenerator.generateSlicedHyperCube(self.layout, top, height);\n return undefined;\n });\n}\n\nfunction updateOnScrollViewChanged(chart) {\n chart._scrollHandler.onResize();\n}\n\nfunction resize() {\n updateOnScrollViewChanged(this);\n this._super();\n}\n\nfunction paint() {\n const isSnapshot = !!this.layout.snapshotData;\n if (!isSnapshot && !this.environment.options.viewState) {\n updateScrollHandlerState.call(this, false);\n }\n this._tooltipHandler.closeTooltip();\n\n const pageNumberOfRows = this.layout.generated.qHyperCube.qDataPages[0].qMatrix.length;\n const datasetNumberOfRows = this.layout.generatedMatrix.length;\n if (!isSnapshot && this._scrollHandler.isDataSizeChanged(pageNumberOfRows, datasetNumberOfRows)) {\n const _super = this._super;\n const self = this;\n return this._scrollHandler.getViewData().finally(() => _super.call(self));\n }\n return this._super();\n}\n\nconst waterfallChartView = ChartView.extend('WaterfallChart', {\n namespace: '.waterfallchart',\n chartID,\n init,\n updateConstraints,\n off,\n createChartSettings,\n updateData,\n resize,\n paint,\n getSlicedData,\n setSnapshotData,\n getViewState,\n});\n\nexport default waterfallChartView;\n","import {\n useConstraints,\n useEffect,\n useElement,\n useMemo,\n usePromise,\n useState,\n useStaleLayout,\n} from '@nebula.js/stardust';\nimport $ from 'jquery';\nimport locale from '@qlik/common/locale';\nimport picassoSetup from '@qlik/common/picasso/picasso-setup';\nimport useResize from '@qlik/common/nebula/resize';\nimport useEnvironment from '@qlik/common/nebula/use-environment';\nimport setupSnapshot from '@qlik/common/nebula/snapshot';\n\nimport qae from './waterfallchart-qae';\nimport ext from './ext';\nimport ChartView from './waterfallchart-view';\n\nfunction usePromiseNoError(...args) {\n const [, error] = usePromise(...args);\n if (error) {\n throw error;\n }\n}\n\nexport default function supernova(env) {\n locale(env.translator);\n\n return {\n qae: qae(env),\n ext: ext(env),\n component() {\n const element = useElement();\n const environment = useEnvironment();\n const renderer = environment.options.renderer;\n const picasso = useMemo(() => picassoSetup(renderer), [renderer]);\n const layout = useStaleLayout();\n const constraints = useConstraints();\n\n const [instance, setInstance] = useState();\n\n useEffect(() => {\n const $element = $(element);\n const view = new ChartView({ picasso, environment, $element, flags: env.flags });\n\n setInstance(view);\n\n return () => {\n view.destroy();\n };\n }, []);\n\n usePromiseNoError(async () => {\n if (!instance) {\n return;\n }\n instance.updateEnvironment(environment);\n instance.updateConstraints(constraints);\n\n await instance.updateData(layout);\n await instance.paint();\n }, [layout, instance, environment]);\n\n useResize(instance);\n setupSnapshot(instance);\n },\n };\n}\n","import all from './all.json';\n\nexport default function autoRegister(translator) {\n if (translator && translator.get && translator.add) {\n const t = 'Object.Disclaimer.LimitedData';\n const g = translator.get(t);\n // if translated string is different from its id\n // assume translations already exists for current locale\n if (g !== t) {\n return;\n }\n\n Object.keys(all).forEach((key) => {\n translator.add(all[key]);\n });\n }\n}\n","import { useApp, useAppLayout, useTranslator, useOptions, useMemo, useTheme, useDeviceType } from '@nebula.js/stardust';\n\nexport default function useEnvironment() {\n const app = useApp();\n const appLayout = useAppLayout();\n const deviceType = useDeviceType();\n const options = useOptions();\n const theme = useTheme();\n const translator = useTranslator();\n\n const environment = useMemo(\n () => ({\n app,\n appLayout,\n deviceType,\n options,\n theme,\n translator,\n }),\n [app, appLayout, options.direction, options.freeResize, translator.language(), theme.name(), deviceType]\n );\n\n return environment;\n}\n","import picassojs from 'picasso.js';\nimport PicassoQ from 'picasso-plugin-q';\nimport PicassoHammer from 'picasso-plugin-hammer';\nimport Hammer from 'hammerjs';\nimport eventArea from './plugins/event-area';\nimport disclaimer from './disclaimer/disclaimer-component.jsx';\n\nexport default function setup(renderer) {\n const picasso = picassojs();\n // default to use canvas renderer\n picasso.renderer.prio([renderer || 'canvas']);\n\n // TODO: investigate picasso warnings\n // if (DebugFlags.DEVELOPER) {\n // picasso.logger.level(picassojs.logger.LOG_LEVEL.WARN);\n // }\n\n picasso.use(PicassoQ);\n picasso.use(PicassoHammer(Hammer));\n picasso.use(eventArea);\n picasso.component('disclaimer', disclaimer);\n return picasso;\n}\n","import { useConstraints, useOptions, usePromise, useRect } from '@nebula.js/stardust';\n\nexport default function useResize(chartInstance) {\n const rect = useRect();\n const options = useOptions();\n const constraints = useConstraints();\n\n const [, error] = usePromise(async () => {\n if (!chartInstance) {\n return;\n }\n chartInstance.updateConstraints(constraints);\n chartInstance.options = options;\n await chartInstance.resize();\n }, [rect.width, rect.height]);\n\n if (error) {\n throw error;\n }\n}\n"],"names":["init","Picasso","component","mounted","element","classList","add","style","pointerEvents","zIndex","render","disclaimer","renderer","disableTriggers","preferredSize","h","settings","label","rtl","layout","dock","this","dir","rect","display","justifyContent","alignItems","color","fontStyle","fontSize","width","height","transform","transformOrigin","textAlign","getStyle","modifiedLabel","spanStyle","overflow","whiteSpace","textOverflow","ref","alignToRef","title","properties","version","qHyperCubeDef","qDimensions","qMeasures","qMode","qInitialDataFetch","qWidth","qHeight","qSuppressMissing","auto","positiveValue","paletteColor","index","negativeValue","subtotal","dataPoint","showLabels","dimensionAxis","show","gridlines","spacing","legend","measureAxis","autoMinMax","max","min","minMax","qDef","qNumFormat","numFormatFromTemplate","isCustomFormatted","refLine","refLines","showTitles","subtitle","footnote","data","env","translator","path","dimensions","measures","description","get","self","exports","e","r","Object","prototype","hasOwnProperty","n","toString","t","defineProperty","i","getOwnPropertyDescriptor","o","Array","isArray","call","a","constructor","s","name","enumerable","configurable","value","newValue","writable","u","l","c","p","arguments","f","m","length","d","__esModule","default","Symbol","toStringTag","Fe","split","Number","isNaN","updated","previous","EXPRESSIONS","observed","trend","seasonal","residual","OPTIONS","translation","concat","qLibraryId","qInfo","qId","dimensionList","qData","info","qTags","indexOf","trim","charAt","substring","qName","qDerivedFieldData","qDerivedFieldLists","qFieldDefs","fieldList","fullAccumulation","fullRange","crossAllDimensions","replace","y","q","b","v","D","modifier","dimensionAndFieldList","funcComp","valueComp","showExcludedValues","g","x","isFullRange","getNumDimensions","getExpressionWithExcludedComp","expression","treatMissingAsNull","getRowNoComp","getNumStepComp","steps","getAboveCompPrefix","getAboveCompSuffix","getAboveComp","getFunctionPrefix","getFunctionSuffix","getRangeComp","getAggrComp","getExcludedComp","needDimension","primaryDimension","accumulationDimension","getDimComp","qSortCriterias","qSortByExpression","qSortByNumeric","qSortByAscii","simplifyExpression","extractInputExpression","outputExpression","initModifier","keys","forEach","isNumeric","isApplicable","minDimensions","maxDimensions","getExpressionWithMarkers","canExtract","getDimDefWithWrapper","getFieldWithWrapper","generateTSDExpression","base","decomposition","find","qLabel","startsWith","substr","getDecomposition","values","toLowerCase","includes","A","E","iterator","C","bind","I","S","M","L","O","F","slice","P","generate","val","push","op","splice","from","apply","test","TypeError","Error","clone","createPatch","updateObject","V","N","Promise","resolve","map","qOp","qValue","JSON","stringify","qPath","applyPatches","w","H","type","T","j","disabled","R","translationKey","generateExpression","numDimensions","enableTotalsFunction","propertyPanelDef","items","refFn","primaryDimensionTooltip","schemaIgnore","defaultValue","options","qHyperCube","qDimensionInfo","qGroupFallbackTitles","crossAllDimensionsTooltip","range","rangeFull","rangeCustom","rangeSteps","change","Math","abs","ext","support","modifiers","_","B","k","W","nullSuppression","$","showNull","inverted","U","G","z","Y","J","timeSeriesDecomposition","modifierTrendDecompositionDecomposition","trendDecompositionParametersDecompositionObserved","modifierTimeSeriesDecompositionPeriods","K","X","Q","Z","ee","re","ne","te","ie","oe","dimensionalScope","selectionScope","ae","se","ue","le","ce","join","field","updateModifier","modifierSelectionScope","modifierSelectionScopeTooltip","selectionScopeCurrentSelection","selectionScopeSpecificValue","selectionScopeTotal","dropdownOnly","app","getFieldList","then","modifierDimensionalScope","modifierDimensionalScopeTooltip","supportTooltip","dimensionalScopeOneDimension","tooltipTranslation","dimensionalScopeOneDimensionTooltip","dimensionalScopeAllDimensions","dimensionalScopeAllDimensionsTooltip","dimensionalScopeDisregardAllDimensions","dimensionalScopeDisregardAllDimensionsTooltip","getDisregardSelectionComp","getFieldSelectionComp","getTotalComp","getSelectedDimComp","pe","fe","me","de","ye","qe","getExpression","getExpressionRef","getLibraryIdRef","getLibraryId","getLabelRef","getLabelExpressionRef","be","ve","De","ge","he","xe","Ae","Ee","Ce","Ie","Se","initBase","isValid","restoreBase","Me","Le","Oe","accumulation","movingAverage","difference","normalization","Ve","applyModifiers","Ne","cleanUpMeasure","we","destroy","Pe","id","masterItemSubscriber","unsubscribe","hasActiveModifiers","He","getActiveModifier","Te","isSupportedModifiers","some","isApplicableSupportedModifiers","modifierTypes","measureBase","limitedSorting","_e","ze","Qe","ifEnableTotalsFunction","je","model","isSnapshot","masterItem","isFirstTime","lastReloadTime","Ge","measure","getEffectiveProperties","ke","Ze","Ye","Je","libraryIds","Re","$e","oldProperties","runUpdateIfChange","libraryItemsProps","er","Xe","newProperties","libraryId","qMeasure","qLabelExpression","quarantine","coloring","qAggrFunc","We","Be","Ue","getDimensionList","all","measureLibraryIds","dimensionLibraryIds","getMeasure","getProperties","getDimension","Ke","qHasSoftPatches","qExtendsId","setProperties","callback","dimension","enabled","listener","layoutSubscribe","subscribe","dispose","clearUndoBuffer","charCodeAt","String","fromCharCode","floor","getValue","setValue","isEmpty","isAtomicValue","generateId","round","random","isOrderedSubset","indexAdded","indexRemoved","findItemByPropertyValue","findIndexByPropertyValue","exportFormat","excludedDimensions","excludedMeasures","qInterColumnSortOrder","interColumnSortOrder","qLayoutExclude","changed","to","store","match","parse","qv","othersLabel","pow","visualization","autoSort","cId","qNullSuppression","qOtherLabel","qOtherTotalSpec","qOtherLimitMode","qOtherMode","qOtherSortMode","qSuppressOther","qTrendLines","newHyperCubeDef","defaultDimension","maxMeasures","minMeasures","defaultMeasure","dataDefinition","initialProperties","hypercubePath","key","components","added","exportProperties","propertyTree","viewDataMode","qProperty","filters","qContextSetExpression","qDynamicScript","importProperties","defaultPropertyValues","extension","supportedFilters","isHCModifierSupported","qChildren","qTop","qLeft","cellBackgroundColor","cellForegroundColor","colorByAlternative","colorByExpression","tooltip","urlLabel","url","create","qAttribute","moveByIdFromGroup","IDMAP","CELL_BACKGROUND_COLOR","CELL_FOREGROUND_COLOR","COLOR_BY_ALTERNATIVE","COLOR_BY_EXPRESSION","TOOLTIP","CELL_LINK_LABEL","CELL_LINK_URL","getNumMeasures","wrapFieldName","getItemLabel","colorModeOptions","primary","multiColor","scatterplot","piechart","linechart","distributionplot","altLabel","qStringExpression","qExpr","isDimension","attributeExpression","item","qExpression","matchMeasure","activeMeasureIndex","labelExpRef","colorMapRef","qSortBy","qAttributeDimensions","qAttributeExpressions","qFieldLabels","useMasterNumberFormat","mode","byDimDef","activeDimensionIndex","byMeasureDef","formatting","byDimension","byMeasure","byMultiple","byExpression","canColorBy","autoColor","colorMode","qTotalMode","shouldUpdateColorBy","measureType","measureAxes","series","axis","line","marker","bar","total","filter","sort","supportedAutoMinMax","qColumnOrder","columnOrder","arrayPath","quarantineName","arrayName","itemPath","unquarantine","quarantineAlternative","unquarantineAlternative","hypercube","colorChart","axisChart","quarantineProperty","unquarantineProperty","quarantineArrayProp","unquarantineArrayProp","conditionalColoring","conditionalShow","propTree","conversion","props","extend","qSuppressZero","qae","targets","next","done","return","toUpperCase","groupHeader","styles","fontFamily","theme","flags","Set","Boolean","metaText","isEnabled","getDefaultValue","getOptions","config","paths","RegExp","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","rgb","formatHex","formatRgb","exec","parseInt","NaN","opacity","copy","assign","displayable","hex","formatHex8","formatHsl","brighter","darker","clamp","PI","ot","at","nt","et","tt","cos","sin","atan2","sqrt","rt","lt","ct","st","gamma","Ut","Gt","un","alignment","condition","layoutService","meta","size","getHyperCubeValue","every","qMin","qMax","isContinuous","reduce","qr","fn","dn","Vn","children","$n","Map","Bn","_n","Un","pop","parent","depth","eachBefore","Yn","Kn","count","eachAfter","each","sum","ancestors","descendants","leaves","links","source","target","reverse","search","toFixed","lastIndexOf","oo","ao","lo","so","co","uo","fo","po","ho","matrix","attribute","overrides","getAxisLabelStyle","chartId","_overrides2","_axis$label","_axis$label2","_axis$label3","labels","fill","fontColor","CHART_ID","getShapeColor","defaultColor","defaultIndex","layoutColor","waterfallUtils","valueTypes","NORMAL","INVERSE","SUBTOTAL","chartID","getColorForPositiveValue","getColorPickerColor","getColorForNegativeValue","getColorForSubtotal","freeze","getStylingItems","styleOptions","axisLabelSection","valueLabelSection","legendLabelSection","undefined","getStylingPanelDefinition","bkgOptionsEnabled","chartTitle","useGeneral","useBackground","colorIsNotAuto","propertyDefinition","stylingPanelEnabled","uses","addTranslation","disabledRef","numberFormatting","valueType","subTotal","subTotalLabel","enable","fontResolver","getChartFontResolver","createFontResolver","ChartStyleComponent","propertyDefs","getColorComponent","getDataColorPickerPalettes","colors","labelSection","getFontWrapperComponent","fontWrapper","presentation","grouped","stylingPanel","gridLines","snapshot","tid","showGridLines","gridSpacing","positiveValueColor","dualOutput","negativeValueColor","subtotalColor","simpleColors","classification","section","tags","exclusive","simpleItems","_data$color","measureAxisTitle","othersGroup","simpleLabels","header","_props$qHyperCubeDef$","pointLabels","_props$qHyperCubeDef$2","globalChange","numberFormattingType","addons","dataHandling","suppressZero","calcCond","colorBackground","definition","pp","cssScaling","export","exportData","sharing","viewData","mapProperties","getDefaultDimensionProperties","getDefaultMeasureProperties","hyperCubePath","fnTest","Class","className","proto","_super","tmp","ret","ctor","Function","idGen","getChar","charCode","base62","chr","SCROLLBAR_KEY","getAxisDock","direction","isRtl","getYAxisDock","getXAxisDock","yDockNearFar","axisDockUtil","getOppositeAxisDock","rangesOfLRgExp","rangesOfRRgExp","rangesOfALRgExp","isLtrChar","isRtlChar","rtlUtils","lrm","detectTextDirection","refLineUtil","lineSettings","_options$style","defaultSettings","stroke","strokeDasharray","lineType","lineLabelSettings","labelColor","labelFontSize","labelFontFamily","align","vAlign","text","maxWidthPx","isVisible","refLineExpr","getRefLineTitle","valueString","showValue","showLabel","RtlUtil","constants","SHOW_AXIS_LABELS_OPTIONS","SHOW_TITLE_OPTIONS","HORIZONTAL","VERTICAL","LAYOUTSETTINGS","lasso","displayOrder","rangeDim","rangeMeasure","rangeMinor","scrollBar","minimumLayoutMode","prioOrder","dimensionAxisTitle","refLinesLabels","DEFAULT_CHART_ORIENTATION","DimensionMeasureChart","chartBuilder","opts","measureAxisProperties","dimensionAxisProperties","chartOrientation","orientation","CONSTANTS","isChartHorizontal","measureDirection","dimensionDirection","includeMeasureAxisComponent","includeMeasureAxisTitleComponent","measureTitleText","includeDimensionAxisComponent","includeDimensionAxis","includeDimensionAxisTitleComponent","dimensionTitleText","includeGridlines","includeRefLines","interactionActions","measureAxisSettings","scale","axisLabelStyle","forceBounds","showBounds","measureAxisOptions","getMeasureAxisOptions","addComponent","addMeasureAxisComponent","measureTitleSettings","axisTitleStyle","getMeasureAxisTitleOptions","addMeasureAxisTitleComponent","measureScaleSettings","measureScaleOptions","measureSource","ticks","distance","addScale","addMeasureScale","dimensionAxisSettings","dimensionAxisOptions","getDimensionAxisOptions","addDimensionAxisComponent","dimensionAxisTitleSettings","dimensionAxisTitleOptions","getDimensionAxisTitleOptions","addDimensionAxisTitleComponent","dimensionScaleOptions","dimensionSource","dimensionScaleSettings","addDimensionScale","gridlinesOptions","gridlinesSettings","minorTicks","addGridlinesComponent","hasNavigation","getSettings","scroll","viewSize","scrollSettings","scrollbarOptions","isHorizontal","scrollBarSettings","addInteractionActions","isEnabledFn","targetIsScrollbar","manager","startPoint","center","deltaX","deltaY","chart","componentsFromPoint","tap","events","emit","pan","panstart","panend","pancancel","getScrollActions","isNavigationEnabledFn","addScrollbarComponent","axisDock","refLinesSettings","oob","lines","refLinesLabelsSettings","require","measureText","formatter","scales","labelWidths","formattedValue","minimumText","wanted","required","maxLabelWidth","labelPadding","expressionValue","lineOptions","addRefLineComponent","enableLasso","selectionsEnabled","lassoOptions","brushKey","brushComponents","brushData","addLassoComponent","enableDimRange","rangeDimSettings","rangeDimOptions","brushAxis","brushArea","brushScale","addRangeDimComponent","dimRange","enableMeasureRange","rangeMeasureSettings","rangeMeasureOptions","multiple","addRangeMeasureComponent","measureRange","enableAreaRange","rangeMinorSettings","chartInstance","addRangeAreaComponent","areaRange","brushActions","addInteraction","gestures","addInteractionComponent","actions","invert","domain","trackBy","getTextRenderer","_flags$isEnabled","navigator","userAgent","axisLineStroke","titleFontSize","titleFill","labelsFill","labelsFontSize","titleFontFamily","labelsFontFamily","brush","trigger","consume","strokeWidth","tiltAngle","maxEdgeBleed","maxSize","axisSettings","active","measureScale","fields","expand","scaleSettings","dimensionScale","extract","qText","datum","xAxis","yAxis","xAxisTitle","yAxisTitle","rangeUtil","getBublesAlign","isAlignStart","getDock","dockTargets","dockT","layoutModes","SPARK","XSMALL","SMALL","MEDIUM","FULL","LayoutModes","getLabel","context","end","dataset","getLayoutModeKeys","layoutModeKeys","modeKey","directions","left","right","up","down","createComponent","minor","boxMarker","pointMarker","backgroundColor","scrollbar","comp","contexts","fillActive","bubbles","isStartBorder","binStart","binEnd","action","rangeArea","chartHeight","chartWidth","itemFill","itemFontSize","itemFontFamily","anchor","vertical","navigation","button","class","content","state","lineHeight","wordBreak","margin","top","bottom","shape","showTitle","categoricalLegend","tickFill","tickFontSize","tickFontFamily","getAlignValue","word","major","tick","sequentialLegend","gridLine","interaction","oobColor","oobBackgroundColor","padding","eventArea","sources","selector","strategy","parseFloat","placements","position","justify","ChartBuilder","dockLayout","interactions","getComponent","addPreset","ChartPresets","validateComponentKeys","msg","ALIGNMENT","CENTER","BOTTOM","DisclaimersConfig","DISCLAIMERS","util","getNoDataExistAttribute","qSize","qcy","qcx","getLimitedDataAttribute","maxNbrOfDimensions","result","stackedDataPages","explicitLimitedData","qDataPages","paging","qMatrix","qStackedDataPages","qSubNodes","node","qDown","qArea","getNegativeOrZeroValuesAttribute","supportNegative","qMeasureInfo","getOnlyNegativeOrZeroValuesAttribute","getOnlyNanDataAttribute","explicitOnlyNanData","getDataRangeIncludingZeroAttribute","supportRangeOverZero","measureInfo","len","explicitMinOn","explicitMaxOn","MAX_VALUE","hasDataRangeIncludingZero","applyAttributes","dataAttributes","NoDataExist","RequireNumericDimension","explicitRequireNumericDimension","LimitedData","NegativeOrZeroValues","OnlyNegativeOrZeroValues","OnlyNanData","DataRangeIncludingZero","Helper","disclaimersConfig","supportedDisclaimers","list","Disclaimer","environment","clear","isValidAndSupported","isAnyValidDisclaimer","getMessage","str","ERRORS","SET","DISPLAY","_applyDefaultSupport","supported","getComponentSettings","_this$environment","vizAttributes","helper","DisclaimerComponentHelper","message","set","attributes","AttributesUtil","ChartView","picasso","$element","backendApi","selectionsApi","_selectionsApi","_on","_disclaimer","_dataPaths","picassoElement","dataAreaElem","updateEnvironment","_this$environment$opt","setDataPaths","dataPaths","getData","hyperCube","dataPagesPath","page","maxHeight","pages","hasValidData","paint","_disclaimerComponent$","getDisclaimerAttributes","disclaimerComponent","isSuppressingDisc","chartSettings","createChartSettings","errorMsg","console","error","updateChart","_painted","resize","addSnapshotChartSettings","freeResize","snapshotData","logicalSize","preserveAspectRatio","updateData","_destroyed","reject","permissions","isPartialData","_this$environment$app","_this$environment$app2","localeInfo","appLayout","qLocaleInfo","colorService","update","partialData","setAttribute","off","getViewState","isLassoDisabled","setSnapshotData","snapshotLayout","chartData","colorStruct","transparent","rgba","hexShort","hsl","hsla","Color","lcs","h_","rgb_","matches","colorString","_invalid","_r","_g","_b","_a","CSSColors","_spaces","isInvalid","setAlpha","getAlpha","toRGB","toRGBA","toHex","toHSL","luma","toHSLA","toHSV","hsvComp","toHSVComponents","toNumber","num","isDark","getLuminance","_lumi","shiftLuminance","chsla","isEqual","blend","c2","createShiftedColor","lumi","greenMultiplier","hsla_string","ch","c1","r1","g1","b1","getBlend","isCSSColor","getBestContrast","cl","cd","lum","getContrast","color1","color2","l1","l2","useDarkLabel","areaColor","bgIsDark","namespace","ScrollHandler","$chartElement","getSlicedDataFn","onScrollCallback","legendKey","_chartInstance","_$chartElement","_getSlicedDataFn","_itemSize","_onScrollCallback","_legendKey","calculateScrollViewSizeInItem","scrollSize","getItemSize","_scrollViewSizeInItem","onMouseWheel","event","orgEvent","delta","wheelDelta","detail","HORIZONTAL_AXIS","wheelDeltaY","wheelDeltaX","pageX","pageY","getMouseWheelData","originalEvent","preventDefault","onLegendMouseWheel","_disabled","getScrollApi","_scrollApi","move","onScroll","_sizeChanged","getViewData","catch","err","setDisabled","getDisabled","setItemSize","getScrollViewSizeInItem","on","removeAllListeners","isOn","updateViewState","onResize","isDataSizeChanged","pageNumberOfRows","datasetNumberOfRows","resetScroll","moveTo","getState","start","setOptions","getScrollState","setScrollState","onComponentChecker","isOnComponentForRange","selectionGesture","isOnComponentForLasso","gesturesParams","lassoGesture","componentKey","isOnComponentForNavBtn","legendBrushKey","navBtnGesture","callLassoGesture","gesturesFns","Hammer","DIRECTION_ALL","threshold","lassoing","isSelectionEnabled","hitComp","handlers","selectionHandler","lassoState","allFieldsLocked","recognizeWith","scrollHandler","lassostart","switchTo","pauseEngineCalls","lassoBrushKey","clientX","pointers","clientY","doEmit","lassomove","lassoend","resumeEngineCalls","lassocancel","measureRangeGesture","callMeasureRangeGesture","activeRangeBrush","dimRangeBrushKey","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","rangeSelStatus","isOpenMea","measureSelecting","gesture","measureRangeBrushKey","requireFailure","measurerangestart","measurerangemove","measurerangeend","measurerangecancel","getAxisOrientation","areaRangeGesture","callAreaRangeGesture","isOpenDim","minoring","arearangestart","areaBrushKey","arearangemove","arearangeend","arearangecancel","dimensionRangeGesture","callDimensionRangeGesture","dimAxis","majoring","majorrangestart","majorrangemove","majorrangeend","majorrangecancel","dragGesture","callDragGesture","hasSelections","dragPoint","dragging","isNavigationEnabled","getBrushConfig","dragstart","dragmove","dragend","dragcancel","callNavBtnGesture","navBtnTap","btn","attr","getAttribute","DependentInteractions$1","clearKey","activeChart","newType","cont","inst","onScrollUpdate","rangeClearTap","unshift","removeListener","TooltipActions","tooltipKey","hasOpen","closeTooltip","isOpen","brushes","shapes","getAffectedShapes","nodes","openTooltip","toggleInterceptor","check","TooltipAction","args","formatMeasureValue","measureContent","raw","qNum","createContent","tooltipInfo","uniqueShapes","dataPath","numberInExcess","numItems","localContent","rows","labelData","refPaths","isNullValue","currentNode","qElemNo","qElemNumber","headerResolver","measureRows","measureRow","rowData","rowResolver","row","colorByData","getColorByDimData","rowCount","extractContent","renderSettings","_tooltipInfo$colorSer","_tooltipInfo$colorSer2","_shape$attrs","colorData","colorSettings","fieldType","ids","mapping","elemNoObj","othersIndex","getOthersIndex","attrs","TOOLTIP_CONTAINER_ID","TOOLTIP_CONTAINER_SELECTOR","appendTooltipContainer","document","querySelector","container","createElement","body","appendChild","beforeMount","beforeUpdate","destroyed","elm","parentElement","childElementCount","removeChild","destroyTooltipContainer","appendTo","placement","arrow","background","cell","hyphens","getDirection","DEFAULT_OPTIONS","labelTextAlign","headerStyle","fontWeight","colSpan","valueContent","symbolStyle","symbol","labelStyle","valueStyle","moreText","moreStyle","Tooltips","chartType","tooltipContexts","registerContext","listeners","removed","treatAsDesktop","intercept","deregister","deRegContext","removeInterceptor","mouseLeave","prop","setUp","attrDimPath","filterShapes","deviceType","createContext","createTooltip","uniques","filterDuplicateShapes","globalPropagation","tearDown","TooltipHandler","CHARACTER_AVERAGE_WIDTH","CJK_OVER_LATIN_WIDTH_RATIO","stringWidthOverMWidth","getCharacterRatios","latin","cjk","CJK","hiragana","katakana","getTotalCharacterRatios","columnIndex","res","latinRatio","cjkRatio","estimateLatinLabelWidth","numLatins","maxLatinWidth","averageLatinWidth","stringUtil","endsWith","string","suffix","prefix","contains","haystack","needle","getAdjustedMaxGlyphCount","maxGlyphCount","totalCharacterRatios","latinGlyphCount","cjkGlyphCount","ceil","estimateLabelWidth","numCjks","cjkWidth","CubeGenerator","generateHyperCube","numMeasures","positveColor","negativeColor","_numberFormatter","generatedMatrix","startMax","startMin","endMax","endMin","qFallbackTitle","numFormat","getMeasureFormat","isAutoFormat","qIsAutoFormat","generated","qStateCounts","generateSlicedHyperCube","getGeneratedDimensionPath","dimIndex","getGeneratedMeasurePath","mesIndex","ascending","descending","bisector","compare1","compare2","hi","mid","zero","bisectRight","e10","e5","e2","tickSpec","stop","step","power","log10","factor","i1","i2","inc","tickIncrement","initRange","define","factory","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","color_formatHex","color_formatRgb","format","rgbn","Rgb","rgb_formatHex","rgb_formatRgb","clampa","clampi","Hsl","hslConvert","clamph","clampt","hsl2rgb","m1","m2","channels","nogamma","exponential","constant","linear","rgbGamma","colorRgb","numberArray","genericArray","nb","na","date","Date","setTime","interpolateNumber","object","reA","reB","am","bm","bs","bi","lastIndex","number","one","interpolate","ArrayBuffer","isView","DataView","valueOf","interpolateRound","unit","identity","normalize","bimap","d0","d1","r0","polymap","bisect","transformer","untransform","unknown","piecewise","output","input","interpolateValue","rescale","rangeRound","formatDecimalParts","toExponential","coefficient","exponent","prefixExponent","formatSpecifier","specifier","FormatSpecifier","sign","comma","precision","formatRounded","formatTypes","%","toLocaleString","toPrecision","locale","formatPrefix","prefixes","formatLocale","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","minus","nan","newFormat","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","i0","formatTrim","Infinity","tickFormat","tickStep","precisionPrefix","precisionRound","precisionFixed","linearish","nice","prestep","maxIter","tickGenerator","getMinorTicks","majorTicks","minorTickCount","adjustTicks","deltaMin","isMinor","deltaMax","getTicks","scaleLinear","updateScrollHandlerState","_scrollHandler","getMaxGlyphCountForDimAxis","glyphCount","getDimAxisSettings","maxLengthPx","getBoundingClientRect","getBarLabelSettings","themeService","getStyles","valueLabelSettings","getValueLabelStyle","_overrides3","_value$value","_value$value2","_value$value3","outsideValueColor","darkColor","lightColor","ctx","getPicassoScrollSettings","getLegendSettings","positiveText","negativeText","subtotalText","labelStyleSettings","getLegendLabelStyle","_overrides5","_legend$label","_legend$label2","_legend$label3","waterfallChartView","_tooltipHandler","getSlicedData","updateConstraints","constraints","passive","clientWidth","clientHeight","tooltipSettings","box","shapeData","boxColor","_dependentActions","DependentInteractions","maxPxStep","includeMeasureAxis","include","brushTrigger","brushConsume","getBarSettings","bridgeColor","bandwidth","sizeLimits","maxPx","maxRelExtent","minRelDiscrete","maxRelDiscrete","getBridgeSettings","getTheme","setTheme","createThemeService","area","viewState","finally","supernova","useElement","useApp","useAppLayout","useDeviceType","useOptions","useTheme","useTranslator","useMemo","language","useEnvironment","picassojs","prio","use","PicassoQ","PicassoHammer","picassoSetup","useStaleLayout","useConstraints","instance","setInstance","useState","useEffect","view","usePromise","usePromiseNoError","async","useRect","useResize","onTakeSnapshot","useImperativeHandle"],"mappings":"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","x_google_ignoreList":[5,8,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]}