/**
 * Highstock JS v11.3.0 (2024-01-10)
 *
 * Indicator series type for Highcharts Stock
 *
 * (c) 2010-2024 Pawel Lysy
 *
 * License: www.highcharts.com/license
 */!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/indicators/cmo",["highcharts","highcharts/modules/stock"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function o(t,e,o,n){t.hasOwnProperty(e)||(t[e]=n.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}o(e,"Stock/Indicators/CMO/CMOIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){var o,n=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),r=t.seriesTypes.sma,i=e.isNumber,s=e.merge,u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getValues=function(t,e){var o,n,r=e.period,s=t.xData,u=t.yData,a=u?u.length:0,c=[],p=[],h=[],f=e.index;if(!(s.length<r)){i(u[0])?n=u:(f=Math.min(f,u[0].length-1),n=u.map(function(t){return t[f]}));for(var l,d=0,y=0,m=0,g=r;g>0;g--)n[g]>n[g-1]?y+=n[g]-n[g-1]:n[g]<n[g-1]&&(m+=n[g-1]-n[g]);for(l=y+m>0?100*(y-m)/(y+m):0,p.push(s[r]),h.push(l),c.push([s[r],l]),o=r+1;o<a;o++)d=Math.abs(n[o-r-1]-n[o-r]),n[o]>n[o-1]?y+=n[o]-n[o-1]:n[o]<n[o-1]&&(m+=n[o-1]-n[o]),n[o-r]>n[o-r-1]?y-=d:m-=d,l=y+m>0?100*(y-m)/(y+m):0,p.push(s[o]),h.push(l),c.push([s[o],l]);return{values:c,xData:p,yData:h}}},e.defaultOptions=s(r.defaultOptions,{params:{period:20,index:3}}),e}(r);return t.registerSeriesType("cmo",u),u}),o(e,"masters/indicators/cmo.src.js",[],function(){})});