var B=Object.defineProperty,x=(e,t)=>{for(var n in t)B(e,n,{get:t[n],enumerable:!0})},S={};x(S,{error:()=>C,errorOnce:()=>_,log:()=>L,logGroup:()=>K,reset:()=>z,table:()=>P,warn:()=>E,warnOnce:()=>R});var g=new Set;function L(...e){console.log(...e)}function E(e,...t){console.warn(`AG Charts - ${e}`,...t)}function C(e,...t){typeof e=="object"?console.error("AG Charts error",e,...t):console.error(`AG Charts - ${e}`,...t)}function P(...e){console.table(...e)}function R(e,...t){const n=`Logger.warn: ${e}`;g.has(n)||(E(e,...t),g.add(n))}function _(e,...t){const n=`Logger.error: ${e}`;g.has(n)||(C(e,...t),g.add(n))}function z(){g.clear()}function K(e,t){console.groupCollapsed(e);try{return t()}finally{console.groupEnd()}}var m=(e=>(e.Chart="chart",e.Series="series",e.Feature="feature",e))(m||{}),I=class{static[Symbol.iterator](){return this.registeredModules.values()}static register(e){const t=this.registeredModules.get(e.name);if(t&&(t.enterprise||!e.enterprise))throw new Error(`AG Charts - Module '${e.name}' already registered`);this.registeredModules.set(e.name,e)}static registerMany(e){for(const t of e)this.register(t)}static reset(){this.registeredModules.clear()}static detectChartDefinition(e){return this.detectDefinition("chart",e)}static detectSeriesDefinition(e){return this.detectDefinition("series",e)}static detectDefinition(e,t){for(const n of this.registeredModules.values())if(n.type===e&&n.detect(t))return n;throw new Error(`AG Charts - Unknown ${e} type; Check options are correctly structured and series types are specified`)}};I.registeredModules=new Map;var W=class{constructor(){this.events=new Map}on(e,t){return this.events.has(e)||this.events.set(e,new Set),this.events.get(e)?.add(t),()=>this.off(e,t)}off(e,t){const n=this.events.get(e);n&&(n.delete(t),n.size===0&&this.events.delete(e))}emit(e,t){this.events.get(e)?.forEach(n=>n(t))}clear(e){e?this.events.delete(e):this.events.clear()}};function F(e){return typeof e>"u"?[]:Array.isArray(e)?e:[e]}function H(e){return Array.from(new Set(e))}function J(e,t){return e.reduce((n,i)=>{const r=t(i);return n[r]??(n[r]=[]),n[r].push(i),n},{})}function v(e,t){if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n{n.set(i,r)}),e.sort((i,r)=>{const s=n.get(i)??1/0,c=n.get(r)??1/0;return s-c})}function X(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2);n(r)?(i=r,e=r+1):t=r-1}return i}function Y(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2);n(r)?(i=r,t=r-1):e=r+1}return i}function Z(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2),s=n(r);s==null?t=r-1:(i=s,e=r+1)}return i}function ee(e,t,n){if(e>t)return;let i;for(;t>=e;){const r=Math.floor((t+e)/2),s=n(r);s==null?e=r+1:(i=s,t=r-1)}return i}function te(e,t){const n=Math.max(e.length,t.length),i=new Set,r=new Set;for(let s=0;s0||r.size>0,added:i,removed:r}}function ne(e,t=0,n){const{leading:i=!1,trailing:r=!0,maxWait:s=1/0}=n??{};let c,o;if(so=null,t),e(...f);return}let l=t;if(s!==1/0&&o){const M=Date.now()-o;t>s-M&&(l=s-M)}clearTimeout(c),o??(o=Date.now()),c=setTimeout(()=>{o=null,r&&e(...f)},l)}return Object.assign(a,{cancel(){clearTimeout(c),o=null}})}function re(e,t,n){const{leading:i=!0,trailing:r=!0}=n??{};let s,c,o=!1;function a(){r&&c?(s=setTimeout(a,t),e(...c)):o=!1,c=null}function f(...l){o?c=l:(o=!0,s=setTimeout(a,t),i?e(...l):c=l)}return Object.assign(f,{cancel(){clearTimeout(s),o=!1,c=null}})}function*ie(...e){for(const t of e)yield*t}function oe(e){return e!=null&&typeof e=="object"&&Symbol.iterator in e?e:[e]}function se(e){for(const t of e)return t;throw new Error("AG Charts - no first() value found")}function k(e,t="and",n=String,i=1/0){if(e.length===1)return n(e[0]);e=e.map(n);const r=e.pop();if(e.length>=i){const s=e.length-(i-1);return`${e.slice(0,i-1).join(", ")}, and ${s} more ${t} ${r}`}return`${e.join(", ")} ${t} ${r}`}function D(e,t=1/0){switch(typeof e){case"undefined":return"undefined";case"number":if(isNaN(e))return"NaN";if(e===1/0)return"Infinity";if(e===-1/0)return"-Infinity";default:return e=JSON.stringify(e),e.length>t?`${e.slice(0,t)}... (+${e.length-t} characters)`:e}}function ce(e){let t=1;for(let n=0;n"u"))if(y(a))a(f,e)?s[o]=f:r.push({key:o,path:n,value:f,message:T(c(o),f,a)});else{const l=A(f,a,c(o));s[o]=l.valid,r.push(...l.errors)}}for(const o of i)r.push({key:o,path:n,unknown:!0,message:`Unknown option \`${c(o)}\`, ignoring.`});return{valid:s,errors:r}}function be(e,t,n){const{errors:i}=A(e,t,n);return i.length===0}function T(e,t,n){const i=p(n)?n:n[$],r=i?`; expecting ${i}`:"";return`${e?`Option \`${e}\``:"Value"} cannot be set to \`${D(t)}\`${r}, ignoring.`}function u(e,t){return Object.assign((n,i)=>e(n,i),{[$]:t})}function pe(e){return Object.assign(y(e)?t=>e(t):O(e),{[N]:!0})}var O=(e,t="an object")=>u(n=>b(n)&&Object.entries(e).every(([i,r])=>(y(r)?r:O(r))(n[i],n)),t),$e=(...e)=>u((t,n)=>e.every(i=>i(t,n)),e.map(t=>t[$]).filter(Boolean).join(" and ")),we=(...e)=>u((t,n)=>e.some(i=>i(t,n)),e.map(t=>t[$]).filter(Boolean).join(" or ")),je=u(d,"an array"),Ae=u(V,"a boolean"),Oe=u(y,"a function"),Me=u(h,"a number"),Se=u(b,"an object"),Ee=u(p,"a string"),Ce=u(e=>w(e)||(h(e)||p(e))&&j(new Date(e)),"a date"),me=(e,t=!0)=>u(n=>h(n)&&(n>e||t&&n===e),`a number greater than ${t?"or equal to ":""}${e}`),Ie=(e,t)=>u(n=>h(n)&&n>=e&&n<=t,`a number between ${e} and ${t} inclusive`),ve=me(0),ke=Ie(0,1),q=e=>h(e)||j(e),De=e=>u((t,n)=>!q(t)||!q(n[e])||t`'${n}'`,6);return u(n=>e.includes(n),`a keyword such as ${t}`)}var Ge=e=>u(t=>e===t,`the value ${JSON.stringify(e)}`),Ne=(e,t)=>u(n=>n instanceof e,t??`an instance of ${e.name}`),Te=(e,t)=>u((n,i)=>d(n)&&n.every(r=>e(r,i)),t??`${e[$]} array`);export{W as EventEmitter,S as Logger,I as ModuleRegistry,m as ModuleType,$e as and,je as array,Te as arrayOf,v as arraysEqual,u as attachDescription,Ae as boolean,Oe as callback,U as circularSliceArray,Ge as constant,ce as countLines,Ce as date,ne as debounce,te as diffArrays,X as findMaxIndex,Z as findMaxValue,Y as findMinIndex,ee as findMinValue,se as first,J as groupBy,Ne as instanceOf,d as isArray,V as isBoolean,w as isDate,ue as isDefined,he as isEnumKey,ge as isEnumValue,h as isFiniteNumber,y as isFunction,de as isHtmlElement,le as isNumber,b as isObject,ae as isObjectLike,G as isPlainObject,fe as isRegExp,p as isString,ye as isSymbol,be as isValid,j as isValidDate,ie as iterate,k as joinFormatted,De as lessThan,Me as number,Se as object,O as optionsDefs,we as or,ve as positiveNumber,ke as ratio,pe as required,Q as sortBasedOnArray,Ee as string,D as stringifyValue,re as throttle,F as toArray,oe as toIterable,Ve as union,H as unique,A as validate};