funhi-chart 1.4.4 → 1.4.5

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.esm.js","sources":["../src/validators/CandleValidator.ts","../src/core/CandleManager.ts","../src/core/TimeframeManager.ts","../node_modules/fancy-canvas/size.mjs","../node_modules/fancy-canvas/device-pixel-ratio.mjs","../node_modules/fancy-canvas/canvas-element-bitmap-size.mjs","../node_modules/fancy-canvas/canvas-rendering-target.mjs","../node_modules/lightweight-charts/dist/lightweight-charts.production.mjs","../src/core/ChartRenderer.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../src/config/environment.ts","../src/services/candleStorage.ts","../src/adapters/CandleStorageAdapter.ts","../src/handlers/RealTimeUpdateHandler.ts","../src/core/FunhiChartController.ts","../src/hooks/useSocket.ts","../src/hooks/useOptimizedTokenAnalytics.ts","../src/components/FunhiChart.tsx","../src/utils/candleAggregation.ts"],"sourcesContent":["/**\r\n * CandleValidator - Validates and enforces candle data integrity\r\n */\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class CandleValidator {\r\n /**\r\n * Minimum body size as percentage of price (0.01%)\r\n */\r\n private static readonly MIN_BODY_PERCENTAGE = 0.001; // CHANGED: larger visual body for tiny prices\r\n \r\n /**\r\n * Absolute minimum body size in price units\r\n * Set to 0 to display exact prices without any modifications\r\n */\r\n private static readonly MIN_BODY_ABSOLUTE = 0.00000001; // CHANGED: ensure body is visible at low prices\r\n\r\n /**\r\n * Validates if a candle has valid OHLC data\r\n */\r\n static validate(candle: CandleData): boolean {\r\n return (\r\n candle &&\r\n candle.time > 0 &&\r\n candle.open > 0 &&\r\n candle.high > 0 &&\r\n candle.low > 0 &&\r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close) &&\r\n candle.high >= Math.max(candle.open, candle.close) &&\r\n candle.low <= Math.min(candle.open, candle.close)\r\n );\r\n }\r\n\r\n /**\r\n * Ensures candle has minimum body size for visibility // CHANGED\r\n * NOTE: This is a visual adjustment only and does not imply extra volume. // ADDED\r\n */\r\n static ensureMinimumBodySize(candle: CandleData, minBodySize?: number): CandleData { // CHANGED\r\n if (!candle || !isFinite(candle.open) || !isFinite(candle.close)) return candle; // ADDED\r\n if ((candle.volume || 0) <= 0) return candle; // CHANGED: no-trade candles stay flat\r\n if (candle.open !== candle.close) return candle; // ADDED: body already visible\r\n const basePrice = Math.max(candle.open, 0); // ADDED\r\n const computedMin = basePrice * CandleValidator.MIN_BODY_PERCENTAGE; // ADDED\r\n const minBody = Math.max(minBodySize ?? computedMin, CandleValidator.MIN_BODY_ABSOLUTE); // ADDED\r\n if (minBody <= 0) return candle; // ADDED\r\n const adjustedClose = candle.close + minBody; // ADDED\r\n return { // ADDED\r\n ...candle, // ADDED\r\n close: adjustedClose, // ADDED\r\n high: Math.max(candle.high, adjustedClose), // ADDED\r\n low: Math.min(candle.low, candle.open) // ADDED\r\n }; // ADDED\r\n } // CHANGED\r\n\r\n /**\r\n * Validates and corrects OHLC data integrity\r\n */\r\n static validateOHLC(candle: CandleData): CandleData {\r\n return {\r\n ...candle,\r\n high: Math.max(candle.open, candle.high, candle.close),\r\n low: Math.min(candle.open, candle.low, candle.close)\r\n };\r\n }\r\n\r\n /**\r\n * Checks if a candle belongs to the current time bucket\r\n */\r\n static isCurrentBucket(\r\n candle: CandleData, \r\n timeframeSeconds: number, \r\n timestamp: number\r\n ): boolean {\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n return candle.time === currentBucket;\r\n }\r\n\r\n /**\r\n * Validates price data\r\n */\r\n static validatePrice(price: number): boolean {\r\n return price > 0 && isFinite(price);\r\n }\r\n\r\n /**\r\n * Calculates minimum body size for a given price // CHANGED\r\n * Returns a tiny value for visual body only // CHANGED\r\n */\r\n static calculateMinBodySize(price: number): number { // CHANGED\r\n const computedMin = price * CandleValidator.MIN_BODY_PERCENTAGE; // ADDED\r\n return Math.max(computedMin, CandleValidator.MIN_BODY_ABSOLUTE); // CHANGED\r\n } // CHANGED\r\n}\r\n\r\n","/**\r\n * CandleManager - Manages candle creation, updates, and validation for a single timeframe\r\n * This class eliminates code duplication by handling all timeframe logic generically\r\n */\r\nimport { CandleData, CandleUpdateResult } from './types';\r\nimport { CandleValidator } from '../validators/CandleValidator';\r\n\r\nexport class CandleManager {\r\n private timeframeSeconds: number;\r\n private candles: CandleData[] = [];\r\n private currentCandle: CandleData | null = null;\r\n private lastCandleTime: number = 0;\r\n private lastProcessedTimestamp: number = 0;\r\n private readonly debounceMs: number = 50;\r\n\r\n constructor(timeframeSeconds: number) {\r\n this.timeframeSeconds = timeframeSeconds;\r\n }\r\n\r\n /**\r\n * Main method: Creates a new candle or updates the current one\r\n */\r\n createOrUpdate(price: number, timestamp: number, tradeSize: number = 0): CandleUpdateResult | null { // CHANGED\r\n // Debounce check\r\n const now = Date.now();\r\n if (this.lastProcessedTimestamp && (now - this.lastProcessedTimestamp) < this.debounceMs) {\r\n return null;\r\n }\r\n this.lastProcessedTimestamp = now;\r\n\r\n // Validate price\r\n if (!CandleValidator.validatePrice(price)) {\r\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid price data: ${price}`);\r\n return null;\r\n }\r\n const normalizedTradeSize = Number(tradeSize || 0); // ADDED\r\n if (!Number.isFinite(normalizedTradeSize) || normalizedTradeSize <= 0) { // ADDED\r\n // No trades => no candle creation. This differs from flat-candle behavior to avoid fake signals. // ADDED\r\n return null; // ADDED\r\n } // ADDED\r\n\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const bucketStart = this.calculateBucketStart(currentTime);\r\n\r\n // Check if we need to create a new candle\r\n if (bucketStart !== this.lastCandleTime) {\r\n return this.createNewCandle(price, normalizedTradeSize, timestamp, bucketStart); // CHANGED\r\n }\r\n\r\n // Update existing candle\r\n if (this.currentCandle) {\r\n return this.updateCurrentCandle(price, normalizedTradeSize, timestamp, bucketStart); // CHANGED\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Creates a new candle at bucket boundary\r\n * Detects gaps and logs them (gaps should be filled by loading from database)\r\n */\r\n private createNewCandle(\r\n price: number, // CHANGED\r\n tradeSize: number, // ADDED\r\n timestamp: number, // CHANGED\r\n bucketStart: number // CHANGED\r\n ): CandleUpdateResult {\r\n const WEAK_VOLUME_THRESHOLD = 0.01; // ADDED\r\n\r\n // Finalize previous candle if it exists\r\n if (this.currentCandle && this.isValidCandle(this.currentCandle)) {\r\n const finalizedCandle = CandleValidator.validateOHLC(this.currentCandle);\r\n this.addCandleToHistory(finalizedCandle);\r\n }\r\n\r\n // Check for gaps - if there's a significant gap, log it\r\n // The controller should load missing candles from database\r\n if (this.lastCandleTime > 0 && bucketStart > this.lastCandleTime + this.timeframeSeconds) {\r\n const gapSize = bucketStart - this.lastCandleTime;\r\n const missingCandles = Math.floor(gapSize / this.timeframeSeconds) - 1;\r\n \r\n if (missingCandles > 0) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Gap detected: ${missingCandles} missing candles between ${this.lastCandleTime} and ${bucketStart}. ` +\r\n `Missing candles should be loaded from database.`\r\n );\r\n }\r\n }\r\n\r\n // Create new candle from the first trade in this interval. // CHANGED\r\n // Open uses previous close for continuity (like before), but only when a trade occurs. // CHANGED\r\n const previousCandleClose = this.getPreviousCandleClose(bucketStart); // ADDED\r\n const openPrice = previousCandleClose ?? price; // ADDED\r\n const newCandle = this.buildNewCandle( // CHANGED\r\n bucketStart, // CHANGED\r\n openPrice, // CHANGED\r\n price, // CHANGED\r\n tradeSize // ADDED\r\n ); // CHANGED\r\n const adjustedNewCandle = CandleValidator.ensureMinimumBodySize(newCandle); // ADDED\r\n const finalNewCandle = CandleValidator.validateOHLC(adjustedNewCandle); // ADDED\r\n\r\n // Update state\r\n this.currentCandle = finalNewCandle; // CHANGED\r\n this.lastCandleTime = bucketStart;\r\n this.addCandleToHistory(finalNewCandle); // CHANGED\r\n\r\n console.log( // CHANGED\r\n `🆕 [CandleManager-${this.timeframeSeconds}s] New candle: time=${bucketStart}, open=$${finalNewCandle.open.toFixed(2)}, close=$${finalNewCandle.close.toFixed(2)}` // CHANGED\r\n ); // CHANGED\r\n\r\n return {\r\n candle: finalNewCandle, // CHANGED\r\n isNewCandle: true,\r\n wasUpdated: false\r\n };\r\n }\r\n\r\n /**\r\n * Updates the current candle with new price data\r\n */\r\n private updateCurrentCandle(\r\n price: number,\r\n tradeSize: number, // ADDED\r\n timestamp: number,\r\n currentBucket: number\r\n ): CandleUpdateResult | null {\r\n const WEAK_VOLUME_THRESHOLD = 0.01; // ADDED\r\n // Verify this is actually the current candle\r\n if (this.currentCandle!.time !== currentBucket) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping update for historical candle (time: ${this.currentCandle!.time}, current: ${currentBucket})`\r\n );\r\n return null;\r\n }\r\n\r\n // Validate existing candle\r\n if (!this.isValidCandle(this.currentCandle!)) {\r\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid existing candle, recreating`);\r\n const recreatedCandle: CandleData = {\r\n time: this.currentCandle!.time,\r\n open: price,\r\n high: price,\r\n low: price,\r\n close: price,\r\n volume: tradeSize, // CHANGED\r\n tradeCount: 1, // ADDED\r\n isSingleTrade: true, // ADDED\r\n isWeakSignal: tradeSize < WEAK_VOLUME_THRESHOLD // ADDED\r\n };\r\n this.currentCandle = recreatedCandle;\r\n this.updateCandleInHistory(recreatedCandle, currentBucket);\r\n return {\r\n candle: recreatedCandle,\r\n isNewCandle: false,\r\n wasUpdated: true\r\n };\r\n }\r\n\r\n // Update candle with real trade data only. // CHANGED\r\n const updatedCandle = this.updateCandlePrice(this.currentCandle!, price, tradeSize); // CHANGED\r\n const adjustedCandle = CandleValidator.ensureMinimumBodySize(updatedCandle); // ADDED\r\n \r\n // Final validation\r\n const validatedCandle = CandleValidator.validateOHLC(adjustedCandle); // CHANGED\r\n \r\n // Only update if it's the current bucket\r\n if (validatedCandle.time !== currentBucket) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Prevented update of historical candle: time=${validatedCandle.time}, currentBucket=${currentBucket}`\r\n );\r\n return {\r\n candle: validatedCandle,\r\n isNewCandle: false,\r\n wasUpdated: false\r\n };\r\n }\r\n\r\n this.currentCandle = validatedCandle;\r\n this.updateCandleInHistory(validatedCandle, currentBucket);\r\n\r\n return {\r\n candle: validatedCandle,\r\n isNewCandle: false,\r\n wasUpdated: true\r\n };\r\n }\r\n\r\n /**\r\n * Updates candle price while preserving minimum body size\r\n */\r\n private updateCandlePrice(candle: CandleData, price: number, tradeSize: number): CandleData { // CHANGED\r\n // Use exact price without any modifications\r\n return {\r\n ...candle,\r\n high: Math.max(candle.high, price),\r\n low: Math.min(candle.low, price),\r\n close: price,\r\n volume: (candle.volume || 0) + tradeSize, // ADDED\r\n tradeCount: (candle.tradeCount || 0) + 1, // ADDED\r\n isSingleTrade: false, // ADDED\r\n isWeakSignal: ((candle.volume || 0) + tradeSize) < 0.01 // ADDED\r\n };\r\n }\r\n\r\n /**\r\n * Builds a new candle with exact price (no minimum body size enforcement)\r\n */\r\n private buildNewCandle(\r\n bucketStart: number,\r\n openPrice: number,\r\n currentPrice: number, // CHANGED\r\n tradeSize: number // ADDED\r\n ): CandleData {\r\n // Use exact price without any modifications\r\n const closePrice = currentPrice;\r\n \r\n return {\r\n time: bucketStart,\r\n open: openPrice,\r\n high: Math.max(openPrice, closePrice, currentPrice),\r\n low: Math.min(openPrice, closePrice, currentPrice),\r\n close: closePrice,\r\n volume: tradeSize, // CHANGED\r\n tradeCount: 1, // ADDED\r\n isSingleTrade: true, // ADDED\r\n isWeakSignal: tradeSize < 0.01 // ADDED\r\n };\r\n }\r\n\r\n /**\r\n * Gets the previous candle's close price\r\n */\r\n private getPreviousCandleClose(bucketStart: number): number | null {\r\n // Method 1: Get from current candle ref if it's from previous bucket\r\n if (this.currentCandle && \r\n this.currentCandle.close > 0 && \r\n isFinite(this.currentCandle.close) &&\r\n this.currentCandle.time < bucketStart) {\r\n return this.currentCandle.close;\r\n }\r\n\r\n // Method 2: Get from candles array\r\n if (this.candles.length > 0) {\r\n const sortedCandles = [...this.candles].sort((a, b) => b.time - a.time);\r\n const lastCandle = sortedCandles.find(\r\n c => c.time < bucketStart && c.close > 0 && isFinite(c.close)\r\n );\r\n if (lastCandle) {\r\n return lastCandle.close;\r\n }\r\n }\r\n\r\n // Method 3: Use current candle ref as fallback\r\n if (this.currentCandle && \r\n this.currentCandle.close > 0 && \r\n isFinite(this.currentCandle.close)) {\r\n return this.currentCandle.close;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets the previous candle's direction (1 for bullish, -1 for bearish)\r\n */\r\n private getPreviousCandleDirection(): number {\r\n if (this.currentCandle && this.currentCandle.open > 0) {\r\n return this.currentCandle.close >= this.currentCandle.open ? 1 : -1;\r\n }\r\n return 1; // Default to bullish\r\n }\r\n\r\n /**\r\n * Calculates bucket start time for a given timestamp\r\n */\r\n private calculateBucketStart(timestamp: number): number {\r\n return Math.floor(timestamp / this.timeframeSeconds) * this.timeframeSeconds;\r\n }\r\n\r\n /**\r\n * Checks if a candle has valid data\r\n */\r\n private isValidCandle(candle: CandleData): boolean {\r\n return (\r\n candle.open > 0 &&\r\n candle.high > 0 &&\r\n candle.low > 0 &&\r\n candle.close > 0\r\n );\r\n }\r\n\r\n /**\r\n * Adds a candle to history\r\n */\r\n private addCandleToHistory(candle: CandleData): void {\r\n const existingIndex = this.candles.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n this.candles[existingIndex] = candle;\r\n } else {\r\n this.candles.push(candle);\r\n this.candles.sort((a, b) => a.time - b.time);\r\n }\r\n }\r\n\r\n /**\r\n * Updates a candle in history (only if it matches current bucket)\r\n */\r\n private updateCandleInHistory(candle: CandleData, currentBucket: number): void {\r\n if (candle.time !== currentBucket) {\r\n return;\r\n }\r\n\r\n const existingIndex = this.candles.findIndex(c => c.time === currentBucket);\r\n if (existingIndex >= 0 && this.candles[existingIndex].time === currentBucket) {\r\n this.candles[existingIndex] = candle;\r\n } else if (candle.time === currentBucket) {\r\n this.candles.push(candle);\r\n this.candles.sort((a, b) => a.time - b.time);\r\n }\r\n }\r\n\r\n // Public getters\r\n getCandles(): CandleData[] {\r\n return [...this.candles];\r\n }\r\n\r\n getCurrentCandle(): CandleData | null {\r\n return this.currentCandle;\r\n }\r\n\r\n getLastCandleTime(): number {\r\n return this.lastCandleTime;\r\n }\r\n\r\n /**\r\n * Detects gaps in candles and returns information about missing time periods\r\n * Returns array of missing time ranges that should be loaded from database\r\n */\r\n detectGaps(): Array<{ startTime: number; endTime: number; missingCount: number }> {\r\n if (this.candles.length < 2) {\r\n return [];\r\n }\r\n\r\n const gaps: Array<{ startTime: number; endTime: number; missingCount: number }> = [];\r\n const sortedCandles = [...this.candles].sort((a, b) => a.time - b.time);\r\n\r\n for (let i = 0; i < sortedCandles.length - 1; i++) {\r\n const current = sortedCandles[i];\r\n const next = sortedCandles[i + 1];\r\n const expectedNextTime = current.time + this.timeframeSeconds;\r\n\r\n if (next.time > expectedNextTime) {\r\n // There's a gap\r\n const gapSize = next.time - current.time;\r\n const missingCount = Math.floor(gapSize / this.timeframeSeconds) - 1;\r\n \r\n if (missingCount > 0) {\r\n gaps.push({\r\n startTime: current.time,\r\n endTime: next.time,\r\n missingCount\r\n });\r\n }\r\n }\r\n }\r\n\r\n return gaps;\r\n }\r\n\r\n /**\r\n * Loads candles from storage\r\n * Merges with existing candles to preserve real-time data\r\n */\r\n loadCandles(candles: CandleData[]): void {\r\n if (candles.length === 0) return;\r\n\r\n // Start with existing candles to preserve real-time data\r\n const existingCandlesMap = new Map<number, CandleData>();\r\n this.candles.forEach(candle => {\r\n existingCandlesMap.set(candle.time, candle);\r\n });\r\n\r\n // Validate and merge new candles from database\r\n candles.forEach(candle => {\r\n // Ensure minimum body size\r\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\r\n const validated = CandleValidator.validateOHLC(validatedCandle);\r\n \r\n // Merge: database candles can update existing ones, but we preserve\r\n // real-time candles that are newer than what's in the database\r\n const existingCandle = existingCandlesMap.get(validated.time);\r\n \r\n if (existingCandle) {\r\n // If we have an existing candle, prefer the one with more recent data\r\n // Database candles might be slightly stale, so only update if the existing\r\n // candle is not the current one (which is being updated in real-time)\r\n if (this.currentCandle && this.currentCandle.time === validated.time) {\r\n // Preserve current real-time candle, but update if database has more complete data\r\n // Only update if the existing candle seems incomplete (e.g., volume is 0 and database has volume)\r\n if (existingCandle.volume === 0 && validated.volume > 0) {\r\n existingCandlesMap.set(validated.time, validated);\r\n }\r\n // Otherwise keep the real-time candle\r\n } else {\r\n // For historical candles, prefer database version (more authoritative)\r\n existingCandlesMap.set(validated.time, validated);\r\n }\r\n } else {\r\n // New candle from database, add it\r\n existingCandlesMap.set(validated.time, validated);\r\n }\r\n });\r\n\r\n // Convert back to array and sort\r\n this.candles = Array.from(existingCandlesMap.values()).sort((a, b) => a.time - b.time);\r\n\r\n // Update current candle and last candle time if needed\r\n if (this.candles.length > 0) {\r\n const lastCandle = this.candles[this.candles.length - 1];\r\n \r\n // Only update currentCandle if we don't have one, or if the loaded candle is newer\r\n if (!this.currentCandle || lastCandle.time > this.currentCandle.time) {\r\n this.currentCandle = lastCandle;\r\n this.lastCandleTime = lastCandle.time;\r\n } else if (this.currentCandle.time === lastCandle.time) {\r\n // Same time bucket, update the current candle reference\r\n this.currentCandle = lastCandle;\r\n }\r\n // If currentCandle is newer (real-time), keep it\r\n }\r\n }\r\n\r\n /**\r\n * Directly updates candle from external source (e.g., WebSocket)\r\n */\r\n updateFromExternal(candle: CandleData, currentBucket: number): void {\r\n if (candle.time !== currentBucket) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping external update for historical candle`\r\n );\r\n return;\r\n }\r\n if (!Number.isFinite(candle.volume) || candle.volume <= 0) { // ADDED\r\n // No trades => skip external candle to avoid fabricated activity. // ADDED\r\n // This differs from flat-candle behavior used by some charting tools. // ADDED\r\n return; // ADDED\r\n } // ADDED\r\n\r\n // Ensure minimum body size\r\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\r\n const finalCandle = CandleValidator.validateOHLC(validatedCandle);\r\n\r\n this.currentCandle = finalCandle;\r\n this.lastCandleTime = finalCandle.time;\r\n this.updateCandleInHistory(finalCandle, currentBucket);\r\n }\r\n\r\n /**\r\n * Resets the manager (useful for cleanup)\r\n */\r\n reset(): void {\r\n this.candles = [];\r\n this.currentCandle = null;\r\n this.lastCandleTime = 0;\r\n this.lastProcessedTimestamp = 0;\r\n }\r\n}\r\n\r\n","/**\r\n * TimeframeManager - Orchestrates multiple timeframes and coordinates updates\r\n */\r\nimport { CandleManager } from './CandleManager';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport class TimeframeManager {\r\n private managers: Map<number, CandleManager>;\r\n private timeframes: TimeFrame[];\r\n\r\n constructor(timeframes: TimeFrame[]) {\r\n this.timeframes = timeframes;\r\n this.managers = new Map();\r\n \r\n // Initialize managers for each timeframe\r\n timeframes.forEach(tf => {\r\n this.managers.set(tf.seconds, new CandleManager(tf.seconds));\r\n });\r\n }\r\n\r\n /**\r\n * Gets the manager for a specific timeframe\r\n */\r\n getManager(seconds: number): CandleManager | undefined {\r\n return this.managers.get(seconds);\r\n }\r\n\r\n /**\r\n * Updates all timeframes with new price data\r\n */\r\n updateAll(price: number, timestamp: number, tradeSize: number = 0): void { // CHANGED\r\n this.managers.forEach(manager => { // CHANGED\r\n manager.createOrUpdate(price, timestamp, tradeSize); // CHANGED\r\n }); // CHANGED\r\n } // CHANGED\r\n\r\n /**\r\n * Gets candles for a specific timeframe\r\n */\r\n getCandles(seconds: number): CandleData[] {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCandles() : [];\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCurrentCandle() : null;\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n */\r\n loadCandles(seconds: number, candles: CandleData[]): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.loadCandles(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Updates candle from external source (e.g., WebSocket)\r\n */\r\n updateFromExternal(seconds: number, candle: CandleData, currentBucket: number): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.updateFromExternal(candle, currentBucket);\r\n }\r\n }\r\n\r\n /**\r\n * Gets all available timeframes\r\n */\r\n getTimeframes(): TimeFrame[] {\r\n return [...this.timeframes];\r\n }\r\n\r\n /**\r\n * Resets all managers\r\n */\r\n reset(): void {\r\n this.managers.forEach(manager => manager.reset());\r\n }\r\n}\r\n\r\n","export function size(_a) {\n var width = _a.width, height = _a.height;\n if (width < 0) {\n throw new Error('Negative width is not allowed for Size');\n }\n if (height < 0) {\n throw new Error('Negative height is not allowed for Size');\n }\n return {\n width: width,\n height: height,\n };\n}\nexport function equalSizes(first, second) {\n return (first.width === second.width) &&\n (first.height === second.height);\n}\n","var Observable = /** @class */ (function () {\n function Observable(win) {\n var _this = this;\n this._resolutionListener = function () { return _this._onResolutionChanged(); };\n this._resolutionMediaQueryList = null;\n this._observers = [];\n this._window = win;\n this._installResolutionListener();\n }\n Observable.prototype.dispose = function () {\n this._uninstallResolutionListener();\n this._window = null;\n };\n Object.defineProperty(Observable.prototype, \"value\", {\n get: function () {\n return this._window.devicePixelRatio;\n },\n enumerable: false,\n configurable: true\n });\n Observable.prototype.subscribe = function (next) {\n var _this = this;\n var observer = { next: next };\n this._observers.push(observer);\n return {\n unsubscribe: function () {\n _this._observers = _this._observers.filter(function (o) { return o !== observer; });\n },\n };\n };\n Observable.prototype._installResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n throw new Error('Resolution listener is already installed');\n }\n var dppx = this._window.devicePixelRatio;\n this._resolutionMediaQueryList = this._window.matchMedia(\"all and (resolution: \".concat(dppx, \"dppx)\"));\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.addListener(this._resolutionListener);\n };\n Observable.prototype._uninstallResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.removeListener(this._resolutionListener);\n this._resolutionMediaQueryList = null;\n }\n };\n Observable.prototype._reinstallResolutionListener = function () {\n this._uninstallResolutionListener();\n this._installResolutionListener();\n };\n Observable.prototype._onResolutionChanged = function () {\n var _this = this;\n this._observers.forEach(function (observer) { return observer.next(_this._window.devicePixelRatio); });\n this._reinstallResolutionListener();\n };\n return Observable;\n}());\nexport function createObservable(win) {\n return new Observable(win);\n}\n","import { equalSizes, size } from \"./size.mjs\";\nimport { createObservable as createDevicePixelRatioObservable } from \"./device-pixel-ratio.mjs\";\nvar DevicePixelContentBoxBinding = /** @class */ (function () {\n function DevicePixelContentBoxBinding(canvasElement, transformBitmapSize, options) {\n var _a;\n this._canvasElement = null;\n this._bitmapSizeChangedListeners = [];\n this._suggestedBitmapSize = null;\n this._suggestedBitmapSizeChangedListeners = [];\n // devicePixelRatio approach\n this._devicePixelRatioObservable = null;\n // ResizeObserver approach\n this._canvasElementResizeObserver = null;\n this._canvasElement = canvasElement;\n this._canvasElementClientSize = size({\n width: this._canvasElement.clientWidth,\n height: this._canvasElement.clientHeight,\n });\n this._transformBitmapSize = transformBitmapSize !== null && transformBitmapSize !== void 0 ? transformBitmapSize : (function (size) { return size; });\n this._allowResizeObserver = (_a = options === null || options === void 0 ? void 0 : options.allowResizeObserver) !== null && _a !== void 0 ? _a : true;\n this._chooseAndInitObserver();\n // we MAY leave the constuctor without any bitmap size observation mechanics initialized\n }\n DevicePixelContentBoxBinding.prototype.dispose = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n (_a = this._canvasElementResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._canvasElementResizeObserver = null;\n (_b = this._devicePixelRatioObservable) === null || _b === void 0 ? void 0 : _b.dispose();\n this._devicePixelRatioObservable = null;\n this._suggestedBitmapSizeChangedListeners.length = 0;\n this._bitmapSizeChangedListeners.length = 0;\n this._canvasElement = null;\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElement\", {\n get: function () {\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n return this._canvasElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElementClientSize\", {\n get: function () {\n return this._canvasElementClientSize;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"bitmapSize\", {\n get: function () {\n return size({\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Use this function to change canvas element client size until binding is disposed\n * @param clientSize New client size for bound HTMLCanvasElement\n */\n DevicePixelContentBoxBinding.prototype.resizeCanvasElement = function (clientSize) {\n this._canvasElementClientSize = size(clientSize);\n this.canvasElement.style.width = \"\".concat(this._canvasElementClientSize.width, \"px\");\n this.canvasElement.style.height = \"\".concat(this._canvasElementClientSize.height, \"px\");\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype.subscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"suggestedBitmapSize\", {\n get: function () {\n return this._suggestedBitmapSize;\n },\n enumerable: false,\n configurable: true\n });\n DevicePixelContentBoxBinding.prototype.subscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n DevicePixelContentBoxBinding.prototype.applySuggestedBitmapSize = function () {\n if (this._suggestedBitmapSize === null) {\n // nothing to apply\n return;\n }\n var oldSuggestedSize = this._suggestedBitmapSize;\n this._suggestedBitmapSize = null;\n this._resizeBitmap(oldSuggestedSize);\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, this._suggestedBitmapSize);\n };\n DevicePixelContentBoxBinding.prototype._resizeBitmap = function (newSize) {\n var oldSize = this.bitmapSize;\n if (equalSizes(oldSize, newSize)) {\n return;\n }\n this.canvasElement.width = newSize.width;\n this.canvasElement.height = newSize.height;\n this._emitBitmapSizeChanged(oldSize, newSize);\n };\n DevicePixelContentBoxBinding.prototype._emitBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._bitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._suggestNewBitmapSize = function (newSize) {\n var oldSuggestedSize = this._suggestedBitmapSize;\n var finalNewSize = size(this._transformBitmapSize(newSize, this._canvasElementClientSize));\n var newSuggestedSize = equalSizes(this.bitmapSize, finalNewSize) ? null : finalNewSize;\n if (oldSuggestedSize === null && newSuggestedSize === null) {\n return;\n }\n if (oldSuggestedSize !== null && newSuggestedSize !== null\n && equalSizes(oldSuggestedSize, newSuggestedSize)) {\n return;\n }\n this._suggestedBitmapSize = newSuggestedSize;\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, newSuggestedSize);\n };\n DevicePixelContentBoxBinding.prototype._emitSuggestedBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._suggestedBitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._chooseAndInitObserver = function () {\n var _this = this;\n if (!this._allowResizeObserver) {\n this._initDevicePixelRatioObservable();\n return;\n }\n isDevicePixelContentBoxSupported()\n .then(function (isSupported) {\n return isSupported ?\n _this._initResizeObserver() :\n _this._initDevicePixelRatioObservable();\n });\n };\n // devicePixelRatio approach\n DevicePixelContentBoxBinding.prototype._initDevicePixelRatioObservable = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n throw new Error('No window is associated with the canvas');\n }\n this._devicePixelRatioObservable = createDevicePixelRatioObservable(win);\n this._devicePixelRatioObservable.subscribe(function () { return _this._invalidateBitmapSize(); });\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype._invalidateBitmapSize = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n return;\n }\n var ratio = (_b = (_a = this._devicePixelRatioObservable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : win.devicePixelRatio;\n var canvasRects = this._canvasElement.getClientRects();\n var newSize = \n // eslint-disable-next-line no-negated-condition\n canvasRects[0] !== undefined ?\n predictedBitmapSize(canvasRects[0], ratio) :\n size({\n width: this._canvasElementClientSize.width * ratio,\n height: this._canvasElementClientSize.height * ratio,\n });\n this._suggestNewBitmapSize(newSize);\n };\n // ResizeObserver approach\n DevicePixelContentBoxBinding.prototype._initResizeObserver = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n this._canvasElementResizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (entry) { return entry.target === _this._canvasElement; });\n if (!entry || !entry.devicePixelContentBoxSize || !entry.devicePixelContentBoxSize[0]) {\n return;\n }\n var entrySize = entry.devicePixelContentBoxSize[0];\n var newSize = size({\n width: entrySize.inlineSize,\n height: entrySize.blockSize,\n });\n _this._suggestNewBitmapSize(newSize);\n });\n this._canvasElementResizeObserver.observe(this._canvasElement, { box: 'device-pixel-content-box' });\n };\n return DevicePixelContentBoxBinding;\n}());\nexport function bindTo(canvasElement, target) {\n if (target.type === 'device-pixel-content-box') {\n return new DevicePixelContentBoxBinding(canvasElement, target.transform, target.options);\n }\n throw new Error('Unsupported binding target');\n}\nfunction canvasElementWindow(canvasElement) {\n // According to DOM Level 2 Core specification, ownerDocument should never be null for HTMLCanvasElement\n // see https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return canvasElement.ownerDocument.defaultView;\n}\nfunction isDevicePixelContentBoxSupported() {\n return new Promise(function (resolve) {\n var ro = new ResizeObserver(function (entries) {\n resolve(entries.every(function (entry) { return 'devicePixelContentBoxSize' in entry; }));\n ro.disconnect();\n });\n ro.observe(document.body, { box: 'device-pixel-content-box' });\n })\n .catch(function () { return false; });\n}\nfunction predictedBitmapSize(canvasRect, ratio) {\n return size({\n width: Math.round(canvasRect.left * ratio + canvasRect.width * ratio) -\n Math.round(canvasRect.left * ratio),\n height: Math.round(canvasRect.top * ratio + canvasRect.height * ratio) -\n Math.round(canvasRect.top * ratio),\n });\n}\n","/**\n * @experimental\n */\nvar CanvasRenderingTarget2D = /** @class */ (function () {\n function CanvasRenderingTarget2D(context, mediaSize, bitmapSize) {\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n throw new TypeError('Rendering target could only be created on a media with positive width and height');\n }\n this._mediaSize = mediaSize;\n // !Number.isInteger(bitmapSize.width) || !Number.isInteger(bitmapSize.height)\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n throw new TypeError('Rendering target could only be created using a bitmap with positive integer width and height');\n }\n this._bitmapSize = bitmapSize;\n this._context = context;\n }\n CanvasRenderingTarget2D.prototype.useMediaCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n });\n }\n finally {\n this._context.restore();\n }\n };\n CanvasRenderingTarget2D.prototype.useBitmapCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n bitmapSize: this._bitmapSize,\n horizontalPixelRatio: this._horizontalPixelRatio,\n verticalPixelRatio: this._verticalPixelRatio,\n });\n }\n finally {\n this._context.restore();\n }\n };\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_horizontalPixelRatio\", {\n get: function () {\n return this._bitmapSize.width / this._mediaSize.width;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_verticalPixelRatio\", {\n get: function () {\n return this._bitmapSize.height / this._mediaSize.height;\n },\n enumerable: false,\n configurable: true\n });\n return CanvasRenderingTarget2D;\n}());\nexport { CanvasRenderingTarget2D };\n/**\n * @experimental\n */\nexport function createCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n var bitmapSize = binding.bitmapSize;\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n throw new Error('Could not get 2d drawing context from bound canvas element. Has the canvas already been set to a different context mode?');\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n/**\n * @experimental\n */\nexport function tryCreateCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n return null;\n }\n var bitmapSize = binding.bitmapSize;\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n return null;\n }\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n return null;\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n","/*!\n * @license\n * TradingView Lightweight Charts™ v4.2.3\n * Copyright (c) 2025 TradingView, Inc.\n * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0\n */\nimport{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from\"fancy-canvas\";const e={upColor:\"#26a69a\",downColor:\"#ef5350\",wickVisible:!0,borderVisible:!0,borderColor:\"#378658\",borderUpColor:\"#26a69a\",borderDownColor:\"#ef5350\",wickColor:\"#737375\",wickUpColor:\"#26a69a\",wickDownColor:\"#ef5350\"},r={upColor:\"#26a69a\",downColor:\"#ef5350\",openVisible:!0,thinBars:!0},h={color:\"#2196f3\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},l={topColor:\"rgba( 46, 220, 135, 0.4)\",bottomColor:\"rgba( 40, 221, 100, 0)\",invertFilledArea:!1,lineColor:\"#33D778\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},a={baseValue:{type:\"price\",price:0},topFillColor1:\"rgba(38, 166, 154, 0.28)\",topFillColor2:\"rgba(38, 166, 154, 0.05)\",topLineColor:\"rgba(38, 166, 154, 1)\",bottomFillColor1:\"rgba(239, 83, 80, 0.05)\",bottomFillColor2:\"rgba(239, 83, 80, 0.28)\",bottomLineColor:\"rgba(239, 83, 80, 1)\",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},o={color:\"#26a69a\",base:0},_={color:\"#2196f3\"},u={title:\"\",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:\"\",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:\"#B2B5BE\",baseLineStyle:0,priceFormat:{type:\"price\",precision:2,minMove:.01}};var c,d;function f(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function v(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function p(t,i){if(!t)throw new Error(\"Assertion failed\"+(i?\": \"+i:\"\"))}function m(t){if(void 0===t)throw new Error(\"Value is undefined\");return t}function b(t){if(null===t)throw new Error(\"Value is null\");return t}function w(t){return b(m(t))}!function(t){t[t.Simple=0]=\"Simple\",t[t.WithSteps=1]=\"WithSteps\",t[t.Curved=2]=\"Curved\"}(c||(c={})),function(t){t[t.Solid=0]=\"Solid\",t[t.Dotted=1]=\"Dotted\",t[t.Dashed=2]=\"Dashed\",t[t.LargeDashed=3]=\"LargeDashed\",t[t.SparseDotted=4]=\"SparseDotted\"}(d||(d={}));const g={khaki:\"#f0e68c\",azure:\"#f0ffff\",aliceblue:\"#f0f8ff\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",gray:\"#808080\",green:\"#008000\",honeydew:\"#f0fff0\",floralwhite:\"#fffaf0\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lemonchiffon:\"#fffacd\",hotpink:\"#ff69b4\",lightyellow:\"#ffffe0\",greenyellow:\"#adff2f\",lightgoldenrodyellow:\"#fafad2\",limegreen:\"#32cd32\",linen:\"#faf0e6\",lightcyan:\"#e0ffff\",magenta:\"#f0f\",maroon:\"#800000\",olive:\"#808000\",orange:\"#ffa500\",oldlace:\"#fdf5e6\",mediumblue:\"#0000cd\",transparent:\"#0000\",lime:\"#0f0\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",midnightblue:\"#191970\",orchid:\"#da70d6\",mediumorchid:\"#ba55d3\",mediumturquoise:\"#48d1cc\",orangered:\"#ff4500\",royalblue:\"#4169e1\",powderblue:\"#b0e0e6\",red:\"#f00\",coral:\"#ff7f50\",turquoise:\"#40e0d0\",white:\"#fff\",whitesmoke:\"#f5f5f5\",wheat:\"#f5deb3\",teal:\"#008080\",steelblue:\"#4682b4\",bisque:\"#ffe4c4\",aquamarine:\"#7fffd4\",aqua:\"#0ff\",sienna:\"#a0522d\",silver:\"#c0c0c0\",springgreen:\"#00ff7f\",antiquewhite:\"#faebd7\",burlywood:\"#deb887\",brown:\"#a52a2a\",beige:\"#f5f5dc\",chocolate:\"#d2691e\",chartreuse:\"#7fff00\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cadetblue:\"#5f9ea0\",tomato:\"#ff6347\",fuchsia:\"#f0f\",blue:\"#00f\",salmon:\"#fa8072\",blanchedalmond:\"#ffebcd\",slateblue:\"#6a5acd\",slategray:\"#708090\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",blueviolet:\"#8a2be2\",black:\"#000\",darkmagenta:\"#8b008b\",darkslateblue:\"#483d8b\",darkkhaki:\"#bdb76b\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkgreen:\"#006400\",darkred:\"#8b0000\",dodgerblue:\"#1e90ff\",darkslategray:\"#2f4f4f\",dimgray:\"#696969\",deepskyblue:\"#00bfff\",firebrick:\"#b22222\",forestgreen:\"#228b22\",indigo:\"#4b0082\",ivory:\"#fffff0\",lavenderblush:\"#fff0f5\",feldspar:\"#d19275\",indianred:\"#cd5c5c\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslateblue:\"#8470ff\",snow:\"#fffafa\",lightseagreen:\"#20b2aa\",lightsalmon:\"#ffa07a\",darksalmon:\"#e9967a\",darkviolet:\"#9400d3\",mediumpurple:\"#9370d8\",mediumaquamarine:\"#66cdaa\",skyblue:\"#87ceeb\",lavender:\"#e6e6fa\",lightsteelblue:\"#b0c4de\",mediumvioletred:\"#c71585\",mintcream:\"#f5fffa\",navajowhite:\"#ffdead\",navy:\"#000080\",olivedrab:\"#6b8e23\",palevioletred:\"#d87093\",violetred:\"#d02090\",yellow:\"#ff0\",yellowgreen:\"#9acd32\",lawngreen:\"#7cfc00\",pink:\"#ffc0cb\",paleturquoise:\"#afeeee\",palegoldenrod:\"#eee8aa\",darkolivegreen:\"#556b2f\",darkseagreen:\"#8fbc8f\",darkturquoise:\"#00ced1\",peachpuff:\"#ffdab9\",deeppink:\"#ff1493\",violet:\"#ee82ee\",palegreen:\"#98fb98\",mediumseagreen:\"#3cb371\",peru:\"#cd853f\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",purple:\"#800080\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",papayawhip:\"#ffefd5\",mediumslateblue:\"#7b68ee\",plum:\"#dda0dd\",mediumspringgreen:\"#00fa9a\"};function M(t){return t<0?0:t>255?255:Math.round(t)||0}function x(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const S=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,k=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,y=/^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/,C=/^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;function T(t){(t=t.toLowerCase())in g&&(t=g[t]);{const i=C.exec(t)||y.exec(t);if(i)return[M(parseInt(i[1],10)),M(parseInt(i[2],10)),M(parseInt(i[3],10)),x(i.length<5?1:parseFloat(i[4]))]}{const i=k.exec(t);if(i)return[M(parseInt(i[1],16)),M(parseInt(i[2],16)),M(parseInt(i[3],16)),1]}{const i=S.exec(t);if(i)return[M(17*parseInt(i[1],16)),M(17*parseInt(i[2],16)),M(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function P(t){return.199*t[0]+.687*t[1]+.114*t[2]}function R(t){const i=T(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:P(i)>160?\"black\":\"white\"}}class D{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function V(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&![\"__proto__\",\"constructor\",\"prototype\"].includes(i)&&(\"object\"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:V(t[i],n[i]));return t}function O(t){return\"number\"==typeof t&&isFinite(t)}function B(t){return\"number\"==typeof t&&t%1==0}function A(t){return\"string\"==typeof t}function I(t){return\"boolean\"==typeof t}function z(t){const i=t;if(!i||\"object\"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&\"object\"==typeof e?z(e):e);return n}function L(t){return null!==t}function E(t){return null===t?void 0:t}const N=\"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";function F(t,i,n){return void 0===i&&(i=N),`${n=void 0!==n?`${n} `:\"\"}${t}px ${i}`}class W{constructor(t){this.k={C:1,T:5,P:NaN,R:\"\",D:\"\",V:\"\",O:\"\",B:0,A:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=F(i,n),t.L=2.5/12*i,t.B=t.L,t.A=i/12*t.T,t.I=i/12*t.T,t.N=0),t.V=this.$(),t.O=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class j{constructor(){this.Y=[]}Z(t){this.Y=t}X(t,i,n){this.Y.forEach((s=>{s.X(t,i,n)}))}}class H{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.K(t,i,n)))}}class $ extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function U(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:\"\",rt:\"\",ht:0,et:0,tt:null}}const q={from:0,to:1};class Y{constructor(t,i){this.ut=new j,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.Z(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(U),this.ct=this.dt.map((t=>{const i=new $;return i.J(t),i})),this.ut.Z(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.kt(n);if(t||null===l||!i.yt())return void(h.tt=null);const a=b(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Vt),h.rt=null!==(r=l.Ot)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().At()),h.it[0].ot=n,h.it[0].nt=s.It(n),h.tt=q}))}}class Z extends H{constructor(t){super(),this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=this.zt.Lt.yt,r=this.zt.Et.yt;if(!e&&!r)return;const h=Math.round(this.zt.nt*n),l=Math.round(this.zt.st*s);t.lineCap=\"butt\",e&&h>=0&&(t.lineWidth=Math.floor(this.zt.Lt.et*n),t.strokeStyle=this.zt.Lt.V,t.fillStyle=this.zt.Lt.V,f(t,this.zt.Lt.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.zt.Et.et*s),t.strokeStyle=this.zt.Et.V,t.fillStyle=this.zt.Et.V,f(t,this.zt.Et.Nt),v(t,l,0,i.width))}}class X{constructor(t){this.ft=!0,this.Ft={Lt:{et:1,Nt:0,V:\"\",yt:!1},Et:{et:1,Nt:0,V:\"\",yt:!1},nt:0,st:0},this.Wt=new Z(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.yt(),i=b(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Et.yt=!1,void(s.Lt.yt=!1);s.Et.yt=t&&this.jt.Ut(i),s.Lt.yt=t&&this.jt.qt(),s.Et.et=n.horzLine.width,s.Et.Nt=n.horzLine.style,s.Et.V=n.horzLine.color,s.Lt.et=n.vertLine.width,s.Lt.Nt=n.vertLine.style,s.Lt.V=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Zt()}}function K(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function G(t,i,n,s,e,r){t.save(),t.globalCompositeOperation=\"copy\",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function J(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function Q(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=\"\"){if(t.save(),!h||!a||a===r)return J(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;J(t,i+o,n+o,s-h,e-h,(_=-o,l.map((t=>0===t?t:t+_)))),\"transparent\"!==r&&(t.fillStyle=r,t.fill()),\"transparent\"!==a&&(t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()),t.restore()}function tt(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation=\"copy\";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class it{constructor(t,i){this.J(t,i)}J(t,i){this.zt=t,this.Xt=i}At(t,i){return this.zt.yt?t.P+t.L+t.B:0}X(t,i,n,s){if(!this.zt.yt||0===this.zt.Kt.length)return;const e=this.zt.V,r=this.Xt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt;return l.Qt?Q(h,a.ti,a.ii,a.ni,a.si,r,a.ei,[a.ht,0,0,a.ht],r):Q(h,a.ri,a.ii,a.ni,a.si,r,a.ei,[0,a.ht,a.ht,0],r),this.zt.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),this.zt._i&&(h.fillStyle=i.O,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?\"right\":\"left\",t.textBaseline=\"middle\",t.fillStyle=e,t.fillText(this.zt.Kt,n.fi,(n.ii+n.ci)/2+n.pi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.zt.hi||!this.zt.mi?i.T:0,u=this.zt.bi?i.C:0,c=i.L+this.Xt.wi,d=i.B+this.Xt.gi,f=i.A,v=i.I,p=this.zt.Kt,m=i.P,b=n.Mi(r,p),w=Math.ceil(n.xi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const k=u>0?Math.max(1,Math.floor(u*a)):0,y=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Xt.Si)&&void 0!==e?e:this.Xt.ki,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,V=\"right\"===s,O=V?l.width-u:u,B=V?h.width-k:k;let A,I,z;return V?(A=B-y,I=B-C,z=O-_-f-u):(A=B+y,I=B+C,z=O+_+f),{Qt:V,Jt:{ii:R,li:P,ci:D,ni:y,si:S,ht:2*a,ei:k,ti:A,ri:B,ai:I,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:z,pi:b}}}}class nt{constructor(t){this.yi={ki:0,t:\"#000\",gi:0,wi:0},this.Ci={Kt:\"\",yt:!1,hi:!0,mi:!1,Ot:\"\",V:\"#FFF\",_i:!1,bi:!1},this.Ti={Kt:\"\",yt:!1,hi:!1,mi:!0,Ot:\"\",V:\"#FFF\",_i:!0,bi:!0},this.ft=!0,this.Pi=new(t||it)(this.Ci,this.yi),this.Ri=new(t||it)(this.Ti,this.yi)}Kt(){return this.Di(),this.Ci.Kt}ki(){return this.Di(),this.yi.ki}bt(){this.ft=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Vi(){return this.yi.Si||0}Oi(t){this.yi.Si=t}Bi(){return this.Di(),this.Ci.yt||this.Ti.yt}Ai(){return this.Di(),this.Ci.yt}gt(t){return this.Di(),this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.hi=this.Ti.hi&&t.W().ticksVisible,this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Pi}Ii(){return this.Di(),this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Ri}Di(){this.ft&&(this.Ci.hi=!0,this.Ti.hi=!1,this.zi(this.Ci,this.Ti,this.yi))}}class st extends nt{constructor(t,i,n){super(),this.jt=t,this.Li=i,this.Ei=n}zi(t,i,n){if(t.yt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Li.Ct();if(!this.jt.yt()||this.Li.Ni()||null===e)return;const r=R(s.labelBackgroundColor);n.t=r.t,t.V=r.i;const h=2/12*this.Li.P();n.wi=h,n.gi=h;const l=this.Ei(this.Li);n.ki=l.ki,t.Kt=this.Li.Fi(l._t,e),t.yt=!0}}const et=/[1-9]/g;class rt{constructor(){this.zt=null}J(t){this.zt=t}X(t,i){if(null===this.zt||!1===this.zt.yt||0===this.zt.Kt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Wi.xi(t,b(this.zt).Kt,et)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,h=this.zt.Hi;let l=this.zt.ki,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=b(this.zt);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.ki*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.V;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=b(this.zt),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign=\"left\",t.textBaseline=\"middle\",t.fillStyle=n.V;const r=i.Wi.Mi(t,\"Apr0\");t.translate(a+s,e+r),t.fillText(n.Kt,0,0)}))}}class ht{constructor(t,i,n){this.ft=!0,this.Wt=new rt,this.Ft={yt:!1,t:\"#4c525e\",V:\"white\",Kt:\"\",Hi:0,ki:NaN,hi:!0},this.vt=t,this.$i=i,this.Ei=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.yt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.$i.St();if(n.Ni())return;t.Hi=n.Hi();const s=this.Ei();if(null===s)return;t.ki=s.ki;const e=n.Ui(this.vt.xt());t.Kt=n.qi(b(e)),t.yt=!0;const r=R(i.labelBackgroundColor);t.t=r.t,t.V=r.i,t.hi=n.W().ticksVisible}}class lt{constructor(){this.Yi=null,this.Zi=0}Xi(){return this.Zi}Ki(t){this.Zi=t}Dt(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}yt(){return!0}}var at;!function(t){t[t.Normal=0]=\"Normal\",t[t.Magnet=1]=\"Magnet\",t[t.Hidden=2]=\"Hidden\"}(at||(at={}));class ot extends lt{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this._n=NaN,this.un=NaN,this.$i=t,this.cn=i,this.dn=new Y(t,this);this.fn=((t,i)=>n=>{const s=i(),e=t();if(n===b(this.tn).vn())return{_t:e,ki:s};{const t=b(n.Ct());return{_t:n.pn(s,t),ki:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.$i.St().mn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,ki:s}:null})((()=>this.sn),(()=>this.Yt()));this.bn=new ht(this,t,n),this.wn=new X(this)}W(){return this.cn}gn(t,i){this._n=t,this.un=i}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}xt(){return this.sn}Yt(){return this.ln}Zt(){return this.an}yt(){return this.en}Cn(){this.en=!1,this.Tn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.Mn()}Pn(t){return null!==this.tn?[this.wn,this.dn]:[]}Ut(t){return t===this.tn&&this.cn.horzLine.visible}qt(){return this.cn.vertLine.visible}Rn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Dn(this.rn,i,this.fn)),n}Qi(){return this.en?[this.bn]:[]}Ht(){return this.tn}Vn(){this.wn.bt(),this.rn.forEach((t=>t.bt())),this.bn.bt(),this.dn.bt()}On(t){return t&&!t.vn().Ni()?t.vn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Vn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.$i.St().It(t),this.tn=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Rt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Tn(){const t=this.$i.wt().map((t=>t.In().An())).filter(L),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Dn(t,i,n){let s=t.get(i);return void 0===s&&(s=new st(this,i,n),t.set(i,s)),s}}function _t(t){return\"left\"===t||\"right\"===t}class ut{constructor(t){this.zn=new Map,this.Ln=[],this.En=t}Nn(t,i){const n=function(t,i){return void 0===t?i:{Fn:Math.max(t.Fn,i.Fn),Wn:t.Wn||i.Wn}}(this.zn.get(t),i);this.zn.set(t,n)}jn(){return this.En}Hn(t){const i=this.zn.get(t);return void 0===i?{Fn:this.En}:{Fn:Math.max(this.En,i.Fn),Wn:i.Wn}}$n(){this.Un(),this.Ln=[{qn:0}]}Yn(t){this.Un(),this.Ln=[{qn:1,Vt:t}]}Zn(t){this.Xn(),this.Ln.push({qn:5,Vt:t})}Un(){this.Xn(),this.Ln.push({qn:6})}Kn(){this.Un(),this.Ln=[{qn:4}]}Gn(t){this.Un(),this.Ln.push({qn:2,Vt:t})}Jn(t){this.Un(),this.Ln.push({qn:3,Vt:t})}Qn(){return this.Ln}ts(t){for(const i of t.Ln)this.ns(i);this.En=Math.max(this.En,t.En),t.zn.forEach(((t,i)=>{this.Nn(i,t)}))}static ss(){return new ut(2)}static es(){return new ut(3)}ns(t){switch(t.qn){case 0:this.$n();break;case 1:this.Yn(t.Vt);break;case 2:this.Gn(t.Vt);break;case 3:this.Jn(t.Vt);break;case 4:this.Kn();break;case 5:this.Zn(t.Vt);break;case 6:this.Xn()}}Xn(){const t=this.Ln.findIndex((t=>5===t.qn));-1!==t&&this.Ln.splice(t,1)}}const ct=\".\";function dt(t,i){if(!O(t))return\"n/a\";if(!B(i))throw new TypeError(\"invalid length\");if(i<0||i>16)throw new TypeError(\"invalid length\");if(0===i)return t.toString();return(\"0000000000000000\"+t.toString()).slice(-i)}class ft{constructor(t,i){if(i||(i=1),O(t)&&B(t)||(t=100),t<0)throw new TypeError(\"invalid base\");this.Li=t,this.rs=i,this.hs()}format(t){const i=t<0?\"−\":\"\";return t=Math.abs(t),i+this.ls(t)}hs(){if(this._s=0,this.Li>0&&this.rs>0){let t=this.Li;for(;t>1;)t/=10,this._s++}}ls(t){const i=this.Li/this.rs;let n=Math.floor(t),s=\"\";const e=void 0!==this._s?this._s:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this._s);r>=i&&(r-=i,n+=1),s=ct+dt(+r.toFixed(this._s)*this.rs,e)}else n=Math.round(n*i)/i,e>0&&(s=ct+dt(0,e));return n.toFixed(0)+s}}class vt extends ft{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class pt{constructor(t){this.us=t}format(t){let i=\"\";return t<0&&(i=\"-\",t=-t),t<995?i+this.cs(t):t<999995?i+this.cs(t/1e3)+\"K\":t<999999995?(t=1e3*Math.round(t/1e3),i+this.cs(t/1e6)+\"M\"):(t=1e6*Math.round(t/1e6),i+this.cs(t/1e9)+\"B\")}cs(t){let i;const n=Math.pow(10,this.us);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.us).replace(/\\.?0+$/,\"\"):String(t),i.replace(/(\\.[1-9]*)0+$/,((t,i)=>i))}}function mt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h<s.to;++h){d=i[h];const s=r(t,d);switch(n){case 0:l.lineTo(d.nt*a,d.st*o);break;case 1:l.lineTo(d.nt*a,i[h-1].st*o),s!==u&&(e(s,d),l.lineTo(d.nt*a,i[h-1].st*o)),l.lineTo(d.nt*a,d.st*o);break;case 2:{const[t,n]=Mt(i,h-1,h);l.bezierCurveTo(t.nt*a,t.st*o,n.nt*a,n.st*o,d.nt*a,d.st*o);break}}1!==n&&s!==u&&(e(s,d),l.moveTo(d.nt*a,d.st*o))}(c!==d||c===d&&1===n)&&h(t,u,c,d)}}const bt=6;function wt(t,i){return{nt:t.nt-i.nt,st:t.st-i.st}}function gt(t,i){return{nt:t.nt/i,st:t.st/i}}function Mt(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=gt(wt(t[n],t[s]),bt),{nt:r.nt+h.nt,st:r.st+h.st}),wt(t[n],gt(wt(t[e],t[i]),bt))]}function xt(t,i,n,s,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.nt*h,t*l),r.lineTo(s.nt*h,t*l),r.closePath(),r.fillStyle=n,r.fill()}class St extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){var i;if(null===this.G)return;const{it:n,tt:s,ds:e,et:r,Nt:h,fs:l}=this.G,a=null!==(i=this.G.vs)&&void 0!==i?i:this.G.ps?0:t.mediaSize.height;if(null===s)return;const o=t.context;o.lineCap=\"butt\",o.lineJoin=\"round\",o.lineWidth=r,f(o,h),o.lineWidth=1,mt(t,n,l,s,e,this.bs.bind(this),xt.bind(null,a))}}function kt(t,i,n){return Math.min(Math.max(t,i),n)}function yt(t,i,n){return i-t<=n}function Ct(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Tt{ws(t,i){const n=this.gs,{Ms:s,xs:e,Ss:r,ks:h,ys:l,vs:a}=i;if(void 0===this.Cs||void 0===n||n.Ms!==s||n.xs!==e||n.Ss!==r||n.ks!==h||n.vs!==a||n.ys!==l){const n=t.context.createLinearGradient(0,0,0,l);if(n.addColorStop(0,s),null!=a){const i=kt(a*t.verticalPixelRatio/l,0,1);n.addColorStop(i,e),n.addColorStop(i,r)}n.addColorStop(1,h),this.Cs=n,this.gs=i}return this.Cs}}class Pt extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){return this.Ts.ws(t,{Ms:i.Ps,xs:\"\",Ss:\"\",ks:i.Rs,ys:t.bitmapSize.height})}}function Rt(t,i){const n=t.context;n.strokeStyle=i,n.stroke()}class Dt extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){if(null===this.G)return;const{it:i,tt:n,ds:s,fs:e,et:r,Nt:h,Ds:l}=this.G;if(null===n)return;const a=t.context;a.lineCap=\"butt\",a.lineWidth=r*t.verticalPixelRatio,f(a,h),a.lineJoin=\"round\";const o=this.Vs.bind(this);void 0!==e&&mt(t,i,e,n,s,o,Rt),l&&function(t,i,n,s,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Vt extends Dt{Vs(t,i){return i.lt}}function Ot(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Ot.bind(null,!0),At=Ot.bind(null,!1);function It(t,i){return t.ot<i}function zt(t,i){return i<t.ot}function Lt(t,i,n){const s=i.Os(),e=i.ui(),r=Bt(t,s,It),h=At(t,e,zt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].ot>=s&&(l=r-1),h>0&&h<t.length&&t[h-1].ot<=e&&(a=h+1),{from:l,to:a}}class Et{constructor(t,i,n){this.Bs=!0,this.As=!0,this.Is=!0,this.zs=[],this.Ls=null,this.Es=t,this.Ns=i,this.Fs=n}bt(t){this.Bs=!0,\"data\"===t&&(this.As=!0),\"options\"===t&&(this.Is=!0)}gt(){return this.Es.yt()?(this.Ws(),null===this.Ls?null:this.js):null}Hs(){this.zs=this.zs.map((t=>Object.assign(Object.assign({},t),this.Es.Us().$s(t.ot))))}qs(){this.Ls=null}Ws(){this.As&&(this.Ys(),this.As=!1),this.Is&&(this.Hs(),this.Is=!1),this.Bs&&(this.Zs(),this.Bs=!1)}Zs(){const t=this.Es.Dt(),i=this.Ns.St();if(this.qs(),i.Ni()||t.Ni())return;const n=i.Xs();if(null===n)return;if(0===this.Es.In().Ks())return;const s=this.Es.Ct();null!==s&&(this.Ls=Lt(this.zs,n,this.Fs),this.Gs(t,i,s.Vt),this.Js())}}class Nt extends Et{constructor(t,i){super(t,i,!0)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.te(this.zs,n,E(this.Ls))}ie(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>{const n=i.Vt[3];return this.se(i.ee,n,t)}))}}class Ft extends Nt{constructor(t,i){super(t,i),this.js=new j,this.re=new Pt,this.he=new Vt,this.js.Z([this.re,this.he])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W();this.re.J({fs:t.lineType,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,vs:null,ps:t.invertFilledArea,tt:this.Ls,ds:this.Ns.St().le()}),this.he.J({fs:t.lineVisible?t.lineType:void 0,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Ls,ds:this.Ns.St().le(),Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Wt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0,this.oe=0}J(t){this.zt=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;if(this.ae=this._e(i),this.ae>=2){Math.max(1,Math.floor(i))%2!=this.ae%2&&this.ae--}this.oe=this.zt.ue?Math.min(this.ae,Math.floor(i)):this.ae;let s=null;const e=this.oe<=this.ae&&this.zt.le>=Math.floor(1.5*i);for(let r=this.zt.tt.from;r<this.zt.tt.to;++r){const h=this.zt.In[r];s!==h.ce&&(t.fillStyle=h.ce,s=h.ce);const l=Math.floor(.5*this.oe),a=Math.round(h.nt*i),o=a-l,_=this.oe,u=o+_-1,c=Math.min(h.de,h.fe),d=Math.max(h.de,h.fe),f=Math.round(c*n)-l,v=Math.round(d*n)+l,p=Math.max(v-f,this.oe);t.fillRect(o,f,_,p);const m=Math.ceil(1.5*this.ae);if(e){if(this.zt.ve){const i=a-m;let s=Math.max(f,Math.round(h.pe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.me*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}_e(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(b(this.zt).le,t)))}}class jt extends Et{constructor(t,i){super(t,i,!1)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.be(this.zs,n,E(this.Ls))}we(t,i,n){return{ot:t,ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3],nt:NaN,pe:NaN,de:NaN,fe:NaN,me:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>this.se(i.ee,i,t)))}}class Ht extends jt{constructor(){super(...arguments),this.js=new Wt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),ve:t.openVisible,ue:t.thinBars,tt:this.Ls})}}class $t extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){const n=this.G;return this.Ts.ws(t,{Ms:i.ke,xs:i.ye,Ss:i.Ce,ks:i.Te,ys:t.bitmapSize.height,vs:n.vs})}}class Ut extends Dt{constructor(){super(...arguments),this.Pe=new Tt}Vs(t,i){const n=this.G;return this.Pe.ws(t,{Ms:i.Re,xs:i.Re,Ss:i.De,ks:i.De,ys:t.bitmapSize.height,vs:n.vs})}}class qt extends Nt{constructor(t,i){super(t,i),this.js=new j,this.Ve=new $t,this.Oe=new Ut,this.js.Z([this.Ve,this.Oe])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.Ct();if(null===t)return;const i=this.Es.W(),n=this.Es.Dt().Rt(i.baseValue.price,t.Vt),s=this.Ns.St().le();this.Ve.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineType,vs:n,ps:!1,tt:this.Ls,ds:s}),this.Oe.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineVisible?i.lineType:void 0,Ds:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,vs:n,tt:this.Ls,ds:s})}}class Yt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0}J(t){this.zt=t}K(t){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;const{horizontalPixelRatio:i}=t;if(this.ae=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.zt.le,i),this.ae>=2){Math.floor(i)%2!=this.ae%2&&this.ae--}const n=this.zt.In;this.zt.Be&&this.Ae(t,n,this.zt.tt),this.zt._i&&this.Ie(t,n,this.zt.tt);const s=this.ze(i);(!this.zt._i||this.ae>2*s)&&this.Le(t,n,this.zt.tt)}Ae(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\",l=Math.min(Math.floor(e),Math.floor(this.zt.le*e));l=Math.max(Math.floor(e),Math.min(l,this.ae));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ee!==h&&(s.fillStyle=n.Ee,h=n.Ee);const _=Math.round(Math.min(n.pe,n.me)*r),u=Math.round(Math.max(n.pe,n.me)*r),c=Math.round(n.de*r),d=Math.round(n.fe*r);let f=Math.round(e*n.nt)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;s.fillRect(f,c,p,_-c),s.fillRect(f,u+1,p,d-u),o=v}}ze(t){let i=Math.floor(1*t);this.ae<=2*i&&(i=Math.floor(.5*(this.ae-1)));const n=Math.max(Math.floor(t),i);return this.ae<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}Ie(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ne!==h&&(s.fillStyle=n.Ne,h=n.Ne);let o=Math.round(n.nt*e)-Math.floor(.5*this.ae);const _=o+this.ae-1,u=Math.round(Math.min(n.pe,n.me)*r),c=Math.round(Math.max(n.pe,n.me)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.zt.le*e>2*l)K(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Le(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.pe,n.me)*r),o=Math.round(Math.max(n.pe,n.me)*r),_=Math.round(n.nt*e)-Math.floor(.5*this.ae),u=_+this.ae-1;if(n.ce!==h){const t=n.ce;s.fillStyle=t,h=t}this.zt._i&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Zt extends jt{constructor(){super(...arguments),this.js=new Yt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),Be:t.wickVisible,_i:t.borderVisible,tt:this.Ls})}}class Xt{constructor(t,i){this.Fe=t,this.Li=i}X(t,i,n){this.Fe.draw(t,this.Li,i,n)}}class Kt extends Et{constructor(t,i,n){super(t,i,!1),this.wn=n,this.js=new Xt(this.wn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Vt)}))}We(t){return this.wn.priceValueBuilder(t)}je(t){return this.wn.isWhitespace(t)}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>Object.assign(Object.assign({ot:i.ee,nt:NaN},t.$s(i.ee)),{He:i.$e})))}Gs(t,i){i.Qs(this.zs,E(this.Ls))}Js(){this.wn.update({bars:this.zs.map(Gt),barSpacing:this.Ns.St().le(),visibleRange:this.Ls},this.Es.W())}}function Gt(t){return{x:t.nt,time:t.ot,originalData:t.He,barColor:t.ce}}class Jt extends H{constructor(){super(...arguments),this.zt=null,this.Ue=[]}J(t){this.zt=t,this.Ue=[]}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return;this.Ue.length||this.qe(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.zt.Ye*n)-Math.floor(s/2),r=e+s;for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const h=this.zt.it[i],l=this.Ue[i-this.zt.tt.from],a=Math.round(h.st*n);let o,_;t.fillStyle=h.ce,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Os,o,l.ui-l.Os+1,_-o)}}qe(t){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return void(this.Ue=[]);const i=Math.ceil(this.zt.le*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.zt.le*t)-i;this.Ue=new Array(this.zt.tt.to-this.zt.tt.from);for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const s=this.zt.it[i],e=Math.round(s.nt*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Ue[i-this.zt.tt.from]={Os:r,ui:h,Ze:e,Xe:s.nt*t,ot:s.ot}}for(let t=this.zt.tt.from+1;t<this.zt.tt.to;t++){const n=this.Ue[t-this.zt.tt.from],s=this.Ue[t-this.zt.tt.from-1];n.ot===s.ot+1&&(n.Os-s.ui!==i+1&&(s.Ze>s.Xe?s.ui=n.Os-i-1:n.Os=s.ui+i+1))}let s=Math.ceil(this.zt.le*t);for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui<i.Os&&(i.ui=i.Os);const n=i.ui-i.Os+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui-i.Os+1>s&&(i.Ze>i.Xe?i.ui-=1:i.Os+=1)}}}class Qt extends Nt{constructor(){super(...arguments),this.js=new Jt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t={it:this.zs,le:this.Ns.St().le(),tt:this.Ls,Ye:this.Es.Dt().Rt(this.Es.W().base,b(this.Es.Ct()).Vt)};this.js.J(t)}}class ti extends Nt{constructor(){super(...arguments),this.js=new Vt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W(),i={it:this.zs,Nt:t.lineStyle,fs:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Ls,ds:this.Ns.St().le()};this.js.J(i)}}const ii=/[2-9]/g;class ni{constructor(t=50){this.Ke=0,this.Ge=1,this.Je=1,this.Qe={},this.tr=new Map,this.ir=t}nr(){this.Ke=0,this.tr.clear(),this.Ge=1,this.Je=1,this.Qe={}}xi(t,i,n){return this.sr(t,i,n).width}Mi(t,i,n){const s=this.sr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}sr(t,i,n){const s=n||ii,e=String(i).replace(s,\"0\");if(this.tr.has(e))return m(this.tr.get(e)).er;if(this.Ke===this.ir){const t=this.Qe[this.Je];delete this.Qe[this.Je],this.tr.delete(t),this.Je++,this.Ke--}t.save(),t.textBaseline=\"middle\";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.tr.set(e,{er:r,rr:this.Ge}),this.Qe[this.Ge]=e,this.Ke++,this.Ge++),r}}class si{constructor(t){this.hr=null,this.k=null,this.lr=\"right\",this.ar=t}_r(t,i,n){this.hr=t,this.k=i,this.lr=n}X(t){null!==this.k&&null!==this.hr&&this.hr.X(t,this.k,this.ar,this.lr)}}class ei{constructor(t,i,n){this.ur=t,this.ar=new ni(50),this.cr=i,this.F=n,this.j=-1,this.Wt=new si(this.ar)}gt(){const t=this.F.dr(this.cr);if(null===t)return null;const i=t.vr(this.cr)?t.pr():this.cr.Dt();if(null===i)return null;const n=t.mr(i);if(\"overlay\"===n)return null;const s=this.F.br();return s.P!==this.j&&(this.j=s.P,this.ar.nr()),this.Wt._r(this.ur.Ii(),s,n),this.Wt}}class ri extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}wr(t,i){var n;if(!(null===(n=this.zt)||void 0===n?void 0:n.yt))return null;const{st:s,et:e,gr:r}=this.zt;return i>=s-e-7&&i<=s+e+7?{Mr:this.zt,gr:r}:null}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;if(!1===this.zt.yt)return;const e=Math.round(this.zt.st*s);e<0||e>i.height||(t.lineCap=\"butt\",t.strokeStyle=this.zt.V,t.lineWidth=Math.floor(this.zt.et*n),f(t,this.zt.Nt),v(t,e,0,i.width))}}class hi{constructor(t){this.Sr={st:0,V:\"rgba(0, 0, 0, 0)\",et:1,Nt:0,yt:!1},this.kr=new ri,this.ft=!0,this.Es=t,this.Ns=t.$t(),this.kr.J(this.Sr)}bt(){this.ft=!0}gt(){return this.Es.yt()?(this.ft&&(this.yr(),this.ft=!1),this.kr):null}}class li extends hi{constructor(t){super(t)}yr(){this.Sr.yt=!1;const t=this.Es.Dt(),i=t.Cr().Cr;if(2!==i&&3!==i)return;const n=this.Es.W();if(!n.baseLineVisible||!this.Es.yt())return;const s=this.Es.Ct();null!==s&&(this.Sr.yt=!0,this.Sr.st=t.Rt(s.Vt,s.Vt),this.Sr.V=n.baseLineColor,this.Sr.et=n.baseLineWidth,this.Sr.Nt=n.baseLineStyle)}}class ai extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}$e(){return this.zt}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.zt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Xe.x*i)+r,l=s.Xe.y*n;t.fillStyle=s.Tr,t.beginPath();const a=Math.max(2,1.5*s.Pr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Rr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Dr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const oi=[{Vr:0,Or:.25,Br:4,Ar:10,Ir:.25,zr:0,Lr:.4,Er:.8},{Vr:.25,Or:.525,Br:10,Ar:14,Ir:0,zr:0,Lr:.8,Er:0},{Vr:.525,Or:1,Br:14,Ar:14,Ir:0,zr:0,Lr:0,Er:0}];function _i(t,i,n,s){return function(t,i){if(\"transparent\"===t)return t;const n=T(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function ui(t,i){const n=t%2600/2600;let s;for(const t of oi)if(n>=t.Vr&&n<=t.Or){s=t;break}p(void 0!==s,\"Last price animation internal logic error\");const e=(n-s.Vr)/(s.Or-s.Vr);return{Rr:_i(i,e,s.Ir,s.zr),Dr:_i(i,e,s.Lr,s.Er),ht:(r=e,h=s.Br,l=s.Ar,h+(l-h)*r)};var r,h,l}class ci{constructor(t){this.Wt=new ai,this.ft=!0,this.Nr=!0,this.Fr=performance.now(),this.Wr=this.Fr-1,this.jr=t}Hr(){this.Wr=this.Fr-1,this.bt()}$r(){if(this.bt(),2===this.jr.W().lastPriceAnimation){const t=performance.now(),i=this.Wr-t;if(i>0)return void(i<650&&(this.Wr+=2600));this.Fr=t,this.Wr=t+2600}}bt(){this.ft=!0}Ur(){this.Nr=!0}yt(){return 0!==this.jr.W().lastPriceAnimation}qr(){switch(this.jr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Wr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Nr=!1):this.Nr&&(this.Yr(),this.Nr=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.jr.$t().St(),i=t.Xs(),n=this.jr.Ct();if(null===i||null===n)return;const s=this.jr.Zr(!0);if(s.Xr||!i.Kr(s.ee))return;const e={x:t.It(s.ee),y:this.jr.Dt().Rt(s._t,n.Vt)},r=s.V,h=this.jr.W().lineWidth,l=ui(this.Gr(),r);this.Wt.J({Tr:r,Pr:h,Rr:l.Rr,Dr:l.Dr,ht:l.ht,Xe:e})}Yr(){const t=this.Wt.$e();if(null!==t){const i=ui(this.Gr(),t.Tr);t.Rr=i.Rr,t.Dr=i.Dr,t.ht=i.ht}}Gr(){return this.qr()?performance.now()-this.Fr:2599}}function di(t,i){return Ct(Math.min(Math.max(t,12),30)*i)}function fi(t,i){switch(t){case\"arrowDown\":case\"arrowUp\":return di(i,1);case\"circle\":return di(i,.8);case\"square\":return di(i,.7)}}function vi(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(di(t,1))}function pi(t){return Math.max(di(t,.1),3)}function mi(t,i,n){return i?t:n?Math.ceil(t/2):0}function bi(t,i,n,s,e){const r=fi(\"square\",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function wi(t,i,n,s){const e=(fi(\"arrowUp\",s)-1)/2*n.Jr,r=(Ct(s/2)-1)/2*n.Jr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function gi(t,i,n,s,e,r){return bi(i,n,s,e,r)}class Mi extends H{constructor(){super(...arguments),this.zt=null,this.ar=new ni,this.j=-1,this.H=\"\",this.Qr=\"\"}J(t){this.zt=t}_r(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Qr=F(t,i),this.ar.nr())}wr(t,i){if(null===this.zt||null===this.zt.tt)return null;for(let n=this.zt.tt.from;n<this.zt.tt.to;n++){const s=this.zt.it[n];if(Si(s,t,i))return{Mr:s.th,gr:s.gr}}return null}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n},s,e){if(null!==this.zt&&null!==this.zt.tt){t.textBaseline=\"middle\",t.font=this.Qr;for(let s=this.zt.tt.from;s<this.zt.tt.to;s++){const e=this.zt.it[s];void 0!==e.Kt&&(e.Kt.Hi=this.ar.xi(t,e.Kt.ih),e.Kt.At=this.j,e.Kt.nt=e.nt-e.Kt.Hi/2),xi(e,t,i,n)}}}}function xi(t,i,n,s){i.fillStyle=t.V,void 0!==t.Kt&&function(t,i,n,s,e,r){t.save(),t.scale(e,r),t.fillText(i,n,s),t.restore()}(i,t.Kt.ih,t.Kt.nt,t.Kt.st,n,s),function(t,i,n){if(0===t.Ks)return;switch(t.nh){case\"arrowDown\":return void wi(!1,i,n,t.Ks);case\"arrowUp\":return void wi(!0,i,n,t.Ks);case\"circle\":return void function(t,i,n){const s=(fi(\"circle\",n)-1)/2;t.beginPath(),t.arc(i.nt,i.st,s*i.Jr,0,2*Math.PI,!1),t.fill()}(i,n,t.Ks);case\"square\":return void function(t,i,n){const s=fi(\"square\",n),e=(s-1)*i.Jr/2,r=i.nt-e,h=i.st-e;t.fillRect(r,h,s*i.Jr,s*i.Jr)}(i,n,t.Ks)}t.nh}(t,i,function(t,i,n){const s=Math.max(1,Math.floor(i))%2/2;return{nt:Math.round(t.nt*i)+s,st:t.st*n,Jr:i}}(t,n,s))}function Si(t,i,n){return!(void 0===t.Kt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Kt.nt,t.Kt.st,t.Kt.Hi,t.Kt.At,i,n))||function(t,i,n){if(0===t.Ks)return!1;switch(t.nh){case\"arrowDown\":case\"arrowUp\":return gi(0,t.nt,t.st,t.Ks,i,n);case\"circle\":return function(t,i,n,s,e){const r=2+fi(\"circle\",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ks,i,n);case\"square\":return bi(t.nt,t.st,t.Ks,i,n)}}(t,i,n)}function ki(t,i,n,s,e,r,h,l,a){const o=O(n)?n:n.Se,_=O(n)?n:n.Me,u=O(n)?n:n.xe,c=O(i.size)?Math.max(i.size,0):1,d=vi(l.le())*c,f=d/2;switch(t.Ks=d,i.position){case\"inBar\":return t.st=h.Rt(o,a),void(void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e));case\"aboveBar\":return t.st=h.Rt(_,a)-f-s.sh,void 0!==t.Kt&&(t.Kt.st=t.st-f-.6*e,s.sh+=1.2*e),void(s.sh+=d+r);case\"belowBar\":return t.st=h.Rt(u,a)+f+s.eh,void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e,s.eh+=1.2*e),void(s.eh+=d+r)}i.position}class yi{constructor(t,i){this.ft=!0,this.rh=!0,this.hh=!0,this.ah=null,this.oh=null,this.Wt=new Mi,this.jr=t,this.$i=i,this.zt={it:[],tt:null}}bt(t){this.ft=!0,this.hh=!0,\"data\"===t&&(this.rh=!0,this.oh=null)}gt(t){if(!this.jr.yt())return null;this.ft&&this._h();const i=this.$i.W().layout;return this.Wt._r(i.fontSize,i.fontFamily),this.Wt.J(this.zt),this.Wt}uh(){if(this.hh){if(this.jr.dh().length>0){const t=this.$i.St().le(),i=pi(t),n=1.5*vi(t)+2*i,s=this.fh();this.ah={above:mi(n,s.aboveBar,s.inBar),below:mi(n,s.belowBar,s.inBar)}}else this.ah=null;this.hh=!1}return this.ah}fh(){return null===this.oh&&(this.oh=this.jr.dh().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.oh}_h(){const t=this.jr.Dt(),i=this.$i.St(),n=this.jr.dh();this.rh&&(this.zt.it=n.map((t=>({ot:t.time,nt:0,st:0,Ks:0,nh:t.shape,V:t.color,th:t.th,gr:t.id,Kt:void 0}))),this.rh=!1);const s=this.$i.W().layout;this.zt.tt=null;const e=i.Xs();if(null===e)return;const r=this.jr.Ct();if(null===r)return;if(0===this.zt.it.length)return;let h=NaN;const l=pi(i.le()),a={sh:l,eh:l};this.zt.tt=Lt(this.zt.it,e,!0);for(let e=this.zt.tt.from;e<this.zt.tt.to;e++){const o=n[e];o.time!==h&&(a.sh=l,a.eh=l,h=o.time);const _=this.zt.it[e];_.nt=i.It(o.time),void 0!==o.text&&o.text.length>0&&(_.Kt={ih:o.text,nt:0,st:0,Hi:0,At:0});const u=this.jr.ph(o.time);null!==u&&ki(_,o,u,a,s.fontSize,l,t,i,r.Vt)}this.ft=!1}}class Ci extends hi{constructor(t){super(t)}yr(){const t=this.Sr;t.yt=!1;const i=this.Es.W();if(!i.priceLineVisible||!this.Es.yt())return;const n=this.Es.Zr(0===i.priceLineSource);n.Xr||(t.yt=!0,t.st=n.ki,t.V=this.Es.mh(n.V),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class Ti extends nt{constructor(t){super(),this.jt=t}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.jt;if(!s.yt())return;const e=s.W(),r=e.lastValueVisible,h=\"\"!==s.bh(),l=0===e.seriesLastValueMode,a=s.Zr(!1);if(a.Xr)return;r&&(t.Kt=this.wh(a,r,l),t.yt=0!==t.Kt.length),(h||l)&&(i.Kt=this.gh(a,r,h,l),i.yt=i.Kt.length>0);const o=s.mh(a.V),_=R(o);n.t=_.t,n.ki=a.ki,i.Ot=s.$t().Bt(a.ki/s.Dt().At()),t.Ot=o,t.V=_.i,i.V=_.i}gh(t,i,n,s){let e=\"\";const r=this.jt.bh();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().Mh()?t.xh:t.Sh),e.trim()}wh(t,i,n){return i?n?this.jt.Dt().Mh()?t.Sh:t.xh:t.Kt:\"\"}}function Pi(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class Ri{constructor(t,i){this.kh=t,this.yh=i}Ch(t){return null!==t&&(this.kh===t.kh&&this.yh===t.yh)}Th(){return new Ri(this.kh,this.yh)}Ph(){return this.kh}Rh(){return this.yh}Dh(){return this.yh-this.kh}Ni(){return this.yh===this.kh||Number.isNaN(this.yh)||Number.isNaN(this.kh)}ts(t){return null===t?this:new Ri(Pi(Math.min,this.Ph(),t.Ph(),-1/0),Pi(Math.max,this.Rh(),t.Rh(),1/0))}Vh(t){if(!O(t))return;if(0===this.yh-this.kh)return;const i=.5*(this.yh+this.kh);let n=this.yh-i,s=this.kh-i;n*=t,s*=t,this.yh=i+n,this.kh=i+s}Oh(t){O(t)&&(this.yh+=t,this.kh+=t)}Bh(){return{minValue:this.kh,maxValue:this.yh}}static Ah(t){return null===t?null:new Ri(t.minValue,t.maxValue)}}class Di{constructor(t,i){this.Ih=t,this.zh=i||null}Lh(){return this.Ih}Eh(){return this.zh}Bh(){return null===this.Ih?null:{priceRange:this.Ih.Bh(),margins:this.zh||void 0}}static Ah(t){return null===t?null:new Di(Ri.Ah(t.priceRange),t.margins)}}class Vi extends hi{constructor(t,i){super(t),this.Nh=i}yr(){const t=this.Sr;t.yt=!1;const i=this.Nh.W();if(!this.Es.yt()||!i.lineVisible)return;const n=this.Nh.Fh();null!==n&&(t.yt=!0,t.st=n,t.V=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.gr=this.Nh.W().id)}}class Oi extends nt{constructor(t,i){super(),this.jr=t,this.Nh=i}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.Nh.W(),e=s.axisLabelVisible,r=\"\"!==s.title,h=this.jr;if(!e||!h.yt())return;const l=this.Nh.Fh();if(null===l)return;r&&(i.Kt=s.title,i.yt=!0),i.Ot=h.$t().Bt(l/h.Dt().At()),t.Kt=this.Wh(s.price),t.yt=!0;const a=R(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.V=o,i.V=o,n.ki=l}Wh(t){const i=this.jr.Ct();return null===i?\"\":this.jr.Dt().Fi(t,i.Vt)}}class Bi{constructor(t,i){this.jr=t,this.cn=i,this.jh=new Vi(t,this),this.ur=new Oi(t,this),this.Hh=new ei(this.ur,t,t.$t())}$h(t){V(this.cn,t),this.bt(),this.jr.$t().Uh()}W(){return this.cn}qh(){return this.jh}Yh(){return this.Hh}Zh(){return this.ur}bt(){this.jh.bt(),this.ur.bt()}Fh(){const t=this.jr,i=t.Dt();if(t.$t().St().Ni()||i.Ni())return null;const n=t.Ct();return null===n?null:i.Rt(this.cn.price,n.Vt)}}class Ai extends lt{constructor(t){super(),this.$i=t}$t(){return this.$i}}const Ii={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=b(t(n,s)),a=w(l.Vt[0])<=w(l.Vt[3]);return{ce:null!==(e=l.V)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=b(t(n,s)),f=w(d.Vt[0])<=w(d.Vt[3]);return{ce:null!==(e=d.V)&&void 0!==e?e:f?l:a,Ne:null!==(r=d.Ot)&&void 0!==r?r:f?o:_,Ee:null!==(h=d.Xh)&&void 0!==h?h:f?u:c}},Custom:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=b(t(n,s));return{ce:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,Ps:null!==(h=a.Ps)&&void 0!==h?h:i.topColor,Rs:null!==(l=a.Rs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=b(t(n,s));return{ce:_.Vt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Re:null!==(e=_.Re)&&void 0!==e?e:i.topLineColor,De:null!==(r=_.De)&&void 0!==r?r:i.bottomLineColor,ke:null!==(h=_.ke)&&void 0!==h?h:i.topFillColor1,ye:null!==(l=_.ye)&&void 0!==l?l:i.topFillColor2,Ce:null!==(a=_.Ce)&&void 0!==a?a:i.bottomFillColor1,Te:null!==(o=_.Te)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=b(t(n,s));return{ce:null!==(e=h.V)&&void 0!==e?e:i.color,lt:null!==(r=h.V)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}}};class zi{constructor(t){this.Kh=(t,i)=>void 0!==i?i.Vt:this.jr.In().Gh(t),this.jr=t,this.Jh=Ii[t.Qh()]}$s(t,i){return this.Jh(this.Kh,this.jr.W(),t,i)}}var Li;!function(t){t[t.NearestLeft=-1]=\"NearestLeft\",t[t.None=0]=\"None\",t[t.NearestRight=1]=\"NearestRight\"}(Li||(Li={}));const Ei=30;class Ni{constructor(){this.tl=[],this.il=new Map,this.nl=new Map}sl(){return this.Ks()>0?this.tl[this.tl.length-1]:null}el(){return this.Ks()>0?this.rl(0):null}An(){return this.Ks()>0?this.rl(this.tl.length-1):null}Ks(){return this.tl.length}Ni(){return 0===this.Ks()}Kr(t){return null!==this.hl(t,0)}Gh(t){return this.ll(t)}ll(t,i=0){const n=this.hl(t,i);return null===n?null:Object.assign(Object.assign({},this.al(n)),{ee:this.rl(n)})}ne(){return this.tl}ol(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Fi(s,this._l(t,i,e))}return s}J(t){this.nl.clear(),this.il.clear(),this.tl=t}rl(t){return this.tl[t].ee}al(t){return this.tl[t]}hl(t,i){const n=this.ul(t);if(null===n&&0!==i)switch(i){case-1:return this.cl(t);case 1:return this.dl(t);default:throw new TypeError(\"Unknown search mode\")}return n}cl(t){let i=this.fl(t);return i>0&&(i-=1),i!==this.tl.length&&this.rl(i)<t?i:null}dl(t){const i=this.vl(t);return i!==this.tl.length&&t<this.rl(i)?i:null}ul(t){const i=this.fl(t);return i===this.tl.length||t<this.tl[i].ee?null:i}fl(t){return Bt(this.tl,t,((t,i)=>t.ee<i))}vl(t){return At(this.tl,t,((t,i)=>t.ee>i))}pl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.tl[e].Vt[n];Number.isNaN(t)||(null===s?s={ml:t,bl:t}:(t<s.ml&&(s.ml=t),t>s.bl&&(s.bl=t)))}return s}_l(t,i,n){if(this.Ni())return null;let s=null;const e=b(this.el()),r=b(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Ei)*Ei,o=Math.max(a,Math.floor(l/Ei)*Ei);{const t=this.fl(h),e=this.vl(Math.min(l,a,i));s=Fi(s,this.pl(t,e,n))}let _=this.il.get(n);void 0===_&&(_=new Map,this.il.set(n,_));for(let t=Math.max(a+1,h);t<o;t+=Ei){const i=Math.floor(t/Ei);let e=_.get(i);if(void 0===e){const t=this.fl(i*Ei),s=this.vl((i+1)*Ei-1);e=this.pl(t,s,n),_.set(i,e)}s=Fi(s,e)}{const t=this.fl(o),i=this.vl(l);s=Fi(s,this.pl(t,i,n))}return s}}function Fi(t,i){if(null===t)return i;if(null===i)return t;return{ml:Math.min(t.ml,i.ml),bl:Math.max(t.bl,i.bl)}}class Wi{constructor(t){this.wl=t}X(t,i,n){this.wl.draw(t)}gl(t,i,n){var s,e;null===(e=(s=this.wl).drawBackground)||void 0===e||e.call(s,t)}}class ji{constructor(t){this.tr=null,this.wn=t}gt(){var t;const i=this.wn.renderer();if(null===i)return null;if((null===(t=this.tr)||void 0===t?void 0:t.Ml)===i)return this.tr.xl;const n=new Wi(i);return this.tr={Ml:i,xl:n},n}Sl(){var t,i,n;return null!==(n=null===(i=(t=this.wn).zOrder)||void 0===i?void 0:i.call(t))&&void 0!==n?n:\"normal\"}}function Hi(t){var i,n,s,e,r;return{Kt:t.text(),ki:t.coordinate(),Si:null===(i=t.fixedCoordinate)||void 0===i?void 0:i.call(t),V:t.textColor(),t:t.backColor(),yt:null===(s=null===(n=t.visible)||void 0===n?void 0:n.call(t))||void 0===s||s,hi:null===(r=null===(e=t.tickVisible)||void 0===e?void 0:e.call(t))||void 0===r||r}}class $i{constructor(t,i){this.Wt=new rt,this.kl=t,this.yl=i}gt(){return this.Wt.J(Object.assign({Hi:this.yl.Hi()},Hi(this.kl))),this.Wt}}class Ui extends nt{constructor(t,i){super(),this.kl=t,this.Li=i}zi(t,i,n){const s=Hi(this.kl);n.t=s.t,t.V=s.V;const e=2/12*this.Li.P();n.wi=e,n.gi=e,n.ki=s.ki,n.Si=s.Si,t.Kt=s.Kt,t.yt=s.yt,t.hi=s.hi}}class qi{constructor(t,i){this.Cl=null,this.Tl=null,this.Pl=null,this.Rl=null,this.Dl=null,this.Vl=t,this.jr=i}Ol(){return this.Vl}Vn(){var t,i;null===(i=(t=this.Vl).updateAllViews)||void 0===i||i.call(t)}Pn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).paneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Cl)||void 0===s?void 0:s.Ml)===e)return this.Cl.xl;const r=e.map((t=>new ji(t)));return this.Cl={Ml:e,xl:r},r}Qi(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Tl)||void 0===s?void 0:s.Ml)===e)return this.Tl.xl;const r=this.jr.$t().St(),h=e.map((t=>new $i(t,r)));return this.Tl={Ml:e,xl:h},h}Rn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Pl)||void 0===s?void 0:s.Ml)===e)return this.Pl.xl;const r=this.jr.Dt(),h=e.map((t=>new Ui(t,r)));return this.Pl={Ml:e,xl:h},h}Bl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Rl)||void 0===s?void 0:s.Ml)===e)return this.Rl.xl;const r=e.map((t=>new ji(t)));return this.Rl={Ml:e,xl:r},r}Al(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Dl)||void 0===s?void 0:s.Ml)===e)return this.Dl.xl;const r=e.map((t=>new ji(t)));return this.Dl={Ml:e,xl:r},r}Il(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}wr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function Yi(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Sl()===n&&s.push(t)}))}))}function Zi(t){return t.Pn()}function Xi(t){return t.Bl()}function Ki(t){return t.Al()}class Gi extends Ai{constructor(t,i,n,s,e){super(t),this.zt=new Ni,this.jh=new Ci(this),this.zl=[],this.Ll=new li(this),this.El=null,this.Nl=null,this.Fl=[],this.Wl=[],this.jl=null,this.Hl=[],this.cn=i,this.$l=n;const r=new Ti(this);this.rn=[r],this.Hh=new ei(r,this,t),\"Area\"!==n&&\"Line\"!==n&&\"Baseline\"!==n||(this.El=new ci(this)),this.Ul(),this.ql(e)}S(){null!==this.jl&&clearTimeout(this.jl)}mh(t){return this.cn.priceLineColor||t}Zr(t){const i={Xr:!0},n=this.Dt();if(this.$t().St().Ni()||n.Ni()||this.zt.Ni())return i;const s=this.$t().St().Xs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.zt.sl();if(null===t)return i;r=t,h=t.ee}else{const t=this.zt.ll(s.ui(),-1);if(null===t)return i;if(r=this.zt.Gh(t.ee),null===r)return i;h=t.ee}const l=r.Vt[3],a=this.Us().$s(h,{Vt:r}),o=n.Rt(l,e.Vt);return{Xr:!1,_t:l,Kt:n.Fi(l,e.Vt),xh:n.Yl(l),Sh:n.Zl(l,e.Vt),V:a.ce,ki:o,ee:h}}Us(){return null!==this.Nl||(this.Nl=new zi(this)),this.Nl}W(){return this.cn}$h(t){const i=t.priceScaleId;void 0!==i&&i!==this.cn.priceScaleId&&this.$t().Xl(this,i),V(this.cn,t),void 0!==t.priceFormat&&(this.Ul(),this.$t().Kl()),this.$t().Gl(this),this.$t().Jl(),this.wn.bt(\"options\")}J(t,i){this.zt.J(t),this.Ql(),this.wn.bt(\"data\"),this.dn.bt(\"data\"),null!==this.El&&(i&&i.ta?this.El.$r():0===t.length&&this.El.Hr());const n=this.$t().dr(this);this.$t().ia(n),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}na(t){this.Fl=t,this.Ql();const i=this.$t().dr(this);this.dn.bt(\"data\"),this.$t().ia(i),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}sa(){return this.Fl}dh(){return this.Wl}ea(t){const i=new Bi(this,t);return this.zl.push(i),this.$t().Gl(this),i}ra(t){const i=this.zl.indexOf(t);-1!==i&&this.zl.splice(i,1),this.$t().Gl(this)}Qh(){return this.$l}Ct(){const t=this.ha();return null===t?null:{Vt:t.Vt[3],la:t.ot}}ha(){const t=this.$t().St().Xs();if(null===t)return null;const i=t.Os();return this.zt.ll(i,1)}In(){return this.zt}ph(t){const i=this.zt.Gh(t);return null===i?null:\"Bar\"===this.$l||\"Candlestick\"===this.$l||\"Custom\"===this.$l?{ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3]}:i.Vt[3]}aa(t){const i=[];Yi(this.Hl,Zi,\"top\",i);const n=this.El;return null!==n&&n.yt()?(null===this.jl&&n.qr()&&(this.jl=setTimeout((()=>{this.jl=null,this.$t().oa()}),0)),n.Ur(),i.unshift(n),i):i}Pn(){const t=[];this._a()||t.push(this.Ll),t.push(this.wn,this.jh,this.dn);const i=this.zl.map((t=>t.qh()));return t.push(...i),Yi(this.Hl,Zi,\"normal\",t),t}ua(){return this.ca(Zi,\"bottom\")}da(t){return this.ca(Xi,t)}fa(t){return this.ca(Ki,t)}va(t,i){return this.Hl.map((n=>n.wr(t,i))).filter((t=>null!==t))}Ji(t){return[this.Hh,...this.zl.map((t=>t.Yh()))]}Rn(t,i){if(i!==this.Yi&&!this._a())return[];const n=[...this.rn];for(const t of this.zl)n.push(t.Zh());return this.Hl.forEach((t=>{n.push(...t.Rn())})),n}Qi(){const t=[];return this.Hl.forEach((i=>{t.push(...i.Qi())})),t}Il(t,i){if(void 0!==this.cn.autoscaleInfoProvider){const n=this.cn.autoscaleInfoProvider((()=>{const n=this.pa(t,i);return null===n?null:n.Bh()}));return Di.Ah(n)}return this.pa(t,i)}ma(){return this.cn.priceFormat.minMove}ba(){return this.wa}Vn(){var t;this.wn.bt(),this.dn.bt();for(const t of this.rn)t.bt();for(const t of this.zl)t.bt();this.jh.bt(),this.Ll.bt(),null===(t=this.El)||void 0===t||t.bt(),this.Hl.forEach((t=>t.Vn()))}Dt(){return b(super.Dt())}kt(t){if(!((\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l)&&this.cn.crosshairMarkerVisible))return null;const i=this.zt.Gh(t);if(null===i)return null;return{_t:i.Vt[3],ht:this.ga(),Ot:this.Ma(),Pt:this.xa(),Tt:this.Sa(t)}}bh(){return this.cn.title}yt(){return this.cn.visible}ka(t){this.Hl.push(new qi(t,this))}ya(t){this.Hl=this.Hl.filter((i=>i.Ol()!==t))}Ca(){if(this.wn instanceof Kt!=!1)return t=>this.wn.We(t)}Ta(){if(this.wn instanceof Kt!=!1)return t=>this.wn.je(t)}_a(){return!_t(this.Dt().Pa())}pa(t,i){if(!B(t)||!B(i)||this.zt.Ni())return null;const n=\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l||\"Histogram\"===this.$l?[3]:[2,1],s=this.zt.ol(t,i,n);let e=null!==s?new Ri(s.ml,s.bl):null;if(\"Histogram\"===this.Qh()){const t=this.cn.base,i=new Ri(t,t);e=null!==e?e.ts(i):i}let r=this.dn.uh();return this.Hl.forEach((n=>{const s=n.Il(t,i);if(null==s?void 0:s.priceRange){const t=new Ri(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.ts(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new Di(e,r)}ga(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerRadius}return 0}Ma(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}xa(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerBorderWidth}return 0}Sa(t){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Us().$s(t).ce}Ul(){switch(this.cn.priceFormat.type){case\"custom\":this.wa={format:this.cn.priceFormat.formatter};break;case\"volume\":this.wa=new pt(this.cn.priceFormat.precision);break;case\"percent\":this.wa=new vt(this.cn.priceFormat.precision);break;default:{const t=Math.pow(10,this.cn.priceFormat.precision);this.wa=new ft(t,this.cn.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.Ra()}Ql(){const t=this.$t().St();if(!t.Da()||this.zt.Ni())return void(this.Wl=[]);const i=b(this.zt.el());this.Wl=this.Fl.map(((n,s)=>{const e=b(t.Va(n.time,!0)),r=e<i?1:-1;return{time:b(this.zt.ll(e,r)).ee,position:n.position,shape:n.shape,color:n.color,id:n.id,th:s,text:n.text,size:n.size,originalTime:n.originalTime}}))}ql(t){switch(this.dn=new yi(this,this.$t()),this.$l){case\"Bar\":this.wn=new Ht(this,this.$t());break;case\"Candlestick\":this.wn=new Zt(this,this.$t());break;case\"Line\":this.wn=new ti(this,this.$t());break;case\"Custom\":this.wn=new Kt(this,this.$t(),m(t));break;case\"Area\":this.wn=new Ft(this,this.$t());break;case\"Baseline\":this.wn=new qt(this,this.$t());break;case\"Histogram\":this.wn=new Qt(this,this.$t());break;default:throw Error(\"Unknown chart style assigned: \"+this.$l)}}ca(t,i){const n=[];return Yi(this.Hl,t,i,n),n}}class Ji{constructor(t){this.cn=t}Oa(t,i,n){let s=t;if(0===this.cn.mode)return s;const e=n.vn(),r=e.Ct();if(null===r)return s;const h=e.Rt(t,r),l=n.Ba().filter((t=>t instanceof Gi)).reduce(((t,s)=>{if(n.vr(s)||!s.yt())return t;const e=s.Dt(),r=s.In();if(e.Ni()||!r.Kr(i))return t;const h=r.Gh(i);if(null===h)return t;const l=w(s.Ct());return t.concat([e.Rt(h.Vt[3],l.Vt)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.pn(a,r),s}}class Qi extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=b(this.zt);if(r.Aa){t.strokeStyle=r.Ia,f(t,r.za),t.beginPath();for(const s of r.La){const r=Math.round(s.Ea*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Na){t.strokeStyle=r.Fa,f(t,r.Wa),t.beginPath();for(const n of r.ja){const r=Math.round(n.Ea*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class tn{constructor(t){this.Wt=new Qi,this.ft=!0,this.tn=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.tn.$t().W().grid,i={Na:t.horzLines.visible,Aa:t.vertLines.visible,Fa:t.horzLines.color,Ia:t.vertLines.color,Wa:t.horzLines.style,za:t.vertLines.style,ja:this.tn.vn().Ha(),La:(this.tn.$t().St().Ha()||[]).map((t=>({Ea:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class nn{constructor(t){this.wn=new tn(t)}qh(){return this.wn}}const sn={$a:4,Ua:1e-4};function en(t,i){const n=100*(t-i)/i;return i<0?-n:n}function rn(t,i){const n=en(t.Ph(),i),s=en(t.Rh(),i);return new Ri(n,s)}function hn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ln(t,i){const n=hn(t.Ph(),i),s=hn(t.Rh(),i);return new Ri(n,s)}function an(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ua)+i.$a;return t<0?-s:s}function on(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.$a)-i.Ua;return t<0?-s:s}function _n(t,i){if(null===t)return null;const n=an(t.Ph(),i),s=an(t.Rh(),i);return new Ri(n,s)}function un(t,i){if(null===t)return null;const n=on(t.Ph(),i),s=on(t.Rh(),i);return new Ri(n,s)}function cn(t){if(null===t)return sn;const i=Math.abs(t.Rh()-t.Ph());if(i>=1||i<1e-15)return sn;const n=Math.ceil(Math.abs(Math.log10(i))),s=sn.$a+n;return{$a:s,Ua:1/Math.pow(10,s)}}class dn{constructor(t,i){if(this.qa=t,this.Ya=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.qa))this.Za=[2,2.5,2];else{this.Za=[];for(let t=this.qa;1!==t;){if(t%2==0)this.Za.push(2),t/=2;else{if(t%5!=0)throw new Error(\"unexpected base\");this.Za.push(2,2.5),t/=5}if(this.Za.length>100)throw new Error(\"something wrong with base\")}}}Xa(t,i,n){const s=0===this.qa?0:1/this.qa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ya[0];for(;;){const t=yt(e,s,1e-14)&&e>s+1e-14,i=yt(e,n*h,1e-14),l=yt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Ya[++r%this.Ya.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Za.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Za[0];yt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Za[++r%this.Za.length];var l,a,o;return e}}class fn{constructor(t,i,n,s){this.Ka=[],this.Li=t,this.qa=i,this.Ga=n,this.Ja=s}Xa(t,i){if(t<i)throw new Error(\"high < low\");const n=this.Li.At(),s=(t-i)*this.Qa()/n,e=new dn(this.qa,[2,2.5,2]),r=new dn(this.qa,[2,2,2.5]),h=new dn(this.qa,[2.5,2,2]),l=[];return l.push(e.Xa(t,i,s),r.Xa(t,i,s),h.Xa(t,i,s)),function(t){if(t.length<1)throw Error(\"array is empty\");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}io(){const t=this.Li,i=t.Ct();if(null===i)return void(this.Ka=[]);const n=t.At(),s=this.Ga(n-1,i),e=this.Ga(0,i),r=this.Li.W().entireTextOnly?this.no()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Ka=[]);let _=this.Xa(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Ja(n,i,!0);null!==d&&Math.abs(s-d)<this.Qa()||(s<h||s>l||(f<this.Ka.length?(this.Ka[f].Ea=s,this.Ka[f].so=t.eo(n)):this.Ka.push({Ea:s,so:t.eo(n)}),f++,d=s,t.ro()&&(_=this.Xa(n*c,o))))}this.Ka.length=f}Ha(){return this.Ka}no(){return this.Li.P()}Qa(){return Math.ceil(2.5*this.no())}}function vn(t){return t.slice().sort(((t,i)=>b(t.Xi())-b(i.Xi())))}var pn;!function(t){t[t.Normal=0]=\"Normal\",t[t.Logarithmic=1]=\"Logarithmic\",t[t.Percentage=2]=\"Percentage\",t[t.IndexedTo100=3]=\"IndexedTo100\"}(pn||(pn={}));const mn=new vt,bn=new ft(100,1);class wn{constructor(t,i,n,s){this.ho=0,this.lo=null,this.Ih=null,this.ao=null,this.oo={_o:!1,uo:null},this.co=0,this.do=0,this.fo=new D,this.vo=new D,this.po=[],this.mo=null,this.bo=null,this.wo=null,this.Mo=null,this.wa=bn,this.xo=cn(null),this.So=t,this.cn=i,this.ko=n,this.yo=s,this.Co=new fn(this,100,this.To.bind(this),this.Po.bind(this))}Pa(){return this.So}W(){return this.cn}$h(t){if(V(this.cn,t),this.Ra(),void 0!==t.mode&&this.Ro({Cr:t.mode}),void 0!==t.scaleMargins){const i=m(t.scaleMargins.top),n=m(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Do(),this.bo=null}}Vo(){return this.cn.autoScale}ro(){return 1===this.cn.mode}Mh(){return 2===this.cn.mode}Oo(){return 3===this.cn.mode}Cr(){return{Wn:this.cn.autoScale,Bo:this.cn.invertScale,Cr:this.cn.mode}}Ro(t){const i=this.Cr();let n=null;void 0!==t.Wn&&(this.cn.autoScale=t.Wn),void 0!==t.Cr&&(this.cn.mode=t.Cr,2!==t.Cr&&3!==t.Cr||(this.cn.autoScale=!0),this.oo._o=!1),1===i.Cr&&t.Cr!==i.Cr&&(!function(t,i){if(null===t)return!1;const n=on(t.Ph(),i),s=on(t.Rh(),i);return isFinite(n)&&isFinite(s)}(this.Ih,this.xo)?this.cn.autoScale=!0:(n=un(this.Ih,this.xo),null!==n&&this.Ao(n))),1===t.Cr&&t.Cr!==i.Cr&&(n=_n(this.Ih,this.xo),null!==n&&this.Ao(n));const s=i.Cr!==this.cn.mode;s&&(2===i.Cr||this.Mh())&&this.Ra(),s&&(3===i.Cr||this.Oo())&&this.Ra(),void 0!==t.Bo&&i.Bo!==t.Bo&&(this.cn.invertScale=t.Bo,this.Io()),this.vo.m(i,this.Cr())}zo(){return this.vo}P(){return this.ko.fontSize}At(){return this.ho}Lo(t){this.ho!==t&&(this.ho=t,this.Do(),this.bo=null)}Eo(){if(this.lo)return this.lo;const t=this.At()-this.No()-this.Fo();return this.lo=t,t}Lh(){return this.Wo(),this.Ih}Ao(t,i){const n=this.Ih;(i||null===n&&null!==t||null!==n&&!n.Ch(t))&&(this.bo=null,this.Ih=t)}Ni(){return this.Wo(),0===this.ho||!this.Ih||this.Ih.Ni()}jo(t){return this.Bo()?t:this.At()-1-t}Rt(t,i){return this.Mh()?t=en(t,i):this.Oo()&&(t=hn(t,i)),this.Po(t,i)}te(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n],h=e._t;if(isNaN(h))continue;let l=h;null!==c&&(l=c(e._t,i));const _=s+o*(l-r),u=a?_:this.ho-1-_;e.st=u}}be(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n];let h=e.ge,l=e.Me,_=e.xe,u=e.Se;null!==c&&(h=c(e.ge,i),l=c(e.Me,i),_=c(e.xe,i),u=c(e.Se,i));let d=s+o*(h-r),f=a?d:this.ho-1-d;e.pe=f,d=s+o*(l-r),f=a?d:this.ho-1-d,e.de=f,d=s+o*(_-r),f=a?d:this.ho-1-d,e.fe=f,d=s+o*(u-r),f=a?d:this.ho-1-d,e.me=f}}pn(t,i){const n=this.To(t,i);return this.$o(n,i)}$o(t,i){let n=t;return this.Mh()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.Oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}Ba(){return this.po}Uo(){if(this.mo)return this.mo;let t=[];for(let i=0;i<this.po.length;i++){const n=this.po[i];null===n.Xi()&&n.Ki(i+1),t.push(n)}return t=vn(t),this.mo=t,this.mo}qo(t){-1===this.po.indexOf(t)&&(this.po.push(t),this.Ra(),this.Yo())}Zo(t){const i=this.po.indexOf(t);if(-1===i)throw new Error(\"source is not attached to scale\");this.po.splice(i,1),0===this.po.length&&(this.Ro({Wn:!0}),this.Ao(null)),this.Ra(),this.Yo()}Ct(){let t=null;for(const i of this.po){const n=i.Ct();null!==n&&((null===t||n.la<t.la)&&(t=n))}return null===t?null:t.Vt}Bo(){return this.cn.invertScale}Ha(){const t=null===this.Ct();if(null!==this.bo&&(t||this.bo.Xo===t))return this.bo.Ha;this.Co.io();const i=this.Co.Ha();return this.bo={Ha:i,Xo:t},this.fo.m(),i}Ko(){return this.fo}Go(t){this.Mh()||this.Oo()||null===this.wo&&null===this.ao&&(this.Ni()||(this.wo=this.ho-t,this.ao=b(this.Lh()).Th()))}Jo(t){if(this.Mh()||this.Oo())return;if(null===this.wo)return;this.Ro({Wn:!1}),(t=this.ho-t)<0&&(t=0);let i=(this.wo+.2*(this.ho-1))/(t+.2*(this.ho-1));const n=b(this.ao).Th();i=Math.max(i,.1),n.Vh(i),this.Ao(n)}Qo(){this.Mh()||this.Oo()||(this.wo=null,this.ao=null)}t_(t){this.Vo()||null===this.Mo&&null===this.ao&&(this.Ni()||(this.Mo=t,this.ao=b(this.Lh()).Th()))}i_(t){if(this.Vo())return;if(null===this.Mo)return;const i=b(this.Lh()).Dh()/(this.Eo()-1);let n=t-this.Mo;this.Bo()&&(n*=-1);const s=n*i,e=b(this.ao).Th();e.Oh(s),this.Ao(e,!0),this.bo=null}n_(){this.Vo()||null!==this.Mo&&(this.Mo=null,this.ao=null)}ba(){return this.wa||this.Ra(),this.wa}Fi(t,i){switch(this.cn.mode){case 2:return this.s_(en(t,i));case 3:return this.ba().format(hn(t,i));default:return this.Wh(t)}}eo(t){switch(this.cn.mode){case 2:return this.s_(t);case 3:return this.ba().format(t);default:return this.Wh(t)}}Yl(t){return this.Wh(t,b(this.e_()).ba())}Zl(t,i){return t=en(t,i),this.s_(t,mn)}r_(){return this.po}h_(t){this.oo={uo:t,_o:!1}}Vn(){this.po.forEach((t=>t.Vn()))}Ra(){this.bo=null;const t=this.e_();let i=100;null!==t&&(i=Math.round(1/t.ma())),this.wa=bn,this.Mh()?(this.wa=mn,i=100):this.Oo()?(this.wa=new ft(100,1),i=100):null!==t&&(this.wa=t.ba()),this.Co=new fn(this,i,this.To.bind(this),this.Po.bind(this)),this.Co.io()}Yo(){this.mo=null}e_(){return this.po[0]||null}No(){return this.Bo()?this.cn.scaleMargins.bottom*this.At()+this.do:this.cn.scaleMargins.top*this.At()+this.co}Fo(){return this.Bo()?this.cn.scaleMargins.top*this.At()+this.co:this.cn.scaleMargins.bottom*this.At()+this.do}Wo(){this.oo._o||(this.oo._o=!0,this.l_())}Do(){this.lo=null}Po(t,i){if(this.Wo(),this.Ni())return 0;t=this.ro()&&t?an(t,this.xo):t;const n=b(this.Lh()),s=this.Fo()+(this.Eo()-1)*(t-n.Ph())/n.Dh();return this.jo(s)}To(t,i){if(this.Wo(),this.Ni())return 0;const n=this.jo(t),s=b(this.Lh()),e=s.Ph()+s.Dh()*((n-this.Fo())/(this.Eo()-1));return this.ro()?on(e,this.xo):e}Io(){this.bo=null,this.Co.io()}l_(){const t=this.oo.uo;if(null===t)return;let i=null;const n=this.r_();let s=0,e=0;for(const r of n){if(!r.yt())continue;const n=r.Ct();if(null===n)continue;const h=r.Il(t.Os(),t.ui());let l=h&&h.Lh();if(null!==l){switch(this.cn.mode){case 1:l=_n(l,this.xo);break;case 2:l=rn(l,n.Vt);break;case 3:l=ln(l,n.Vt)}if(i=null===i?l:i.ts(b(l)),null!==h){const t=h.Eh();null!==t&&(s=Math.max(s,t.above),e=Math.max(e,t.below))}}}if(s===this.co&&e===this.do||(this.co=s,this.do=e,this.bo=null,this.Do()),null!==i){if(i.Ph()===i.Rh()){const t=this.e_(),n=5*(null===t||this.Mh()||this.Oo()?1:t.ma());this.ro()&&(i=un(i,this.xo)),i=new Ri(i.Ph()-n,i.Rh()+n),this.ro()&&(i=_n(i,this.xo))}if(this.ro()){const t=un(i,this.xo),n=cn(t);if(r=n,h=this.xo,r.$a!==h.$a||r.Ua!==h.Ua){const s=null!==this.ao?un(this.ao,this.xo):null;this.xo=n,i=_n(t,n),null!==s&&(this.ao=_n(s,n))}}this.Ao(i)}else null===this.Ih&&(this.Ao(new Ri(-.5,.5)),this.xo=cn(null));var r,h;this.oo._o=!0}Ho(){return this.Mh()?en:this.Oo()?hn:this.ro()?t=>an(t,this.xo):null}a_(t,i,n){return void 0===i?(void 0===n&&(n=this.ba()),n.format(t)):i(t)}Wh(t,i){return this.a_(t,this.yo.priceFormatter,i)}s_(t,i){return this.a_(t,this.yo.percentageFormatter,i)}}class gn{constructor(t,i){this.po=[],this.o_=new Map,this.ho=0,this.__=0,this.u_=1e3,this.mo=null,this.c_=new D,this.yl=t,this.$i=i,this.d_=new nn(this);const n=i.W();this.f_=this.v_(\"left\",n.leftPriceScale),this.p_=this.v_(\"right\",n.rightPriceScale),this.f_.zo().l(this.m_.bind(this,this.f_),this),this.p_.zo().l(this.m_.bind(this,this.p_),this),this.b_(n)}b_(t){if(t.leftPriceScale&&this.f_.$h(t.leftPriceScale),t.rightPriceScale&&this.p_.$h(t.rightPriceScale),t.localization&&(this.f_.Ra(),this.p_.Ra()),t.overlayPriceScales){const i=Array.from(this.o_.values());for(const n of i){const i=b(n[0].Dt());i.$h(t.overlayPriceScales),t.localization&&i.Ra()}}}w_(t){switch(t){case\"left\":return this.f_;case\"right\":return this.p_}return this.o_.has(t)?m(this.o_.get(t))[0].Dt():null}S(){this.$t().g_().p(this),this.f_.zo().p(this),this.p_.zo().p(this),this.po.forEach((t=>{t.S&&t.S()})),this.c_.m()}M_(){return this.u_}x_(t){this.u_=t}$t(){return this.$i}Hi(){return this.__}At(){return this.ho}S_(t){this.__=t,this.k_()}Lo(t){this.ho=t,this.f_.Lo(t),this.p_.Lo(t),this.po.forEach((i=>{if(this.vr(i)){const n=i.Dt();null!==n&&n.Lo(t)}})),this.k_()}Ba(){return this.po}vr(t){const i=t.Dt();return null===i||this.f_!==i&&this.p_!==i}qo(t,i,n){const s=void 0!==n?n:this.C_().y_+1;this.T_(t,i,s)}Zo(t){const i=this.po.indexOf(t);p(-1!==i,\"removeDataSource: invalid data source\"),this.po.splice(i,1);const n=b(t.Dt()).Pa();if(this.o_.has(n)){const i=m(this.o_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.o_.delete(n))}const s=t.Dt();s&&s.Ba().indexOf(t)>=0&&s.Zo(t),null!==s&&(s.Yo(),this.P_(s)),this.mo=null}mr(t){return t===this.f_?\"left\":t===this.p_?\"right\":\"overlay\"}R_(){return this.f_}D_(){return this.p_}V_(t,i){t.Go(i)}O_(t,i){t.Jo(i),this.k_()}B_(t){t.Qo()}A_(t,i){t.t_(i)}I_(t,i){t.i_(i),this.k_()}z_(t){t.n_()}k_(){this.po.forEach((t=>{t.Vn()}))}vn(){let t=null;return this.$i.W().rightPriceScale.visible&&0!==this.p_.Ba().length?t=this.p_:this.$i.W().leftPriceScale.visible&&0!==this.f_.Ba().length?t=this.f_:0!==this.po.length&&(t=this.po[0].Dt()),null===t&&(t=this.p_),t}pr(){let t=null;return this.$i.W().rightPriceScale.visible?t=this.p_:this.$i.W().leftPriceScale.visible&&(t=this.f_),t}P_(t){null!==t&&t.Vo()&&this.L_(t)}E_(t){const i=this.yl.Xs();t.Ro({Wn:!0}),null!==i&&t.h_(i),this.k_()}N_(){this.L_(this.f_),this.L_(this.p_)}F_(){this.P_(this.f_),this.P_(this.p_),this.po.forEach((t=>{this.vr(t)&&this.P_(t.Dt())})),this.k_(),this.$i.Uh()}Uo(){return null===this.mo&&(this.mo=vn(this.po)),this.mo}W_(){return this.c_}j_(){return this.d_}L_(t){const i=t.r_();if(i&&i.length>0&&!this.yl.Ni()){const i=this.yl.Xs();null!==i&&t.h_(i)}t.Vn()}C_(){const t=this.Uo();if(0===t.length)return{H_:0,y_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Xi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{H_:i,y_:n}}T_(t,i,n){let s=this.w_(i);if(null===s&&(s=this.v_(i,this.$i.W().overlayPriceScales)),this.po.push(t),!_t(i)){const n=this.o_.get(i)||[];n.push(t),this.o_.set(i,n)}s.qo(t),t.Gi(s),t.Ki(n),this.P_(s),this.mo=null}m_(t,i,n){i.Cr!==n.Cr&&this.L_(t)}v_(t,i){const n=Object.assign({visible:!0,autoScale:!0},z(i)),s=new wn(t,n,this.$i.W().layout,this.$i.W().localization);return s.Lo(this.At()),s}}class Mn{constructor(t,i,n=50){this.Ke=0,this.Ge=1,this.Je=1,this.tr=new Map,this.Qe=new Map,this.U_=t,this.q_=i,this.ir=n}Y_(t){const i=t.time,n=this.q_.cacheKey(i),s=this.tr.get(n);if(void 0!==s)return s.Z_;if(this.Ke===this.ir){const t=this.Qe.get(this.Je);this.Qe.delete(this.Je),this.tr.delete(m(t)),this.Je++,this.Ke--}const e=this.U_(t);return this.tr.set(n,{Z_:e,rr:this.Ge}),this.Qe.set(this.Ge,n),this.Ke++,this.Ge++,e}}class xn{constructor(t,i){p(t<=i,\"right should be >= left\"),this.X_=t,this.K_=i}Os(){return this.X_}ui(){return this.K_}G_(){return this.K_-this.X_+1}Kr(t){return this.X_<=t&&t<=this.K_}Ch(t){return this.X_===t.Os()&&this.K_===t.ui()}}function Sn(t,i){return null===t||null===i?t===i:t.Ch(i)}class kn{constructor(){this.J_=new Map,this.tr=null,this.Q_=!1}tu(t){this.Q_=t,this.tr=null}iu(t,i){this.nu(i),this.tr=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.J_.get(i.timeWeight);void 0===s&&(s=[],this.J_.set(i.timeWeight,s)),s.push({index:n,time:i.time,weight:i.timeWeight,originalTime:i.originalTime})}}su(t,i){const n=Math.ceil(i/t);return null!==this.tr&&this.tr.eu===n||(this.tr={Ha:this.ru(n),eu:n}),this.tr.Ha}nu(t){if(0===t)return void this.J_.clear();const i=[];this.J_.forEach(((n,s)=>{t<=n[0].index?i.push(s):n.splice(Bt(n,t,(i=>i.index<t)),1/0)}));for(const t of i)this.J_.delete(t)}ru(t){let i=[];for(const n of Array.from(this.J_.keys()).sort(((t,i)=>i-t))){if(!this.J_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=m(this.J_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n<l;n++){const l=h[n],_=l.index;for(;r<e;){const t=s[r],n=t.index;if(!(n<_)){a=n;break}r++,i.push(t),o=n,a=1/0}if(a-_>=t&&_-o>=t)i.push(l),o=_;else if(this.Q_)return s}for(;r<e;r++)i.push(s[r])}return i}}class yn{constructor(t){this.hu=t}lu(){return null===this.hu?null:new xn(Math.floor(this.hu.Os()),Math.ceil(this.hu.ui()))}au(){return this.hu}static ou(){return new yn(null)}}function Cn(t,i){return t.weight>i.weight?t:i}class Tn{constructor(t,i,n,s){this.__=0,this._u=null,this.uu=[],this.Mo=null,this.wo=null,this.cu=new kn,this.du=new Map,this.fu=yn.ou(),this.vu=!0,this.pu=new D,this.mu=new D,this.bu=new D,this.wu=null,this.gu=null,this.Mu=[],this.cn=i,this.yo=n,this.xu=i.rightOffset,this.Su=i.barSpacing,this.$i=t,this.q_=s,this.ku(),this.cu.tu(i.uniformDistribution)}W(){return this.cn}yu(t){V(this.yo,t),this.Cu(),this.ku()}$h(t,i){var n;V(this.cn,t),this.cn.fixLeftEdge&&this.Tu(),this.cn.fixRightEdge&&this.Pu(),void 0!==t.barSpacing&&this.$i.Gn(t.barSpacing),void 0!==t.rightOffset&&this.$i.Jn(t.rightOffset),void 0!==t.minBarSpacing&&this.$i.Gn(null!==(n=t.barSpacing)&&void 0!==n?n:this.Su),this.Cu(),this.ku(),this.bu.m()}mn(t){var i,n;return null!==(n=null===(i=this.uu[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.uu[t])&&void 0!==i?i:null}Va(t,i){if(this.uu.length<1)return null;if(this.q_.key(t)>this.q_.key(this.uu[this.uu.length-1].time))return i?this.uu.length-1:null;const n=Bt(this.uu,this.q_.key(t),((t,i)=>this.q_.key(t.time)<i));return this.q_.key(t)<this.q_.key(this.uu[n].time)?i?n:null:n}Ni(){return 0===this.__||0===this.uu.length||null===this._u}Da(){return this.uu.length>0}Xs(){return this.Ru(),this.fu.lu()}Du(){return this.Ru(),this.fu.au()}Vu(){const t=this.Xs();if(null===t)return null;const i={from:t.Os(),to:t.ui()};return this.Ou(i)}Ou(t){const i=Math.round(t.from),n=Math.round(t.to),s=b(this.Bu()),e=b(this.Au());return{from:b(this.Ui(Math.max(s,i))),to:b(this.Ui(Math.min(e,n)))}}Iu(t){return{from:b(this.Va(t.from,!0)),to:b(this.Va(t.to,!0))}}Hi(){return this.__}S_(t){if(!isFinite(t)||t<=0)return;if(this.__===t)return;const i=this.Du(),n=this.__;if(this.__=t,this.vu=!0,this.cn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.Su*t/n;this.Su=i}if(this.cn.fixLeftEdge&&null!==i&&i.Os()<=0){const i=n-t;this.xu-=Math.round(i/this.Su)+1,this.vu=!0}this.zu(),this.Lu()}It(t){if(this.Ni()||!B(t))return 0;const i=this.Eu()+this.xu-t;return this.__-(i+.5)*this.Su-1}Qs(t,i){const n=this.Eu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i].ot,e=n+this.xu-s,r=this.__-(e+.5)*this.Su-1;t[i].nt=r}}Nu(t){return Math.ceil(this.Fu(t))}Jn(t){this.vu=!0,this.xu=t,this.Lu(),this.$i.Wu(),this.$i.Uh()}le(){return this.Su}Gn(t){this.ju(t),this.Lu(),this.$i.Wu(),this.$i.Uh()}Hu(){return this.xu}Ha(){if(this.Ni())return null;if(null!==this.gu)return this.gu;const t=this.Su,i=5*(this.$i.W().layout.fontSize+4)/8*(this.cn.tickMarkMaxCharacterLength||8),n=Math.round(i/t),s=b(this.Xs()),e=Math.max(s.Os(),s.Os()-n),r=Math.max(s.ui(),s.ui()-n),h=this.cu.su(t,i),l=this.Bu()+n,a=this.Au()-n,o=this.$u(),_=this.cn.fixLeftEdge||o,u=this.cn.fixRightEdge||o;let c=0;for(const t of h){if(!(e<=t.index&&t.index<=r))continue;let n;c<this.Mu.length?(n=this.Mu[c],n.coord=this.It(t.index),n.label=this.Uu(t),n.weight=t.weight):(n={needAlignCoordinate:!1,coord:this.It(t.index),label:this.Uu(t),weight:t.weight},this.Mu.push(n)),this.Su>i/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.Mu.length=c,this.gu=this.Mu,this.Mu}qu(){this.vu=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Yu(t){this.vu=!0,this._u=t,this.Lu(),this.Tu()}Zu(t,i){const n=this.Fu(t),s=this.le(),e=s+i*(s/10);this.Gn(e),this.cn.rightBarStaysOnScroll||this.Jn(this.Hu()+(n-this.Fu(t)))}Go(t){this.Mo&&this.n_(),null===this.wo&&null===this.wu&&(this.Ni()||(this.wo=t,this.Xu()))}Jo(t){if(null===this.wu)return;const i=kt(this.__-t,0,this.__),n=kt(this.__-b(this.wo),0,this.__);0!==i&&0!==n&&this.Gn(this.wu.le*i/n)}Qo(){null!==this.wo&&(this.wo=null,this.Ku())}t_(t){null===this.Mo&&null===this.wu&&(this.Ni()||(this.Mo=t,this.Xu()))}i_(t){if(null===this.Mo)return;const i=(this.Mo-t)/this.le();this.xu=b(this.wu).Hu+i,this.vu=!0,this.Lu()}n_(){null!==this.Mo&&(this.Mo=null,this.Ku())}Gu(){this.Ju(this.cn.rightOffset)}Ju(t,i=400){if(!isFinite(t))throw new RangeError(\"offset is required and must be finite number\");if(!isFinite(i)||i<=0)throw new RangeError(\"animationDuration (optional) must be finite positive number\");const n=this.xu,s=performance.now();this.$i.Zn({Qu:t=>(t-s)/i>=1,tc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.vu=!0,this.uu=t,this.cu.iu(t,i),this.Lu()}nc(){return this.pu}sc(){return this.mu}ec(){return this.bu}Eu(){return this._u||0}rc(t){const i=t.G_();this.ju(this.__/i),this.xu=t.ui()-this.Eu(),this.Lu(),this.vu=!0,this.$i.Wu(),this.$i.Uh()}hc(){const t=this.Bu(),i=this.Au();null!==t&&null!==i&&this.rc(new xn(t,i+this.cn.rightOffset))}lc(t){const i=new xn(t.from,t.to);this.rc(i)}qi(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.q_.formatHorzItem(t.time)}$u(){const{handleScroll:t,handleScale:i}=this.$i.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Bu(){return 0===this.uu.length?null:0}Au(){return 0===this.uu.length?null:this.uu.length-1}ac(t){return(this.__-1-t)/this.Su}Fu(t){const i=this.ac(t),n=this.Eu()+this.xu-i;return Math.round(1e6*n)/1e6}ju(t){const i=this.Su;this.Su=t,this.zu(),i!==this.Su&&(this.vu=!0,this.oc())}Ru(){if(!this.vu)return;if(this.vu=!1,this.Ni())return void this._c(yn.ou());const t=this.Eu(),i=this.__/this.Su,n=this.xu+t,s=new xn(n-i+1,n);this._c(new yn(s))}zu(){const t=this.uc();if(this.Su<t&&(this.Su=t,this.vu=!0),0!==this.__){const t=.5*this.__;this.Su>t&&(this.Su=t,this.vu=!0)}}uc(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&0!==this.uu.length?this.__/this.uu.length:this.cn.minBarSpacing}Lu(){const t=this.cc();null!==t&&this.xu<t&&(this.xu=t,this.vu=!0);const i=this.dc();this.xu>i&&(this.xu=i,this.vu=!0)}cc(){const t=this.Bu(),i=this._u;if(null===t||null===i)return null;return t-i-1+(this.cn.fixLeftEdge?this.__/this.Su:Math.min(2,this.uu.length))}dc(){return this.cn.fixRightEdge?0:this.__/this.Su-Math.min(2,this.uu.length)}Xu(){this.wu={le:this.le(),Hu:this.Hu()}}Ku(){this.wu=null}Uu(t){let i=this.du.get(t.weight);return void 0===i&&(i=new Mn((t=>this.fc(t)),this.q_),this.du.set(t.weight,i)),i.Y_(t)}fc(t){return this.q_.formatTickmark(t,this.yo)}_c(t){const i=this.fu;this.fu=t,Sn(i.lu(),this.fu.lu())||this.pu.m(),Sn(i.au(),this.fu.au())||this.mu.m(),this.oc()}oc(){this.gu=null}Cu(){this.oc(),this.du.clear()}ku(){this.q_.updateFormatter(this.yo)}Tu(){if(!this.cn.fixLeftEdge)return;const t=this.Bu();if(null===t)return;const i=this.Xs();if(null===i)return;const n=i.Os()-t;if(n<0){const t=this.xu-n-1;this.Jn(t)}this.zu()}Pu(){this.Lu(),this.zu()}}class Pn{X(t,i,n){t.useMediaCoordinateSpace((t=>this.K(t,i,n)))}gl(t,i,n){t.useMediaCoordinateSpace((t=>this.vc(t,i,n)))}vc(t,i,n){}}class Rn extends Pn{constructor(t){super(),this.mc=new Map,this.zt=t}K(t){}vc(t){if(!this.zt.yt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.zt.bc){if(0===t.Kt.length)continue;i.font=t.R;const e=this.wc(i,t.Kt);e>n.width?t.Zu=n.width/e:t.Zu=1,s+=t.gc*t.Zu}let e=0;switch(this.zt.Mc){case\"top\":e=0;break;case\"center\":e=Math.max((n.height-s)/2,0);break;case\"bottom\":e=Math.max(n.height-s,0)}i.fillStyle=this.zt.V;for(const t of this.zt.bc){i.save();let s=0;switch(this.zt.xc){case\"left\":i.textAlign=\"left\",s=t.gc/2;break;case\"center\":i.textAlign=\"center\",s=n.width/2;break;case\"right\":i.textAlign=\"right\",s=n.width-1-t.gc/2}i.translate(s,e),i.textBaseline=\"top\",i.font=t.R,i.scale(t.Zu,t.Zu),i.fillText(t.Kt,0,t.Sc),i.restore(),e+=t.gc*t.Zu}}wc(t,i){const n=this.kc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}kc(t){let i=this.mc.get(t);return void 0===i&&(i=new Map,this.mc.set(t,i)),i}}class Dn{constructor(t){this.ft=!0,this.Ft={yt:!1,V:\"\",bc:[],Mc:\"center\",xc:\"center\"},this.Wt=new Rn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.yt=t.visible,i.yt&&(i.V=t.color,i.xc=t.horzAlign,i.Mc=t.vertAlign,i.bc=[{Kt:t.text,R:F(t.fontSize,t.fontFamily,t.fontStyle),gc:1.2*t.fontSize,Sc:0,Zu:0}])}}class Vn extends lt{constructor(t,i){super(),this.cn=i,this.wn=new Dn(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}Vn(){this.wn.bt()}}var On,Bn,An,In,zn;!function(t){t[t.OnTouchEnd=0]=\"OnTouchEnd\",t[t.OnNextTap=1]=\"OnNextTap\"}(On||(On={}));class Ln{constructor(t,i,n){this.yc=[],this.Cc=[],this.__=0,this.Tc=null,this.Pc=new D,this.Rc=new D,this.Dc=null,this.Vc=t,this.cn=i,this.q_=n,this.Oc=new W(this),this.yl=new Tn(this,i.timeScale,this.cn.localization,n),this.vt=new ot(this,i.crosshair),this.Bc=new Ji(i.crosshair),this.Ac=new Vn(this,i.watermark),this.Ic(),this.yc[0].x_(2e3),this.zc=this.Lc(0),this.Ec=this.Lc(1)}Kl(){this.Nc(ut.es())}Uh(){this.Nc(ut.ss())}oa(){this.Nc(new ut(1))}Gl(t){const i=this.Fc(t);this.Nc(i)}Wc(){return this.Tc}jc(t){const i=this.Tc;this.Tc=t,null!==i&&this.Gl(i.Hc),null!==t&&this.Gl(t.Hc)}W(){return this.cn}$h(t){V(this.cn,t),this.yc.forEach((i=>i.b_(t))),void 0!==t.timeScale&&this.yl.$h(t.timeScale),void 0!==t.localization&&this.yl.yu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Pc.m(),this.zc=this.Lc(0),this.Ec=this.Lc(1),this.Kl()}$c(t,i){if(\"left\"===t)return void this.$h({leftPriceScale:i});if(\"right\"===t)return void this.$h({rightPriceScale:i});const n=this.Uc(t);null!==n&&(n.Dt.$h(i),this.Pc.m())}Uc(t){for(const i of this.yc){const n=i.w_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.yl}qc(){return this.yc}Yc(){return this.Ac}Zc(){return this.vt}Xc(){return this.Rc}Kc(t,i){t.Lo(i),this.Wu()}S_(t){this.__=t,this.yl.S_(this.__),this.yc.forEach((i=>i.S_(t))),this.Wu()}Ic(t){const i=new gn(this.yl,this);void 0!==t?this.yc.splice(t,0,i):this.yc.push(i);const n=void 0===t?this.yc.length-1:t,s=ut.es();return s.Nn(n,{Fn:0,Wn:!0}),this.Nc(s),i}V_(t,i,n){t.V_(i,n)}O_(t,i,n){t.O_(i,n),this.Jl(),this.Nc(this.Gc(t,2))}B_(t,i){t.B_(i),this.Nc(this.Gc(t,2))}A_(t,i,n){i.Vo()||t.A_(i,n)}I_(t,i,n){i.Vo()||(t.I_(i,n),this.Jl(),this.Nc(this.Gc(t,2)))}z_(t,i){i.Vo()||(t.z_(i),this.Nc(this.Gc(t,2)))}E_(t,i){t.E_(i),this.Nc(this.Gc(t,2))}Jc(t){this.yl.Go(t)}Qc(t,i){const n=this.St();if(n.Ni()||0===i)return;const s=n.Hi();t=Math.max(1,Math.min(t,s)),n.Zu(t,i),this.Wu()}td(t){this.nd(0),this.sd(t),this.ed()}rd(t){this.yl.Jo(t),this.Wu()}hd(){this.yl.Qo(),this.Uh()}nd(t){this.yl.t_(t)}sd(t){this.yl.i_(t),this.Wu()}ed(){this.yl.n_(),this.Uh()}wt(){return this.Cc}ld(t,i,n,s,e){this.vt.gn(t,i);let r=NaN,h=this.yl.Nu(t);const l=this.yl.Xs();null!==l&&(h=Math.min(Math.max(l.Os(),h),l.ui()));const a=s.vn(),o=a.Ct();null!==o&&(r=a.pn(i,o)),r=this.Bc.Oa(r,h,s),this.vt.kn(h,r,s),this.oa(),e||this.Rc.m(this.vt.xt(),{x:t,y:i},n)}ad(t,i,n){const s=n.vn(),e=s.Ct(),r=s.Rt(t,b(e)),h=this.yl.Va(i,!0),l=this.yl.It(b(h));this.ld(l,r,null,n,!0)}od(t){this.Zc().Cn(),this.oa(),t||this.Rc.m(null,null,null)}Jl(){const t=this.vt.Ht();if(null!==t){const i=this.vt.xn(),n=this.vt.Sn();this.ld(i,n,null,t)}this.vt.Vn()}_d(t,i,n){const s=this.yl.mn(0);void 0!==i&&void 0!==n&&this.yl.bt(i,n);const e=this.yl.mn(0),r=this.yl.Eu(),h=this.yl.Xs();if(null!==h&&null!==s&&null!==e){const i=h.Kr(r),l=this.q_.key(s)>this.q_.key(e),a=null!==t&&t>r&&!l,o=this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.yl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.yl.Jn(this.yl.Hu()-i)}}this.yl.Yu(t)}ia(t){null!==t&&t.F_()}dr(t){const i=this.yc.find((i=>i.Uo().includes(t)));return void 0===i?null:i}Wu(){this.Ac.Vn(),this.yc.forEach((t=>t.F_())),this.Jl()}S(){this.yc.forEach((t=>t.S())),this.yc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}ud(){return this.Oc}br(){return this.Oc.W()}g_(){return this.Pc}dd(t,i,n){const s=this.yc[0],e=this.fd(i,t,s,n);return this.Cc.push(e),1===this.Cc.length?this.Kl():this.Uh(),e}vd(t){const i=this.dr(t),n=this.Cc.indexOf(t);p(-1!==n,\"Series not found\"),this.Cc.splice(n,1),b(i).Zo(t),t.S&&t.S()}Xl(t,i){const n=b(this.dr(t));n.Zo(t);const s=this.Uc(i);if(null===s){const s=t.Xi();n.qo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.qo(t,i,e)}}hc(){const t=ut.ss();t.$n(),this.Nc(t)}pd(t){const i=ut.ss();i.Yn(t),this.Nc(i)}Kn(){const t=ut.ss();t.Kn(),this.Nc(t)}Gn(t){const i=ut.ss();i.Gn(t),this.Nc(i)}Jn(t){const i=ut.ss();i.Jn(t),this.Nc(i)}Zn(t){const i=ut.ss();i.Zn(t),this.Nc(i)}Un(){const t=ut.ss();t.Un(),this.Nc(t)}md(){return this.cn.rightPriceScale.visible?\"right\":\"left\"}bd(){return this.Ec}q(){return this.zc}Bt(t){const i=this.Ec,n=this.zc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Dc||this.Dc.Ps!==n||this.Dc.Rs!==i)this.Dc={Ps:n,Rs:i,wd:new Map};else{const i=this.Dc.wd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=T(t),[l,a,o,_]=T(i),u=[M(s+n*(l-s)),M(e+n*(a-e)),M(r+n*(o-r)),x(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Dc.wd.set(t,s),s}Gc(t,i){const n=new ut(i);if(null!==t){const s=this.yc.indexOf(t);n.Nn(s,{Fn:i})}return n}Fc(t,i){return void 0===i&&(i=2),this.Gc(this.dr(t),i)}Nc(t){this.Vc&&this.Vc(t),this.yc.forEach((t=>t.j_().qh().bt()))}fd(t,i,n,s){const e=new Gi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.md();return n.qo(e,r),_t(r)||e.$h(t),e}Lc(t){const i=this.cn.layout;return\"gradient\"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function En(t){return!O(t)&&!A(t)}function Nn(t){return O(t)}!function(t){t[t.Disabled=0]=\"Disabled\",t[t.Continuous=1]=\"Continuous\",t[t.OnDataUpdate=2]=\"OnDataUpdate\"}(Bn||(Bn={})),function(t){t[t.LastBar=0]=\"LastBar\",t[t.LastVisible=1]=\"LastVisible\"}(An||(An={})),function(t){t.Solid=\"solid\",t.VerticalGradient=\"gradient\"}(In||(In={})),function(t){t[t.Year=0]=\"Year\",t[t.Month=1]=\"Month\",t[t.DayOfMonth=2]=\"DayOfMonth\",t[t.Time=3]=\"Time\",t[t.TimeWithSeconds=4]=\"TimeWithSeconds\"}(zn||(zn={}));const Fn=t=>t.getUTCFullYear();function Wn(t,i,n){return i.replace(/yyyy/g,(t=>dt(Fn(t),4))(t)).replace(/yy/g,(t=>dt(Fn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"long\"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"short\"}))(t,n)).replace(/MM/g,(t=>dt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>dt((t=>t.getUTCDate())(t),2))(t))}class jn{constructor(t=\"yyyy-MM-dd\",i=\"default\"){this.gd=t,this.Md=i}Y_(t){return Wn(t,this.gd,this.Md)}}class Hn{constructor(t){this.xd=t||\"%h:%m:%s\"}Y_(t){return this.xd.replace(\"%h\",dt(t.getUTCHours(),2)).replace(\"%m\",dt(t.getUTCMinutes(),2)).replace(\"%s\",dt(t.getUTCSeconds(),2))}}const $n={Sd:\"yyyy-MM-dd\",kd:\"%h:%m:%s\",yd:\" \",Cd:\"default\"};class Un{constructor(t={}){const i=Object.assign(Object.assign({},$n),t);this.Td=new jn(i.Sd,i.Cd),this.Pd=new Hn(i.kd),this.Rd=i.yd}Y_(t){return`${this.Td.Y_(t)}${this.Rd}${this.Pd.Y_(t)}`}}function qn(t){return 60*t*60*1e3}function Yn(t){return 60*t*1e3}const Zn=[{Dd:(Xn=1,1e3*Xn),Vd:10},{Dd:Yn(1),Vd:20},{Dd:Yn(5),Vd:21},{Dd:Yn(30),Vd:22},{Dd:qn(1),Vd:30},{Dd:qn(3),Vd:31},{Dd:qn(6),Vd:32},{Dd:qn(12),Vd:33}];var Xn;function Kn(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Zn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Zn[n].Dd)!==Math.floor(t.getTime()/Zn[n].Dd))return Zn[n].Vd;return 0}function Gn(t){let i=t;if(A(t)&&(i=Qn(t)),!En(i))throw new Error(\"time must be of type BusinessDay\");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Od:Math.round(n.getTime()/1e3),Bd:i}}function Jn(t){if(!Nn(t))throw new Error(\"time must be of type isUTCTimestamp\");return{Od:t}}function Qn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function ts(t){A(t.time)&&(t.time=Qn(t.time))}class is{options(){return this.cn}setOptions(t){this.cn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(ts)}(t):ts(t)}createConverterToInternalObj(t){return b(function(t){return 0===t.length?null:En(t[0].time)||A(t[0].time)?Gn:Jn}(t))}key(t){return\"object\"==typeof t&&\"Od\"in t?t.Od:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Bd?new Date(1e3*i.Od).getTime():new Date(Date.UTC(i.Bd.year,i.Bd.month-1,i.Bd.day)).getTime()}convertHorzItemToInternal(t){return Nn(i=t)?Jn(i):En(i)?Gn(i):Gn(Qn(i));var i}updateFormatter(t){if(!this.cn)return;const i=t.dateFormat;this.cn.timeScale.timeVisible?this.Ad=new Un({Sd:i,kd:this.cn.timeScale.secondsVisible?\"%h:%m:%s\":\"%h:%m\",yd:\" \",Cd:t.locale}):this.Ad=new jn(i,t.locale)}formatHorzItem(t){const i=t;return this.Ad.Y_(new Date(1e3*i.Od))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),s=this.cn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year=\"numeric\";break;case 1:s.month=\"short\";break;case 2:s.day=\"numeric\";break;case 3:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\";break;case 4:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\",s.second=\"2-digit\"}const e=void 0===t.Bd?new Date(1e3*t.Od):new Date(Date.UTC(t.Bd.year,t.Bd.month-1,t.Bd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Cn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Od,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i.time.Od);null!==s&&(i.timeWeight=Kn(h,s)),e+=i.time.Od-(n||i.time.Od),n=i.time.Od,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Od-i));t[0].timeWeight=Kn(new Date(1e3*t[0].time.Od),n)}}(t,i)}static Id(t){return V({localization:{dateFormat:\"dd MMM 'yy\"}},null!=t?t:{})}}const ns=\"undefined\"!=typeof window;function ss(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}function es(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function rs(t){return t+t%2}function hs(t,i){return t.zd-i.zd}function ls(t,i,n){const s=(t.zd-i.zd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class as{constructor(t,i,n,s){this.Ld=null,this.Ed=null,this.Nd=null,this.Fd=null,this.Wd=null,this.jd=0,this.Hd=0,this.$d=t,this.Ud=i,this.qd=n,this.rs=s}Yd(t,i){if(null!==this.Ld){if(this.Ld.ot===i)return void(this.Ld.zd=t);if(Math.abs(this.Ld.zd-t)<this.rs)return}this.Fd=this.Nd,this.Nd=this.Ed,this.Ed=this.Ld,this.Ld={ot:i,zd:t}}Vr(t,i){if(null===this.Ld||null===this.Ed)return;if(i-this.Ld.ot>50)return;let n=0;const s=ls(this.Ld,this.Ed,this.Ud),e=hs(this.Ld,this.Ed),r=[s],h=[e];if(n+=e,null!==this.Nd){const t=ls(this.Ed,this.Nd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Ed,this.Nd);if(r.push(t),h.push(i),n+=i,null!==this.Fd){const t=ls(this.Nd,this.Fd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Nd,this.Fd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.$d||(this.Wd={zd:t,ot:i},this.Hd=l,this.jd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.qd))}tc(t){const i=b(this.Wd),n=t-i.ot;return i.zd+this.Hd*(Math.pow(this.qd,n)-1)/Math.log(this.qd)}Qu(t){return null===this.Wd||this.Zd(t)===this.jd}Zd(t){const i=t-b(this.Wd).ot;return Math.min(i,this.jd)}}class os{constructor(t,i){this.Xd=void 0,this.Kd=void 0,this.Gd=void 0,this.en=!1,this.Jd=t,this.Qd=i,this.tf()}bt(){this.tf()}if(){this.Xd&&this.Jd.removeChild(this.Xd),this.Kd&&this.Jd.removeChild(this.Kd),this.Xd=void 0,this.Kd=void 0}nf(){return this.en!==this.sf()||this.Gd!==this.ef()}ef(){return P(T(this.Qd.W().layout.textColor))>160?\"dark\":\"light\"}sf(){return this.Qd.W().layout.attributionLogo}rf(){const t=new URL(location.href);return t.hostname?\"&utm_source=\"+t.hostname+t.pathname:\"\"}tf(){this.nf()&&(this.if(),this.en=this.sf(),this.en&&(this.Gd=this.ef(),this.Kd=document.createElement(\"style\"),this.Kd.innerText=\"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\",this.Xd=document.createElement(\"a\"),this.Xd.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`,this.Xd.title=\"Charting by TradingView\",this.Xd.id=\"tv-attr-logo\",this.Xd.target=\"_blank\",this.Xd.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 35 19\" width=\"35\" height=\"19\" fill=\"none\"><g fill-rule=\"evenodd\" clip-path=\"url(#a)\" clip-rule=\"evenodd\"><path fill=\"var(--stroke)\" d=\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\"/><path fill=\"var(--fill)\" d=\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"/></g><defs><clipPath id=\"a\"><path fill=\"var(--stroke)\" d=\"M0 0h35v19H0z\"/></clipPath></defs></svg>',this.Xd.toggleAttribute(\"data-dark\",\"dark\"===this.Gd),this.Jd.appendChild(this.Kd),this.Jd.appendChild(this.Xd)))}}function _s(t,n){const s=b(t.ownerDocument).createElement(\"canvas\");t.appendChild(s);const e=i(s,{type:\"device-pixel-content-box\",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function us(t){var i;t.width=1,t.height=1,null===(i=t.getContext(\"2d\"))||void 0===i||i.clearRect(0,0,1,1)}function cs(t,i,n,s){t.gl&&t.gl(i,n,s)}function ds(t,i,n,s){t.X(i,n,s)}function fs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function vs(t){ns&&void 0!==window.chrome&&t.addEventListener(\"mousedown\",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ps{constructor(t,i,n){this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.df=null,this.ff=!1,this.vf=null,this.pf=null,this.mf=!1,this.bf=!1,this.wf=!1,this.gf=null,this.Mf=null,this.xf=null,this.Sf=null,this.kf=null,this.yf=null,this.Cf=null,this.Tf=0,this.Pf=!1,this.Rf=!1,this.Df=!1,this.Vf=0,this.Of=null,this.Bf=!es(),this.Af=t=>{this.If(t)},this.zf=t=>{if(this.Lf(t)){const i=this.Ef(t);if(++this._f,this.uf&&this._f>1){const{Nf:n}=this.Ff(ws(t),this.cf);n<30&&!this.wf&&this.Wf(i,this.Hf.jf),this.$f()}}else{const i=this.Ef(t);if(++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}}},this.Zf=t,this.Hf=i,this.cn=n,this.Xf()}S(){null!==this.gf&&(this.gf(),this.gf=null),null!==this.Mf&&(this.Mf(),this.Mf=null),null!==this.Sf&&(this.Sf(),this.Sf=null),null!==this.kf&&(this.kf(),this.kf=null),null!==this.yf&&(this.yf(),this.yf=null),null!==this.xf&&(this.xf(),this.xf=null),this.Kf(),this.Yf()}Gf(t){this.Sf&&this.Sf();const i=this.Jf.bind(this);if(this.Sf=()=>{this.Zf.removeEventListener(\"mousemove\",i)},this.Zf.addEventListener(\"mousemove\",i),this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.Qf),this.Bf=!0}Yf(){null!==this.lf&&clearTimeout(this.lf),this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}$f(){null!==this.uf&&clearTimeout(this.uf),this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Jf(t){if(this.Df||null!==this.pf)return;if(this.Lf(t))return;const i=this.Ef(t);this.Uf(i,this.Hf.tv),this.Bf=!0}iv(t){const i=Ms(t.changedTouches,b(this.Of));if(null===i)return;if(this.Vf=gs(t),null!==this.Cf)return;if(this.Rf)return;this.Pf=!0;const n=this.Ff(ws(i),b(this.pf)),{nv:s,sv:e,Nf:r}=n;if(this.mf||!(r<5)){if(!this.mf){const t=.5*s,i=e>=t&&!this.cn.ev(),n=t>e&&!this.cn.rv();i||n||(this.Rf=!0),this.mf=!0,this.wf=!0,this.Kf(),this.$f()}if(!this.Rf){const n=this.Ef(t,i);this.Wf(n,this.Hf.hv),bs(t)}}}lv(t){if(0!==t.button)return;const i=this.Ff(ws(t),b(this.vf)),{Nf:n}=i;if(n>=5&&(this.bf=!0,this.Yf()),this.bf){const i=this.Ef(t);this.Uf(i,this.Hf.av)}}Ff(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{nv:n,sv:s,Nf:n+s}}ov(t){let i=Ms(t.changedTouches,b(this.Of));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Of=null,this.Vf=gs(t),this.Kf(),this.pf=null,this.yf&&(this.yf(),this.yf=null);const n=this.Ef(t,i);if(this.Wf(n,this.Hf._v),++this._f,this.uf&&this._f>1){const{Nf:t}=this.Ff(ws(i),this.cf);t<30&&!this.wf&&this.Wf(n,this.Hf.jf),this.$f()}else this.wf||(this.Wf(n,this.Hf.uv),this.Hf.uv&&bs(t));0===this._f&&bs(t),0===t.touches.length&&this.ff&&(this.ff=!1,bs(t))}If(t){if(0!==t.button)return;const i=this.Ef(t);if(this.vf=null,this.Df=!1,this.kf&&(this.kf(),this.kf=null),ss()){this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\",this.Af)}if(!this.Lf(t))if(this.Uf(i,this.Hf.cv),++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}else this.bf||this.Uf(i,this.Hf.dv)}Kf(){null!==this.df&&(clearTimeout(this.df),this.df=null)}fv(t){if(null!==this.Of)return;const i=t.changedTouches[0];this.Of=i.identifier,this.Vf=gs(t);const n=this.Zf.ownerDocument.documentElement;this.wf=!1,this.mf=!1,this.Rf=!1,this.pf=ws(i),this.yf&&(this.yf(),this.yf=null);{const i=this.iv.bind(this),s=this.ov.bind(this);this.yf=()=>{n.removeEventListener(\"touchmove\",i),n.removeEventListener(\"touchend\",s)},n.addEventListener(\"touchmove\",i,{passive:!1}),n.addEventListener(\"touchend\",s,{passive:!1}),this.Kf(),this.df=setTimeout(this.vv.bind(this,t),240)}const s=this.Ef(t,i);this.Wf(s,this.Hf.pv),this.uf||(this._f=0,this.uf=setTimeout(this.$f.bind(this),500),this.cf=ws(i))}mv(t){if(0!==t.button)return;const i=this.Zf.ownerDocument.documentElement;ss()&&i.addEventListener(\"mouseleave\",this.Af),this.bf=!1,this.vf=ws(t),this.kf&&(this.kf(),this.kf=null);{const t=this.lv.bind(this),n=this.If.bind(this);this.kf=()=>{i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseup\",n)},i.addEventListener(\"mousemove\",t),i.addEventListener(\"mouseup\",n)}if(this.Df=!0,this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.bv),this.lf||(this.hf=0,this.lf=setTimeout(this.Yf.bind(this),500),this.af=ws(t))}Xf(){this.Zf.addEventListener(\"mouseenter\",this.Gf.bind(this)),this.Zf.addEventListener(\"touchcancel\",this.Kf.bind(this));{const t=this.Zf.ownerDocument,i=t=>{this.Hf.wv&&(t.composed&&this.Zf.contains(t.composedPath()[0])||t.target&&this.Zf.contains(t.target)||this.Hf.wv())};this.Mf=()=>{t.removeEventListener(\"touchstart\",i)},this.gf=()=>{t.removeEventListener(\"mousedown\",i)},t.addEventListener(\"mousedown\",i),t.addEventListener(\"touchstart\",i,{passive:!0})}es()&&(this.xf=()=>{this.Zf.removeEventListener(\"dblclick\",this.zf)},this.Zf.addEventListener(\"dblclick\",this.zf)),this.Zf.addEventListener(\"mouseleave\",this.gv.bind(this)),this.Zf.addEventListener(\"touchstart\",this.fv.bind(this),{passive:!0}),vs(this.Zf),this.Zf.addEventListener(\"mousedown\",this.mv.bind(this)),this.Mv(),this.Zf.addEventListener(\"touchmove\",(()=>{}),{passive:!1})}Mv(){void 0===this.Hf.xv&&void 0===this.Hf.Sv&&void 0===this.Hf.kv||(this.Zf.addEventListener(\"touchstart\",(t=>this.yv(t.touches)),{passive:!0}),this.Zf.addEventListener(\"touchmove\",(t=>{if(2===t.touches.length&&null!==this.Cf&&void 0!==this.Hf.Sv){const i=ms(t.touches[0],t.touches[1])/this.Tf;this.Hf.Sv(this.Cf,i),bs(t)}}),{passive:!1}),this.Zf.addEventListener(\"touchend\",(t=>{this.yv(t.touches)})))}yv(t){1===t.length&&(this.Pf=!1),2!==t.length||this.Pf||this.ff?this.Cv():this.Tv(t)}Tv(t){const i=this.Zf.getBoundingClientRect()||{left:0,top:0};this.Cf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Tf=ms(t[0],t[1]),void 0!==this.Hf.xv&&this.Hf.xv(),this.Kf()}Cv(){null!==this.Cf&&(this.Cf=null,void 0!==this.Hf.kv&&this.Hf.kv())}gv(t){if(this.Sf&&this.Sf(),this.Lf(t))return;if(!this.Bf)return;const i=this.Ef(t);this.Uf(i,this.Hf.Pv),this.Bf=!es()}vv(t){const i=Ms(t.touches,b(this.Of));if(null===i)return;const n=this.Ef(t,i);this.Wf(n,this.Hf.Rv),this.wf=!0,this.ff=!0}Lf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:gs(t)<this.Vf+500}Wf(t,i){i&&i.call(this.Hf,t)}Uf(t,i){i&&i.call(this.Hf,t)}Ef(t,i){const n=i||t,s=this.Zf.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Dv:!t.type.startsWith(\"mouse\")&&\"contextmenu\"!==t.type&&\"click\"!==t.type,Vv:t.type,Ov:n.target,Bv:t.view,Av:()=>{\"touchstart\"!==t.type&&bs(t)}}}}function ms(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bs(t){t.cancelable&&t.preventDefault()}function ws(t){return{nt:t.pageX,st:t.pageY}}function gs(t){return t.timeStamp||performance.now()}function Ms(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}function xs(t){return{Hc:t.Hc,Iv:{gr:t.zv.externalId},Lv:t.zv.cursorStyle}}function Ss(t,i,n){for(const s of t){const t=s.gt();if(null!==t&&t.wr){const e=t.wr(i,n);if(null!==e)return{Bv:s,Iv:e}}}return null}function ks(t,i){return n=>{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.Pa())&&void 0!==e?e:\"\")!==i?[]:null!==(h=null===(r=n.da)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}function ys(t,i,n,s){if(!t.length)return;let e=0;const r=n/2,h=t[0].At(s,!0);let l=1===i?r-(t[0].Vi()-h/2):t[0].Vi()-h/2-r;l=Math.max(0,l);for(let r=1;r<t.length;r++){const h=t[r],a=t[r-1],o=a.At(s,!1),_=h.Vi(),u=a.Vi();if(1===i?_>u-o:_<u+o){const s=u-o*i;h.Oi(s);const r=s-i*o/2;if((1===i?r<0:r>n)&&l>0){const s=1===i?-1-r:r-n,h=Math.min(s,l);for(let n=e;n<t.length;n++)t[n].Oi(t[n].Vi()+i*h);l-=h}}else e=r,l=1===i?u-o-_:_-(u+o)}}class Cs{constructor(i,n,s,e){this.Li=null,this.Ev=null,this.Nv=!1,this.Fv=new ni(200),this.Qr=null,this.Wv=0,this.jv=!1,this.Hv=()=>{this.jv||this.tn.$v().$t().Uh()},this.Uv=()=>{this.jv||this.tn.$v().$t().Uh()},this.tn=i,this.cn=n,this.ko=n.layout,this.Oc=s,this.qv=\"left\"===e,this.Yv=ks(\"normal\",e),this.Zv=ks(\"top\",e),this.Xv=ks(\"bottom\",e),this.Kv=document.createElement(\"div\"),this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Kv.style.width=\"25px\",this.Kv.style.left=\"0\",this.Kv.style.position=\"relative\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const r=this.Gv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"1\",r.style.left=\"0\",r.style.top=\"0\",this.Jv=_s(this.Kv,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const h=this.Jv.canvasElement;h.style.position=\"absolute\",h.style.zIndex=\"2\",h.style.left=\"0\",h.style.top=\"0\";const l={bv:this.Qv.bind(this),pv:this.Qv.bind(this),av:this.tp.bind(this),hv:this.tp.bind(this),wv:this.ip.bind(this),cv:this.np.bind(this),_v:this.np.bind(this),qf:this.sp.bind(this),jf:this.sp.bind(this),Qf:this.ep.bind(this),Pv:this.rp.bind(this)};this.hp=new ps(this.Jv.canvasElement,l,{ev:()=>!this.cn.handleScroll.vertTouchDrag,rv:()=>!0})}S(){this.hp.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Li&&this.Li.Ko().p(this),this.Li=null}lp(){return this.Kv}P(){return this.ko.fontSize}ap(){const t=this.Oc.W();return this.Qr!==t.R&&(this.Fv.nr(),this.Qr=t.R),t}op(){if(null===this.Li)return 0;let t=0;const i=this.ap(),n=b(this.Gv.canvasElement.getContext(\"2d\"));n.save();const s=this.Li.Ha();n.font=this._p(),s.length>0&&(t=Math.max(this.Fv.xi(n,s[0].so),this.Fv.xi(n,s[s.length-1].so)));const e=this.up();for(let i=e.length;i--;){const s=this.Fv.xi(n,e[i].Kt());s>t&&(t=s)}const r=this.Li.Ct();if(null!==r&&null!==this.Ev&&(2!==(h=this.cn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Li.pn(1,r),s=this.Li.pn(this.Ev.height-2,r);t=Math.max(t,this.Fv.xi(n,this.Li.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Fv.xi(n,this.Li.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const l=t||34;return rs(Math.ceil(i.C+i.T+i.A+i.I+5+l))}cp(t){null!==this.Ev&&n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`)}dp(){return b(this.Ev).width}Gi(t){this.Li!==t&&(null!==this.Li&&this.Li.Ko().p(this),this.Li=t,t.Ko().l(this.fo.bind(this),this))}Dt(){return this.Li}nr(){const t=this.tn.fp();this.tn.$v().$t().E_(t,b(this.Dt()))}vp(t){if(null===this.Ev)return;if(1!==t){this.pp(),this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)})),this.tn.bp(t,this.Xv),this.wp(t),this.tn.bp(t,this.Yv),this.gp(t))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Mp(i),this.tn.bp(i,this.Zv))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}bt(){var t;null===(t=this.Li)||void 0===t||t.Ha()}Qv(t){if(null===this.Li||this.Li.Ni()||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!0,i.V_(n,this.Li,t.localY)}tp(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp(),s=this.Li;i.O_(n,s,t.localY)}ip(){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const t=this.tn.$v().$t(),i=this.tn.fp(),n=this.Li;this.Nv&&(this.Nv=!1,t.B_(i,n))}np(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!1,i.B_(n,this.Li)}sp(t){this.cn.handleScale.axisDoubleClickReset.price&&this.nr()}ep(t){if(null===this.Li)return;!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price||this.Li.Mh()||this.Li.Oo()||this.kp(1)}rp(t){this.kp(0)}up(){const t=[],i=null===this.Li?void 0:this.Li;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Rn(this.tn.fp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.fp().Uo()),t}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.fp().$t(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,r):tt(t,0,0,n,s,r,h)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Ev||null===this.Li||!this.Li.W().borderVisible)return;t.fillStyle=this.Li.W().borderColor;const s=Math.max(1,Math.floor(this.ap().C*n));let e;e=this.qv?i.width-s:0,t.fillRect(e,0,s,i.height)}wp(t){if(null===this.Ev||null===this.Li)return;const i=this.Li.Ha(),n=this.Li.W(),s=this.ap(),e=this.qv?this.Ev.width-s.T:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Ea*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this._p(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.ko.textColor,t.textAlign=this.qv?\"right\":\"left\",t.textBaseline=\"middle\";const h=this.qv?Math.round(e-s.A):Math.round(e+s.T+s.A),l=i.map((i=>this.Fv.Mi(t,i.so)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.so,h,s.Ea+l[n])}}))}pp(){if(null===this.Ev||null===this.Li)return;const t=[],i=this.Li.Uo().slice(),n=this.tn.fp(),s=this.ap();this.Li===n.pr()&&this.tn.fp().Uo().forEach((t=>{n.vr(t)&&i.push(t)}));const e=this.Li;i.forEach((i=>{i.Rn(n,e).forEach((i=>{i.Oi(null),i.Bi()&&t.push(i)}))})),t.forEach((t=>t.Oi(t.ki())));this.Li.W().alignLabels&&this.yp(t,s)}yp(t,i){if(null===this.Ev)return;const n=this.Ev.height/2,s=t.filter((t=>t.ki()<=n)),e=t.filter((t=>t.ki()>n));s.sort(((t,i)=>i.ki()-t.ki())),e.sort(((t,i)=>t.ki()-i.ki()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.ki();s>-t&&s<t&&n.Oi(t),s>this.Ev.height-t&&s<this.Ev.height+t&&n.Oi(this.Ev.height-t)}ys(s,1,this.Ev.height,i),ys(e,-1,this.Ev.height,i)}gp(t){if(null===this.Ev)return;const i=this.up(),n=this.ap(),s=this.qv?\"right\":\"left\";i.forEach((i=>{if(i.Ai()){i.gt(b(this.Li)).X(t,n,this.Fv,s)}}))}Mp(t){if(null===this.Ev||null===this.Li)return;const i=this.tn.$v().$t(),n=[],s=this.tn.fp(),e=i.Zc().Rn(s,this.Li);e.length&&n.push(e);const r=this.ap(),h=this.qv?\"right\":\"left\";n.forEach((i=>{i.forEach((i=>{i.gt(b(this.Li)).X(t,r,this.Fv,h)}))}))}kp(t){this.Kv.style.cursor=1===t?\"ns-resize\":\"default\"}fo(){const t=this.op();this.Wv<t&&this.tn.$v().$t().Kl(),this.Wv=t}_p(){return F(this.ko.fontSize,this.ko.fontFamily)}}function Ts(t,i){var n,s;return null!==(s=null===(n=t.ua)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ps(t,i){var n,s;return null!==(s=null===(n=t.Pn)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Rs(t,i){var n,s;return null!==(s=null===(n=t.Ji)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ds(t,i){var n,s;return null!==(s=null===(n=t.aa)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}class Vs{constructor(i,n){this.Ev=t({width:0,height:0}),this.Cp=null,this.Tp=null,this.Pp=null,this.Rp=null,this.Dp=!1,this.Vp=new D,this.Op=new D,this.Bp=0,this.Ap=!1,this.Ip=null,this.zp=!1,this.Lp=null,this.Ep=null,this.jv=!1,this.Hv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Uv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Qd=i,this.Np=n,this.Np.W_().l(this.Fp.bind(this),this,!0),this.Wp=document.createElement(\"td\"),this.Wp.style.padding=\"0\",this.Wp.style.position=\"relative\";const s=document.createElement(\"div\");s.style.width=\"100%\",s.style.height=\"100%\",s.style.position=\"relative\",s.style.overflow=\"hidden\",this.jp=document.createElement(\"td\"),this.jp.style.padding=\"0\",this.Hp=document.createElement(\"td\"),this.Hp.style.padding=\"0\",this.Wp.appendChild(s),this.Gv=_s(s,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const e=this.Gv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"1\",e.style.left=\"0\",e.style.top=\"0\",this.Jv=_s(s,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const r=this.Jv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"2\",r.style.left=\"0\",r.style.top=\"0\",this.$p=document.createElement(\"tr\"),this.$p.appendChild(this.jp),this.$p.appendChild(this.Wp),this.$p.appendChild(this.Hp),this.Up(),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>null===this.Ip&&!this.Qd.W().handleScroll.vertTouchDrag,rv:()=>null===this.Ip&&!this.Qd.W().handleScroll.horzTouchDrag})}S(){null!==this.Cp&&this.Cp.S(),null!==this.Tp&&this.Tp.S(),this.Pp=null,this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Np&&this.Np.W_().p(this),this.hp.S()}fp(){return b(this.Np)}qp(t){var i,n;null!==this.Np&&this.Np.W_().p(this),this.Np=t,null!==this.Np&&this.Np.W_().l(Vs.prototype.Fp.bind(this),this,!0),this.Up(),this.Qd.Yp().indexOf(this)===this.Qd.Yp().length-1?(this.Pp=null!==(i=this.Pp)&&void 0!==i?i:new os(this.Wp,this.Qd),this.Pp.bt()):(null===(n=this.Pp)||void 0===n||n.if(),this.Pp=null)}$v(){return this.Qd}lp(){return this.$p}Up(){if(null!==this.Np&&(this.Zp(),0!==this.$i().wt().length)){if(null!==this.Cp){const t=this.Np.R_();this.Cp.Gi(b(t))}if(null!==this.Tp){const t=this.Np.D_();this.Tp.Gi(b(t))}}}Xp(){null!==this.Cp&&this.Cp.bt(),null!==this.Tp&&this.Tp.bt()}M_(){return null!==this.Np?this.Np.M_():0}x_(t){this.Np&&this.Np.x_(t)}Qf(t){if(!this.Np)return;this.Kp();const i=t.localX,n=t.localY;this.Gp(i,n,t)}bv(t){this.Kp(),this.Jp(),this.Gp(t.localX,t.localY,t)}tv(t){var i;if(!this.Np)return;this.Kp();const n=t.localX,s=t.localY;this.Gp(n,s,t);const e=this.wr(n,s);this.Qd.Qp(null!==(i=null==e?void 0:e.Lv)&&void 0!==i?i:null),this.$i().jc(e&&{Hc:e.Hc,Iv:e.Iv})}dv(t){null!==this.Np&&(this.Kp(),this.tm(t))}qf(t){null!==this.Np&&this.im(this.Op,t)}jf(t){this.qf(t)}av(t){this.Kp(),this.nm(t),this.Gp(t.localX,t.localY,t)}cv(t){null!==this.Np&&(this.Kp(),this.Ap=!1,this.sm(t))}uv(t){null!==this.Np&&this.tm(t)}Rv(t){if(this.Ap=!0,null===this.Ip){const i={x:t.localX,y:t.localY};this.rm(i,i,t)}}Pv(t){null!==this.Np&&(this.Kp(),this.Np.$t().jc(null),this.hm())}lm(){return this.Vp}am(){return this.Op}xv(){this.Bp=1,this.$i().Un()}Sv(t,i){if(!this.Qd.W().handleScale.pinch)return;const n=5*(i-this.Bp);this.Bp=i,this.$i().Qc(t.nt,n)}pv(t){this.Ap=!1,this.zp=null!==this.Ip,this.Jp();const i=this.$i().Zc();null!==this.Ip&&i.yt()&&(this.Lp={x:i.Yt(),y:i.Zt()},this.Ip={x:t.localX,y:t.localY})}hv(t){if(null===this.Np)return;const i=t.localX,n=t.localY;if(null===this.Ip)this.nm(t);else{this.zp=!1;const s=b(this.Lp),e=s.x+(i-this.Ip.x),r=s.y+(n-this.Ip.y);this.Gp(e,r,t)}}_v(t){0===this.$v().W().trackingMode.exitMode&&(this.zp=!0),this.om(),this.sm(t)}wr(t,i){const n=this.Np;return null===n?null:function(t,i,n){const s=t.Uo(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.va)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||\"top\"===l&&\"top\"!==a||\"normal\"===l&&\"bottom\"===a)&&(r=i,h=o)}var l,a;return r&&h?{zv:r,Hc:h}:null}(s,i,n);if(\"top\"===(null==e?void 0:e.zv.zOrder))return xs(e);for(const r of s){if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&!e.zv.isBackground)return xs(e);const s=Ss(r.Pn(t),i,n);if(null!==s)return{Hc:r,Bv:s.Bv,Iv:s.Iv};if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&e.zv.isBackground)return xs(e)}return(null==e?void 0:e.zv)?xs(e):null}(n,t,i)}_m(i,n){b(\"left\"===n?this.Cp:this.Tp).cp(t({width:i,height:this.Ev.height}))}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Wp.style.width=t.width+\"px\",this.Wp.style.height=t.height+\"px\")}dm(){const t=b(this.Np);t.P_(t.R_()),t.P_(t.D_());for(const i of t.Ba())if(t.vr(i)){const n=i.Dt();null!==n&&t.P_(n),i.Vn()}}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(null===this.Np)return;if(t>1&&this.dm(),null!==this.Cp&&this.Cp.vp(t),null!==this.Tp&&this.Tp.vp(t),1!==t){this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t)})),this.Np&&(this.fm(t,Ts),this.vm(t),this.pm(t),this.fm(t,Ps),this.fm(t,Rs)))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bm(i),this.fm(i,Ds))}wm(){return this.Cp}gm(){return this.Tp}bp(t,i){this.fm(t,i)}Fp(){null!==this.Np&&this.Np.W_().p(this),this.Np=null}tm(t){this.im(this.Vp,t)}im(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.$i().St().Nu(n),{x:n,y:s},i)}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.$i(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,h):tt(t,0,0,n,s,r,h)}vm(t){const i=b(this.Np).j_().qh().gt();null!==i&&i.X(t,!1)}pm(t){const i=this.$i().Yc();this.Mm(t,Ps,cs,i),this.Mm(t,Ps,ds,i)}bm(t){this.Mm(t,Ps,ds,this.$i().Zc())}fm(t,i){const n=b(this.Np).Uo();for(const s of n)this.Mm(t,i,cs,s);for(const s of n)this.Mm(t,i,ds,s)}Mm(t,i,n,s){const e=b(this.Np),r=e.$t().Wc(),h=null!==r&&r.Hc===s,l=null!==r&&h&&void 0!==r.Iv?r.Iv.Mr:void 0;fs(i,(i=>n(i,t,h,l)),s,e)}Zp(){if(null===this.Np)return;const t=this.Qd,i=this.Np.R_().W().visible,n=this.Np.D_().W().visible;i||null===this.Cp||(this.jp.removeChild(this.Cp.lp()),this.Cp.S(),this.Cp=null),n||null===this.Tp||(this.Hp.removeChild(this.Tp.lp()),this.Tp.S(),this.Tp=null);const s=t.$t().ud();i&&null===this.Cp&&(this.Cp=new Cs(this,t.W(),s,\"left\"),this.jp.appendChild(this.Cp.lp())),n&&null===this.Tp&&(this.Tp=new Cs(this,t.W(),s,\"right\"),this.Hp.appendChild(this.Tp.lp()))}xm(t){return t.Dv&&this.Ap||null!==this.Ip}Sm(t){return Math.max(0,Math.min(t,this.Ev.width-1))}km(t){return Math.max(0,Math.min(t,this.Ev.height-1))}Gp(t,i,n){this.$i().ld(this.Sm(t),this.km(i),n,b(this.Np))}hm(){this.$i().od()}om(){this.zp&&(this.Ip=null,this.hm())}rm(t,i,n){this.Ip=t,this.zp=!1,this.Gp(i.x,i.y,n);const s=this.$i().Zc();this.Lp={x:s.Yt(),y:s.Zt()}}$i(){return this.Qd.$t()}sm(t){if(!this.Dp)return;const i=this.$i(),n=this.fp();if(i.z_(n,n.vn()),this.Rp=null,this.Dp=!1,i.ed(),null!==this.Ep){const t=performance.now(),n=i.St();this.Ep.Vr(n.Hu(),t),this.Ep.Qu(t)||i.Zn(this.Ep)}}Kp(){this.Ip=null}Jp(){if(!this.Np)return;if(this.$i().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Np.vn().Ni()&&this.$i().St().Ni()}nm(t){if(null===this.Np)return;const i=this.$i(),n=i.St();if(n.Ni())return;const s=this.Qd.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Dv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Dv))return;const h=this.Np.vn(),l=performance.now();if(null!==this.Rp||this.xm(t)||(this.Rp={x:t.clientX,y:t.clientY,Od:l,ym:t.localX,Cm:t.localY}),null!==this.Rp&&!this.Dp&&(this.Rp.x!==t.clientX||this.Rp.y!==t.clientY)){if(t.Dv&&r.touch||!t.Dv&&r.mouse){const t=n.le();this.Ep=new as(.2/t,7/t,.997,15/t),this.Ep.Yd(n.Hu(),this.Rp.Od)}else this.Ep=null;h.Ni()||i.A_(this.Np,h,t.localY),i.nd(t.localX),this.Dp=!0}this.Dp&&(h.Ni()||i.I_(this.Np,h,t.localY),i.sd(t.localX),null!==this.Ep&&this.Ep.Yd(n.Hu(),l))}}class Os{constructor(i,n,s,e,r){this.ft=!0,this.Ev=t({width:0,height:0}),this.Hv=()=>this.vp(3),this.qv=\"left\"===i,this.Oc=s.ud,this.cn=n,this.Tm=e,this.Pm=r,this.Kv=document.createElement(\"div\"),this.Kv.style.width=\"25px\",this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv)}S(){this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Kv}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.Gv.resizeCanvasElement(t),this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`,this.ft=!0)}vp(t){if(t<3&&!this.ft)return;if(0===this.Ev.width||0===this.Ev.height)return;this.ft=!1,this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)}))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tm())return;t.fillStyle=this.cn.timeScale.borderColor;const e=Math.floor(this.Oc.W().C*n),r=Math.floor(this.Oc.W().C*s),h=this.qv?i.width-e:0;t.fillRect(h,0,e,r)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Pm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.fa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const As=Bs(\"normal\"),Is=Bs(\"top\"),zs=Bs(\"bottom\");class Ls{constructor(i,n){this.Rm=null,this.Dm=null,this.k=null,this.Vm=!1,this.Ev=t({width:0,height:0}),this.Om=new D,this.Fv=new ni(5),this.jv=!1,this.Hv=()=>{this.jv||this.Qd.$t().Uh()},this.Uv=()=>{this.jv||this.Qd.$t().Uh()},this.Qd=i,this.q_=n,this.cn=i.W().layout,this.Xd=document.createElement(\"tr\"),this.Bm=document.createElement(\"td\"),this.Bm.style.padding=\"0\",this.Am=document.createElement(\"td\"),this.Am.style.padding=\"0\",this.Kv=document.createElement(\"td\"),this.Kv.style.height=\"25px\",this.Kv.style.padding=\"0\",this.Im=document.createElement(\"div\"),this.Im.style.width=\"100%\",this.Im.style.height=\"100%\",this.Im.style.position=\"relative\",this.Im.style.overflow=\"hidden\",this.Kv.appendChild(this.Im),this.Gv=_s(this.Im,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const s=this.Gv.canvasElement;s.style.position=\"absolute\",s.style.zIndex=\"1\",s.style.left=\"0\",s.style.top=\"0\",this.Jv=_s(this.Im,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const e=this.Jv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"2\",e.style.left=\"0\",e.style.top=\"0\",this.Xd.appendChild(this.Bm),this.Xd.appendChild(this.Kv),this.Xd.appendChild(this.Am),this.zm(),this.Qd.$t().g_().l(this.zm.bind(this),this),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>!0,rv:()=>!this.Qd.W().handleScroll.horzTouchDrag})}S(){this.hp.S(),null!==this.Rm&&this.Rm.S(),null!==this.Dm&&this.Dm.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Xd}Lm(){return this.Rm}Em(){return this.Dm}bv(t){if(this.Vm)return;this.Vm=!0;const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.Jc(t.localX)}pv(t){this.bv(t)}wv(){const t=this.Qd.$t();!t.St().Ni()&&this.Vm&&(this.Vm=!1,this.Qd.W().handleScale.axisPressedMouseMove.time&&t.hd())}av(t){const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.rd(t.localX)}hv(t){this.av(t)}cv(){this.Vm=!1;const t=this.Qd.$t();t.St().Ni()&&!this.Qd.W().handleScale.axisPressedMouseMove.time||t.hd()}_v(){this.cv()}qf(){this.Qd.W().handleScale.axisDoubleClickReset.time&&this.Qd.$t().Kn()}jf(){this.qf()}Qf(){this.Qd.$t().W().handleScale.axisPressedMouseMove.time&&this.kp(1)}Pv(){this.kp(0)}um(){return this.Ev}Nm(){return this.Om}Fm(i,s,e){n(this.Ev,i)||(this.Ev=i,this.jv=!0,this.Gv.resizeCanvasElement(i),this.Jv.resizeCanvasElement(i),this.jv=!1,this.Kv.style.width=`${i.width}px`,this.Kv.style.height=`${i.height}px`,this.Om.m(i)),null!==this.Rm&&this.Rm.cp(t({width:s,height:i.height})),null!==this.Dm&&this.Dm.cp(t({width:e,height:i.height}))}Wm(){const t=this.jm();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.Hm)}bt(){this.Qd.$t().St().Ha()}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(1!==t){this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t),this.$m(i,zs)})),this.wp(i),this.$m(i,As)),null!==this.Rm&&this.Rm.vp(t),null!==this.Dm&&this.Dm.vp(t)}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Um([...this.Qd.$t().wt(),this.Qd.$t().Zc()],i),this.$m(i,Is))}$m(t,i){const n=this.Qd.$t().wt();for(const s of n)fs(i,(i=>cs(i,t,!1,void 0)),s,void 0);for(const s of n)fs(i,(i=>ds(i,t,!1,void 0)),s,void 0)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Qd.$t().bd())}Ie({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Qd.W().timeScale.borderVisible){t.fillStyle=this.qm();const s=Math.max(1,Math.floor(this.jm().C*n));t.fillRect(0,0,i.width,s)}}wp(t){const i=this.Qd.$t().St(),n=i.Ha();if(!n||0===n.length)return;const s=this.q_.maxTickMarkWeight(n),e=this.jm(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.qm(),t.fillStyle=this.qm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=this.$(),t.font=this._p();for(const e of n)if(e.weight<s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}this.Qd.W().timeScale.allowBoldLabels&&(t.font=this.Zm());for(const e of n)if(e.weight>=s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Ym(t,i,n){const s=this.Fv.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Ev.width&&(i-=Math.abs(this.Ev.width-(r+s))),i}Um(t,i){const n=this.jm();for(const s of t)for(const t of s.Qi())t.gt().X(i,n)}qm(){return this.Qd.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}_p(){return F(this.j(),this.cn.fontFamily)}Zm(){return F(this.j(),this.cn.fontFamily,\"bold\")}jm(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,ji:NaN,T:5,P:NaN,R:\"\",Wi:new ni,Hm:0});const t=this.k,i=this._p();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.N=0,t.Hm=4*n/12,t.Wi.nr()}return this.k}kp(t){this.Kv.style.cursor=1===t?\"ew-resize\":\"default\"}zm(){const t=this.Qd.$t(),i=t.W();i.leftPriceScale.visible||null===this.Rm||(this.Bm.removeChild(this.Rm.lp()),this.Rm.S(),this.Rm=null),i.rightPriceScale.visible||null===this.Dm||(this.Am.removeChild(this.Dm.lp()),this.Dm.S(),this.Dm=null);const n={ud:this.Qd.$t().ud()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t.bd();i.leftPriceScale.visible&&null===this.Rm&&(this.Rm=new Os(\"left\",i,n,s,e),this.Bm.appendChild(this.Rm.lp())),i.rightPriceScale.visible&&null===this.Dm&&(this.Dm=new Os(\"right\",i,n,s,e),this.Am.appendChild(this.Dm.lp()))}}const Es=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes(\"Chromium\")))&&!!ns&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?\"Windows\"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf(\"win\")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Xm=[],this.Km=0,this.ho=0,this.__=0,this.Gm=0,this.Jm=0,this.Qm=null,this.tb=!1,this.Vp=new D,this.Op=new D,this.Rc=new D,this.ib=null,this.nb=null,this.Jd=t,this.cn=i,this.q_=n,this.Xd=document.createElement(\"div\"),this.Xd.classList.add(\"tv-lightweight-charts\"),this.Xd.style.overflow=\"hidden\",this.Xd.style.direction=\"ltr\",this.Xd.style.width=\"100%\",this.Xd.style.height=\"100%\",(s=this.Xd).style.userSelect=\"none\",s.style.webkitUserSelect=\"none\",s.style.msUserSelect=\"none\",s.style.MozUserSelect=\"none\",s.style.webkitTapHighlightColor=\"transparent\",this.sb=document.createElement(\"table\"),this.sb.setAttribute(\"cellspacing\",\"0\"),this.Xd.appendChild(this.sb),this.eb=this.rb.bind(this),Ws(this.cn)&&this.hb(!0),this.$i=new Ln(this.Vc.bind(this),this.cn,n),this.$t().Xc().l(this.lb.bind(this),this),this.ab=new Ls(this,this.q_),this.sb.appendChild(this.ab.lp());const e=i.autoSize&&this.ob();let r=this.cn.width,h=this.cn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this._b(r,h),this.ub(),t.appendChild(this.Xd),this.cb(),this.$i.St().ec().l(this.$i.Kl.bind(this.$i),this),this.$i.g_().l(this.$i.Kl.bind(this.$i),this)}$t(){return this.$i}W(){return this.cn}Yp(){return this.Xm}fb(){return this.ab}S(){this.hb(!1),0!==this.Km&&window.cancelAnimationFrame(this.Km),this.$i.Xc().p(this),this.$i.St().ec().p(this),this.$i.g_().p(this),this.$i.S();for(const t of this.Xm)this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S();this.Xm=[],b(this.ab).S(),null!==this.Xd.parentElement&&this.Xd.parentElement.removeChild(this.Xd),this.Rc.S(),this.Vp.S(),this.Op.S(),this.pb()}_b(i,n,s=!1){if(this.ho===n&&this.__===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.__=e.width;const r=this.ho+\"px\",h=this.__+\"px\";b(this.Xd).style.height=r,b(this.Xd).style.width=h,this.sb.style.height=r,this.sb.style.width=h,s?this.mb(ut.es(),performance.now()):this.$i.Kl()}vp(t){void 0===t&&(t=ut.es());for(let i=0;i<this.Xm.length;i++)this.Xm[i].vp(t.Hn(i).Fn);this.cn.timeScale.visible&&this.ab.vp(t.jn())}$h(t){const i=Ws(this.cn);this.$i.$h(t);const n=Ws(this.cn);n!==i&&this.hb(n),this.cb(),this.bb(t)}lm(){return this.Vp}am(){return this.Op}Xc(){return this.Rc}wb(){null!==this.Qm&&(this.mb(this.Qm,performance.now()),this.Qm=null);const t=this.gb(null),i=document.createElement(\"canvas\");i.width=t.width,i.height=t.height;const n=b(i.getContext(\"2d\"));return this.gb(n),i}Mb(t){if(\"left\"===t&&!this.xb())return 0;if(\"right\"===t&&!this.Sb())return 0;if(0===this.Xm.length)return 0;return b(\"left\"===t?this.Xm[0].wm():this.Xm[0].gm()).dp()}kb(){return this.cn.autoSize&&null!==this.ib}yb(){return this.Xd}Qp(t){this.nb=t,this.nb?this.yb().style.setProperty(\"cursor\",t):this.yb().style.removeProperty(\"cursor\")}Cb(){return this.nb}Tb(){return m(this.Xm[0]).um()}bb(t){(void 0!==t.autoSize||!this.ib||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.ib&&this.ob(),!1===t.autoSize&&null!==this.ib&&this.pb(),t.autoSize||void 0===t.width&&void 0===t.height||this._b(t.width||this.__,t.height||this.ho))}gb(i){let n=0,s=0;const e=this.Xm[0],r=(t,n)=>{let s=0;for(let e=0;e<this.Xm.length;e++){const r=this.Xm[e],h=b(\"left\"===t?r.wm():r.gm()),l=h.xp();null!==i&&h.Sp(i,n,s),s+=l.height}};if(this.xb()){r(\"left\",0);n+=b(e.wm()).xp().width}for(let t=0;t<this.Xm.length;t++){const e=this.Xm[t],r=e.xp();null!==i&&e.Sp(i,n,s),s+=r.height}if(n+=e.xp().width,this.Sb()){r(\"right\",n);n+=b(e.gm()).xp().width}const h=(t,n,s)=>{b(\"left\"===t?this.ab.Lm():this.ab.Em()).Sp(b(i),n,s)};if(this.cn.timeScale.visible){const t=this.ab.xp();if(null!==i){let n=0;this.xb()&&(h(\"left\",n,s),n=b(e.wm()).xp().width),this.ab.Sp(i,n,s),n+=t.width,this.Sb()&&h(\"right\",n,s)}s+=t.height}return t({width:n,height:s})}Pb(){let i=0,n=0,s=0;for(const t of this.Xm)this.xb()&&(n=Math.max(n,b(t.wm()).op(),this.cn.leftPriceScale.minimumWidth)),this.Sb()&&(s=Math.max(s,b(t.gm()).op(),this.cn.rightPriceScale.minimumWidth)),i+=t.M_();n=rs(n),s=rs(s);const e=this.__,r=this.ho,h=Math.max(e-n-s,0),l=this.cn.timeScale.visible;let a=l?Math.max(this.ab.Wm(),this.cn.timeScale.minimumHeight):0;var o;a=(o=a)+o%2;const _=0+a,u=r<_?0:r-_,c=u/i;let d=0;for(let i=0;i<this.Xm.length;++i){const e=this.Xm[i];e.qp(this.$i.qc()[i]);let r=0,l=0;l=i===this.Xm.length-1?u-d:Math.round(e.M_()*c),r=Math.max(l,2),d+=r,e.cp(t({width:h,height:r})),this.xb()&&e._m(n,\"left\"),this.Sb()&&e._m(s,\"right\"),e.fp()&&this.$i.Kc(e.fp(),r)}this.ab.Fm(t({width:l?h:0,height:a}),l?n:0,l?s:0),this.$i.S_(h),this.Gm!==n&&(this.Gm=n),this.Jm!==s&&(this.Jm=s)}hb(t){t?this.Xd.addEventListener(\"wheel\",this.eb,{passive:!1}):this.Xd.removeEventListener(\"wheel\",this.eb)}Rb(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Es?1/window.devicePixelRatio:1}rb(t){if(!(0!==t.deltaX&&this.cn.handleScroll.mouseWheel||0!==t.deltaY&&this.cn.handleScale.mouseWheel))return;const i=this.Rb(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.cn.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.Xd.getBoundingClientRect().left;this.$t().Qc(n,i)}0!==n&&this.cn.handleScroll.mouseWheel&&this.$t().td(-80*n)}mb(t,i){var n;const s=t.jn();3===s&&this.Db(),3!==s&&2!==s||(this.Vb(t),this.Ob(t,i),this.ab.bt(),this.Xm.forEach((t=>{t.Xp()})),3===(null===(n=this.Qm)||void 0===n?void 0:n.jn())&&(this.Qm.ts(t),this.Db(),this.Vb(this.Qm),this.Ob(this.Qm,i),t=this.Qm,this.Qm=null)),this.vp(t)}Ob(t,i){for(const n of t.Qn())this.ns(n,i)}Vb(t){const i=this.$i.qc();for(let n=0;n<i.length;n++)t.Hn(n).Wn&&i[n].N_()}ns(t,i){const n=this.$i.St();switch(t.qn){case 0:n.hc();break;case 1:n.lc(t.Vt);break;case 2:n.Gn(t.Vt);break;case 3:n.Jn(t.Vt);break;case 4:n.qu();break;case 5:t.Vt.Qu(i)||n.Jn(t.Vt.tc(i))}}Vc(t){null!==this.Qm?this.Qm.ts(t):this.Qm=t,this.tb||(this.tb=!0,this.Km=window.requestAnimationFrame((t=>{if(this.tb=!1,this.Km=0,null!==this.Qm){const i=this.Qm;this.Qm=null,this.mb(i,t);for(const n of i.Qn())if(5===n.qn&&!n.Vt.Qu(t)){this.$t().Zn(n.Vt);break}}})))}Db(){this.ub()}ub(){const t=this.$i.qc(),i=t.length,n=this.Xm.length;for(let t=i;t<n;t++){const t=m(this.Xm.pop());this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S()}for(let s=n;s<i;s++){const i=new Vs(this,t[s]);i.lm().l(this.Bb.bind(this),this),i.am().l(this.Ab.bind(this),this),this.Xm.push(i),this.sb.insertBefore(i.lp(),this.ab.lp())}for(let n=0;n<i;n++){const i=t[n],s=this.Xm[n];s.fp()!==i?s.qp(i):s.Up()}this.cb(),this.Pb()}Ib(t,i,n){var s;const e=new Map;if(null!==t){this.$i.wt().forEach((i=>{const n=i.In().ll(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.$i.St().Ui(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Wc(),l=null!==h&&h.Hc instanceof Gi?h.Hc:void 0,a=null!==h&&void 0!==h.Iv?h.Iv.gr:void 0;return{zb:r,ee:null!=t?t:void 0,Lb:null!=i?i:void 0,Eb:l,Nb:e,Fb:a,Wb:null!=n?n:void 0}}Bb(t,i,n){this.Vp.m((()=>this.Ib(t,i,n)))}Ab(t,i,n){this.Op.m((()=>this.Ib(t,i,n)))}lb(t,i,n){this.Rc.m((()=>this.Ib(t,i,n)))}cb(){const t=this.cn.timeScale.visible?\"\":\"none\";this.ab.lp().style.display=t}xb(){return this.Xm[0].fp().R_().W().visible}Sb(){return this.Xm[0].fp().D_().W().visible}ob(){return\"ResizeObserver\"in window&&(this.ib=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Jd));i&&this._b(i.contentRect.width,i.contentRect.height)})),this.ib.observe(this.Jd,{box:\"border-box\"}),!0)}pb(){null!==this.ib&&this.ib.disconnect(),this.ib=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Hs(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}function $s(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.color&&(r.V=n.color),r}function Us(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.lineColor&&(r.lt=n.lineColor),void 0!==n.topColor&&(r.Ps=n.topColor),void 0!==n.bottomColor&&(r.Rs=n.bottomColor),r}function qs(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.topLineColor&&(r.Re=n.topLineColor),void 0!==n.bottomLineColor&&(r.De=n.bottomLineColor),void 0!==n.topFillColor1&&(r.ke=n.topFillColor1),void 0!==n.topFillColor2&&(r.ye=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.Ce=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.Te=n.bottomFillColor2),r}function Ys(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),e}function Zs(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),void 0!==n.borderColor&&(e.Ot=n.borderColor),void 0!==n.wickColor&&(e.Xh=n.wickColor),e}function Xs(t,i,n,s,e){const r=m(e)(n),h=Math.max(...r),l=Math.min(...r),a=r[r.length-1],o=[a,h,l,a],_=n,{time:u,color:c}=_;return{ee:i,ot:t,Vt:o,zb:s,$e:Hs(_,[\"time\",\"color\"]),V:c}}function Ks(t){return void 0!==t.Vt}function Gs(t,i){return void 0!==i.customValues&&(t.jb=i.customValues),t}function Js(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Gs({ot:i,ee:n,zb:e},s):Gs(t(i,n,s,e,r),s)}function Qs(t){return{Candlestick:Js(Zs),Bar:Js(Ys),Area:Js(Us),Baseline:Js(qs),Histogram:Js($s),Line:Js($s),Custom:Js(Xs)}[t]}function te(t){return{ee:0,Hb:new Map,la:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{$b:i.key(t[0].ot),Ub:i.key(t[t.length-1].ot)}}function ne(t){let i;return t.forEach((t=>{void 0===i&&(i=t.zb)})),m(i)}class se{constructor(t){this.qb=new Map,this.Yb=new Map,this.Zb=new Map,this.Xb=[],this.q_=t}S(){this.qb.clear(),this.Yb.clear(),this.Zb.clear(),this.Xb=[]}Kb(t,i){let n=0!==this.qb.size,s=!1;const e=this.Yb.get(t);if(void 0!==e)if(1===this.Yb.size)n=!1,s=!0,this.qb.clear();else for(const i of this.Xb)i.pointData.Hb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.q_.createConverterToInternalObj(i),h=Qs(t.Qh()),l=t.Ca(),a=t.Ta();r=i.map(((i,r)=>{const o=e(i.time),_=this.q_.key(o);let u=this.qb.get(_);void 0===u&&(u=te(o),this.qb.set(_,u),s=!0);const c=h(o,u.ee,i,n[r],l,a);return u.Hb.set(t,c),c}))}n&&this.Gb(),this.Jb(t,r);let h=-1;if(s){const t=[];this.qb.forEach((i=>{t.push({timeWeight:0,time:i.la,pointData:i,originalTime:ne(i.Hb)})})),t.sort(((t,i)=>this.q_.key(t.time)-this.q_.key(i.time))),h=this.Qb(t)}return this.tw(t,h,function(t,i,n){const s=ie(t,n),e=ie(i,n);if(void 0!==s&&void 0!==e)return{ta:s.Ub>=e.Ub&&s.$b>=e.$b}}(this.Yb.get(t),e,this.q_))}vd(t){return this.Kb(t,[])}iw(t,i){const n=i;!function(t){void 0===t.zb&&(t.zb=t.time)}(n),this.q_.preprocessData(i);const s=this.q_.createConverterToInternalObj([i])(i.time),e=this.Zb.get(t);if(void 0!==e&&this.q_.key(s)<this.q_.key(e))throw new Error(`Cannot update oldest data, last time=${e}, new time=${s}`);let r=this.qb.get(this.q_.key(s));const h=void 0===r;void 0===r&&(r=te(s),this.qb.set(this.q_.key(s),r));const l=Qs(t.Qh()),a=t.Ca(),o=t.Ta(),_=l(s,r.ee,i,n.zb,a,o);r.Hb.set(t,_),this.nw(t,_);const u={ta:Ks(_)};if(!h)return this.tw(t,-1,u);const c={timeWeight:0,time:r.la,pointData:r,originalTime:ne(r.Hb)},d=Bt(this.Xb,this.q_.key(c.time),((t,i)=>this.q_.key(t.time)<i));this.Xb.splice(d,0,c);for(let t=d;t<this.Xb.length;++t)ee(this.Xb[t].pointData,t);return this.q_.fillWeightsForPoints(this.Xb,d),this.tw(t,d,u)}nw(t,i){let n=this.Yb.get(t);void 0===n&&(n=[],this.Yb.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||this.q_.key(i.ot)>this.q_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Zb.set(t,i.ot)}Jb(t,i){0!==i.length?(this.Yb.set(t,i.filter(Ks)),this.Zb.set(t,i[i.length-1].ot)):(this.Yb.delete(t),this.Zb.delete(t))}Gb(){for(const t of this.Xb)0===t.pointData.Hb.size&&this.qb.delete(this.q_.key(t.time))}Qb(t){let i=-1;for(let n=0;n<this.Xb.length&&n<t.length;++n){const s=this.Xb[n],e=t[n];if(this.q_.key(s.time)!==this.q_.key(e.time)){i=n;break}e.timeWeight=s.timeWeight,ee(e.pointData,n)}if(-1===i&&this.Xb.length!==t.length&&(i=Math.min(this.Xb.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ee(t[n].pointData,n);return this.q_.fillWeightsForPoints(t,i),this.Xb=t,i}sw(){if(0===this.Yb.size)return null;let t=0;return this.Yb.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].ee))})),t}tw(t,i,n){const s={ew:new Map,St:{Eu:this.sw()}};if(-1!==i)this.Yb.forEach(((i,e)=>{s.ew.set(e,{$e:i,rw:e===t?n:void 0})})),this.Yb.has(t)||s.ew.set(t,{$e:[],rw:n}),s.St.hw=this.Xb,s.St.lw=i;else{const i=this.Yb.get(t);s.ew.set(t,{$e:i||[],rw:n})}return s}}function ee(t,i){t.ee=i,t.Hb.forEach((t=>{t.ee=i}))}function re(t){const i={value:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function he(t){const i=re(t);return void 0!==t.V&&(i.color=t.V),i}function le(t){const i=re(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.Ps&&(i.topColor=t.Ps),void 0!==t.Rs&&(i.bottomColor=t.Rs),i}function ae(t){const i=re(t);return void 0!==t.Re&&(i.topLineColor=t.Re),void 0!==t.De&&(i.bottomLineColor=t.De),void 0!==t.ke&&(i.topFillColor1=t.ke),void 0!==t.ye&&(i.topFillColor2=t.ye),void 0!==t.Ce&&(i.bottomFillColor1=t.Ce),void 0!==t.Te&&(i.bottomFillColor2=t.Te),i}function oe(t){const i={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function _e(t){const i=oe(t);return void 0!==t.V&&(i.color=t.V),i}function ue(t){const i=oe(t),{V:n,Ot:s,Xh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ce(t){return{Area:le,Line:he,Baseline:ae,Histogram:he,Bar:_e,Candlestick:ue,Custom:de}[t]}function de(t){const i=t.zb;return Object.assign(Object.assign({},t.$e),{time:i})}const fe={vertLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},horzLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},mode:1},ve={vertLines:{color:\"#D6DCDE\",style:0,visible:!0},horzLines:{color:\"#D6DCDE\",style:0,visible:!0}},pe={background:{type:\"solid\",color:\"#FFFFFF\"},textColor:\"#191919\",fontSize:12,fontFamily:N,attributionLogo:!0},me={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:\"#2B2B43\",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},be={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:\"#2B2B43\",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},we={color:\"rgba(0, 0, 0, 0)\",visible:!1,fontSize:48,fontFamily:N,fontStyle:\"\",text:\"\",horzAlign:\"center\",vertAlign:\"center\"};function ge(){return{width:0,height:0,autoSize:!1,layout:pe,crosshair:fe,grid:ve,overlayPriceScales:Object.assign({},me),leftPriceScale:Object.assign(Object.assign({},me),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},me),{visible:!0}),timeScale:be,watermark:we,localization:{locale:ns?navigator.language:\"\",dateFormat:\"dd MMM 'yy\"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Me{constructor(t,i){this.aw=t,this.ow=i}applyOptions(t){this.aw.$t().$c(this.ow,t)}options(){return this.Li().W()}width(){return _t(this.ow)?this.aw.Mb(this.ow):0}Li(){return b(this.aw.$t().Uc(this.ow)).Dt}}function xe(t,i,n){const s=Hs(t,[\"time\",\"originalTime\"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const Se={color:\"#FF0000\",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:\"\",axisLabelColor:\"\",axisLabelTextColor:\"\"};class ke{constructor(t){this.Nh=t}applyOptions(t){this.Nh.$h(t)}options(){return this.Nh.W()}_w(){return this.Nh}}class ye{constructor(t,i,n,s,e){this.uw=new D,this.Es=t,this.cw=i,this.dw=n,this.q_=e,this.fw=s}S(){this.uw.S()}priceFormatter(){return this.Es.ba()}priceToCoordinate(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().Rt(t,i.Vt)}coordinateToPrice(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().pn(t,i.Vt)}barsInLogicalRange(t){if(null===t)return null;const i=new yn(new xn(t.from,t.to)).lu(),n=this.Es.In();if(n.Ni())return null;const s=n.ll(i.Os(),1),e=n.ll(i.ui(),-1),r=b(n.el()),h=b(n.An());if(null!==s&&null!==e&&s.ee>e.ee)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ee===r?t.from-r:s.ee-r,barsAfter:null===e||e.ee===h?h-t.to:h-e.ee};return null!==s&&null!==e&&(l.from=s.zb,l.to=e.zb),l}setData(t){this.q_,this.Es.Qh(),this.cw.pw(this.Es,t),this.mw(\"full\")}update(t){this.Es.Qh(),this.cw.bw(this.Es,t),this.mw(\"update\")}dataByIndex(t,i){const n=this.Es.In().ll(t,i);if(null===n)return null;return ce(this.seriesType())(n)}data(){const t=ce(this.seriesType());return this.Es.In().ne().map((i=>t(i)))}subscribeDataChanged(t){this.uw.l(t)}unsubscribeDataChanged(t){this.uw.v(t)}setMarkers(t){this.q_;const i=t.map((t=>xe(t,this.q_.convertHorzItemToInternal(t.time),t.time)));this.Es.na(i)}markers(){return this.Es.sa().map((t=>xe(t,t.originalTime,void 0)))}applyOptions(t){this.Es.$h(t)}options(){return z(this.Es.W())}priceScale(){return this.dw.priceScale(this.Es.Dt().Pa())}createPriceLine(t){const i=V(z(Se),t),n=this.Es.ea(i);return new ke(n)}removePriceLine(t){this.Es.ra(t._w())}seriesType(){return this.Es.Qh()}attachPrimitive(t){this.Es.ka(t),t.attached&&t.attached({chart:this.fw,series:this,requestUpdate:()=>this.Es.$t().Kl()})}detachPrimitive(t){this.Es.ya(t),t.detached&&t.detached()}mw(t){this.uw.M()&&this.uw.m(t)}}class Ce{constructor(t,i,n){this.ww=new D,this.mu=new D,this.Om=new D,this.$i=t,this.yl=t.St(),this.ab=i,this.yl.nc().l(this.gw.bind(this)),this.yl.sc().l(this.Mw.bind(this)),this.ab.Nm().l(this.xw.bind(this)),this.q_=n}S(){this.yl.nc().p(this),this.yl.sc().p(this),this.ab.Nm().p(this),this.ww.S(),this.mu.S(),this.Om.S()}scrollPosition(){return this.yl.Hu()}scrollToPosition(t,i){i?this.yl.Ju(t,1e3):this.$i.Jn(t)}scrollToRealTime(){this.yl.Gu()}getVisibleRange(){const t=this.yl.Vu();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.q_.convertHorzItemToInternal(t.from),to:this.q_.convertHorzItemToInternal(t.to)},n=this.yl.Iu(i);this.$i.pd(n)}getVisibleLogicalRange(){const t=this.yl.Du();return null===t?null:{from:t.Os(),to:t.ui()}}setVisibleLogicalRange(t){p(t.from<=t.to,\"The from index cannot be after the to index.\"),this.$i.pd(t)}resetTimeScale(){this.$i.Kn()}fitContent(){this.$i.hc()}logicalToCoordinate(t){const i=this.$i.St();return i.Ni()?null:i.It(t)}coordinateToLogical(t){return this.yl.Ni()?null:this.yl.Nu(t)}timeToCoordinate(t){const i=this.q_.convertHorzItemToInternal(t),n=this.yl.Va(i,!1);return null===n?null:this.yl.It(n)}coordinateToTime(t){const i=this.$i.St(),n=i.Nu(t),s=i.Ui(n);return null===s?null:s.originalTime}width(){return this.ab.um().width}height(){return this.ab.um().height}subscribeVisibleTimeRangeChange(t){this.ww.l(t)}unsubscribeVisibleTimeRangeChange(t){this.ww.v(t)}subscribeVisibleLogicalRangeChange(t){this.mu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.mu.v(t)}subscribeSizeChange(t){this.Om.l(t)}unsubscribeSizeChange(t){this.Om.v(t)}applyOptions(t){this.yl.$h(t)}options(){return Object.assign(Object.assign({},z(this.yl.W())),{barSpacing:this.yl.le()})}gw(){this.ww.M()&&this.ww.m(this.getVisibleRange())}Mw(){this.mu.M()&&this.mu.m(this.getVisibleLogicalRange())}xw(t){this.Om.m(t.width,t.height)}}function Te(t){if(void 0===t||\"custom\"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Pe(t){return function(t){if(I(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;I(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),I(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;I(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Re{constructor(t,i,n){this.Sw=new Map,this.kw=new Map,this.yw=new D,this.Cw=new D,this.Tw=new D,this.Pw=new se(i);const s=void 0===n?z(ge()):V(z(ge()),Pe(n));this.q_=i,this.aw=new Fs(t,s,i),this.aw.lm().l((t=>{this.yw.M()&&this.yw.m(this.Rw(t()))}),this),this.aw.am().l((t=>{this.Cw.M()&&this.Cw.m(this.Rw(t()))}),this),this.aw.Xc().l((t=>{this.Tw.M()&&this.Tw.m(this.Rw(t()))}),this);const e=this.aw.$t();this.Dw=new Ce(e,this.aw.fb(),this.q_)}remove(){this.aw.lm().p(this),this.aw.am().p(this),this.aw.Xc().p(this),this.Dw.S(),this.aw.S(),this.Sw.clear(),this.kw.clear(),this.yw.S(),this.Cw.S(),this.Tw.S(),this.Pw.S()}resize(t,i,n){this.autoSizeActive()||this.aw._b(t,i,n)}addCustomSeries(t,i){const n=w(t),s=Object.assign(Object.assign({},_),n.defaultOptions());return this.Vw(\"Custom\",s,i,n)}addAreaSeries(t){return this.Vw(\"Area\",l,t)}addBaselineSeries(t){return this.Vw(\"Baseline\",a,t)}addBarSeries(t){return this.Vw(\"Bar\",r,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Vw(\"Candlestick\",e,t)}addHistogramSeries(t){return this.Vw(\"Histogram\",o,t)}addLineSeries(t){return this.Vw(\"Line\",h,t)}removeSeries(t){const i=m(this.Sw.get(t)),n=this.Pw.vd(i);this.aw.$t().vd(i),this.Ow(n),this.Sw.delete(t),this.kw.delete(i)}pw(t,i){this.Ow(this.Pw.Kb(t,i))}bw(t,i){this.Ow(this.Pw.iw(t,i))}subscribeClick(t){this.yw.l(t)}unsubscribeClick(t){this.yw.v(t)}subscribeCrosshairMove(t){this.Tw.l(t)}unsubscribeCrosshairMove(t){this.Tw.v(t)}subscribeDblClick(t){this.Cw.l(t)}unsubscribeDblClick(t){this.Cw.v(t)}priceScale(t){return new Me(this.aw,t)}timeScale(){return this.Dw}applyOptions(t){this.aw.$h(Pe(t))}options(){return this.aw.W()}takeScreenshot(){return this.aw.wb()}autoSizeActive(){return this.aw.kb()}chartElement(){return this.aw.yb()}paneSize(){const t=this.aw.Tb();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.Sw.get(n);if(void 0===s)return;const e=this.aw.$t().dr(s);null!==e&&this.aw.$t().ad(t,i,e)}clearCrosshairPosition(){this.aw.$t().od(!0)}Vw(t,i,n={},s){Te(n.priceFormat);const e=V(z(u),z(i),n),r=this.aw.$t().dd(t,e,s),h=new ye(r,this,this,this,this.q_);return this.Sw.set(h,r),this.kw.set(r,h),h}Ow(t){const i=this.aw.$t();i._d(t.St.Eu,t.St.hw,t.St.lw),t.ew.forEach(((t,i)=>i.J(t.$e,t.rw))),i.Wu()}Bw(t){return m(this.kw.get(t))}Rw(t){const i=new Map;t.Nb.forEach(((t,n)=>{const s=n.Qh(),e=ce(s)(t);if(\"Custom\"!==s)p(js(e));else{const t=n.Ta();p(!t||!1===t(e))}i.set(this.Bw(n),e)}));const n=void 0!==t.Eb&&this.kw.has(t.Eb)?this.Bw(t.Eb):void 0;return{time:t.zb,logical:t.ee,point:t.Lb,hoveredSeries:n,hoveredObjectId:t.Fb,seriesData:i,sourceEvent:t.Wb}}}function De(t,i,n){let s;if(A(t)){const i=document.getElementById(t);p(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Re(s,i,n);return i.setOptions(e.options()),e}function Ve(t,i){return De(t,new is,is.Id(i))}function Oe(){return is}const Be=Object.assign(Object.assign({},u),_);function Ae(){return\"4.2.3\"}export{In as ColorType,at as CrosshairMode,Bn as LastPriceAnimationMode,d as LineStyle,c as LineType,Li as MismatchDirection,An as PriceLineSource,pn as PriceScaleMode,zn as TickMarkType,On as TrackingModeExitMode,Ve as createChart,De as createChartEx,Be as customSeriesDefaultOptions,Oe as defaultHorzScaleBehavior,En as isBusinessDay,Nn as isUTCTimestamp,Ae as version};\n","/**\r\n * ChartRenderer - Manages the lightweight-charts instance and rendering\r\n */\r\nimport { createChart, IChartApi, ISeriesApi, CrosshairMode, Time } from 'lightweight-charts';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport interface ChartOptions {\r\n ticker?: string;\r\n mint: string;\r\n formatPrice: (value: number) => string;\r\n height?: number;\r\n}\r\n\r\nexport class ChartRenderer {\r\n private chart: IChartApi | null = null;\r\n private series: ISeriesApi<\"Candlestick\"> | null = null;\r\n private container: HTMLDivElement | null = null;\r\n private options: ChartOptions;\r\n\r\n constructor(container: HTMLDivElement, options: ChartOptions) {\r\n this.container = container;\r\n this.options = options;\r\n }\r\n\r\n /**\r\n * Initializes the chart\r\n */\r\n initialize(): void {\r\n if (!this.container) {\r\n throw new Error('Chart container is not set');\r\n }\r\n\r\n this.chart = createChart(this.container, {\r\n layout: {\r\n background: { color: '#ffffff' },\r\n textColor: '#333333',\r\n },\r\n grid: {\r\n vertLines: { color: '#f0f0f0' },\r\n horzLines: { color: '#f0f0f0' },\r\n },\r\n crosshair: {\r\n mode: CrosshairMode.Normal,\r\n },\r\n rightPriceScale: {\r\n borderColor: '#cccccc',\r\n },\r\n timeScale: {\r\n borderColor: '#cccccc',\r\n timeVisible: true,\r\n secondsVisible: false,\r\n rightOffset: 12,\r\n barSpacing: 8,\r\n minBarSpacing: 4,\r\n },\r\n height: this.options.height || 384,\r\n localization: {\r\n priceFormatter: this.options.formatPrice,\r\n },\r\n watermark: {\r\n visible: true,\r\n fontSize: 64,\r\n horzAlign: 'center',\r\n vertAlign: 'center',\r\n color: 'rgba(0, 0, 0, 0.03)',\r\n text: this.options.ticker \r\n ? `${this.options.ticker}/USDC` \r\n : `${this.options.mint.substring(0, 4)}...${this.options.mint.substring(this.options.mint.length - 4)}/USDC`,\r\n },\r\n });\r\n\r\n this.series = this.chart.addCandlestickSeries({\r\n upColor: '#26a69a',\r\n downColor: '#ef5350',\r\n borderVisible: true,\r\n borderUpColor: '#26a69a',\r\n borderDownColor: '#ef5350',\r\n wickUpColor: '#26a69a',\r\n wickDownColor: '#ef5350',\r\n priceFormat: { \r\n type: 'price', \r\n precision: 12, \r\n minMove: 0.000000000001 \r\n } \r\n });\r\n\r\n // Handle resize\r\n const handleResize = () => {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n }\r\n\r\n /**\r\n * Updates chart data\r\n */\r\n updateData(candles: CandleData[]): void {\r\n if (!this.series) return;\r\n\r\n // Validate candles before displaying\r\n const validCandles = candles.filter(candle => \r\n candle && \r\n candle.open > 0 && \r\n candle.high > 0 && \r\n candle.low > 0 && \r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close)\r\n );\r\n\r\n if (validCandles.length > 0) {\r\n this.series.setData(validCandles.map(c => ({ ...c, time: c.time as Time })));\r\n \r\n // Scroll to real-time\r\n requestAnimationFrame(() => {\r\n if (this.chart) {\r\n this.chart.timeScale().scrollToRealTime();\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Sets the current timeframe (for future use if needed)\r\n */\r\n setTimeframe(timeframe: TimeFrame): void {\r\n // Can be extended to update chart settings based on timeframe\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n }\r\n\r\n /**\r\n * Destroys the chart instance\r\n */\r\n destroy(): void {\r\n if (this.chart) {\r\n this.chart.remove();\r\n this.chart = null;\r\n this.series = null;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the chart instance (for advanced operations)\r\n */\r\n getChart(): IChartApi | null {\r\n return this.chart;\r\n }\r\n\r\n /**\r\n * Gets the series instance (for advanced operations)\r\n */\r\n getSeries(): ISeriesApi<\"Candlestick\"> | null {\r\n return this.series;\r\n }\r\n}\r\n\r\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.13.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\r\n * Environment Configuration for Funhi Chart\r\n * \r\n * This file provides configuration for the chart component\r\n * Users can override these values by passing them as props\r\n */\r\n\r\nexport const API_CONFIG = {\r\n // Backend API base URL - users should provide this\r\n BASE_URL: typeof window !== 'undefined' && (window as any).FUNHI_CHART_API_URL \r\n ? (window as any).FUNHI_CHART_API_URL \r\n : (typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_BACKEND_URL) || '',\r\n\r\n // API request timeout in milliseconds\r\n TIMEOUT: 10000,\r\n\r\n // Retry configuration\r\n MAX_RETRIES: 3,\r\n RETRY_DELAY: 1000,\r\n} as const;\r\n\r\n","/**\r\n * Candle Storage Service\r\n * Handles saving and retrieving candles from database via API\r\n * Replaces localStorage with database storage for persistent candle data\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { API_CONFIG } from '../config/environment';\r\n\r\nexport interface CandleData {\r\n time: number; // Unix timestamp in seconds\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface SaveCandlesRequest {\r\n mint: string;\r\n candles: CandleData[];\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nexport interface GetCandlesRequest {\r\n mint: string;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n limit?: number; // max number of candles to retrieve, defaults to 200\r\n}\r\n\r\nexport interface SaveCandleRequest {\r\n mint: string;\r\n candle: CandleData;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nclass CandleStorageService {\r\n private readonly baseURL = `${API_CONFIG.BASE_URL}/api/ohlcv`;\r\n private savingQueue: Map<string, { candles: CandleData[], timeout: ReturnType<typeof setTimeout> }> = new Map();\r\n private readonly BATCH_DELAY = 5000; // 5 seconds - batch candles before saving\r\n private readonly BATCH_SIZE = 50; // Save when we reach this many candles\r\n\r\n /**\r\n * Save multiple candles to database\r\n * Uses batching to reduce API calls\r\n */\r\n async saveCandles(request: SaveCandlesRequest): Promise<boolean> {\r\n try {\r\n const { mint, candles, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candles || candles.length === 0) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n const response = await axios.post(`${this.baseURL}/candles/save`, {\r\n mint,\r\n candles,\r\n timeFrame\r\n });\r\n\r\n if (response.data.success) {\r\n console.log(`💾 [CandleStorage] Saved ${candles.length} candles for ${mint}`);\r\n return true;\r\n }\r\n\r\n return false;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error saving candles:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Save a single candle to database\r\n * Batches candles to reduce API calls\r\n */\r\n async saveCandle(request: SaveCandleRequest): Promise<boolean> {\r\n try {\r\n const { mint, candle, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candle) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n // Add to batching queue\r\n const queueKey = `${mint}_${timeFrame}`;\r\n const existingQueue = this.savingQueue.get(queueKey);\r\n\r\n if (existingQueue) {\r\n // Clear existing timeout\r\n clearTimeout(existingQueue.timeout);\r\n \r\n // Add candle to queue\r\n existingQueue.candles.push(candle);\r\n\r\n // If we've reached batch size, save immediately\r\n if (existingQueue.candles.length >= this.BATCH_SIZE) {\r\n await this.flushQueue(queueKey, mint, timeFrame);\r\n } else {\r\n // Otherwise, set new timeout\r\n existingQueue.timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n }\r\n } else {\r\n // Create new queue entry\r\n const timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n\r\n this.savingQueue.set(queueKey, {\r\n candles: [candle],\r\n timeout\r\n });\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error queuing candle:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Flush the batching queue and save to database\r\n */\r\n private async flushQueue(queueKey: string, mint: string, timeFrame: number): Promise<void> {\r\n const queue = this.savingQueue.get(queueKey);\r\n \r\n if (!queue || queue.candles.length === 0) {\r\n return;\r\n }\r\n\r\n // Remove from queue\r\n this.savingQueue.delete(queueKey);\r\n\r\n // Save to database\r\n await this.saveCandles({\r\n mint,\r\n candles: queue.candles,\r\n timeFrame\r\n });\r\n }\r\n\r\n /**\r\n * Get candles from database\r\n */\r\n async getCandles(request: GetCandlesRequest): Promise<CandleData[]> {\r\n try {\r\n const { mint, timeFrame = 60, limit = 50000 } = request;\r\n\r\n if (!mint) {\r\n console.warn('⚠️ [CandleStorage] Invalid get request:', request);\r\n return [];\r\n }\r\n\r\n const response = await axios.get(`${this.baseURL}/candles/${mint}`, {\r\n params: {\r\n timeFrame,\r\n limit\r\n },\r\n // Add timeout to prevent hanging requests\r\n timeout: 8000, // 8 seconds\r\n // Validate response status\r\n validateStatus: (status) => status >= 200 && status < 500\r\n });\r\n\r\n if (response.data.success && response.data.data && response.data.data.candles) {\r\n const candleCount = response.data.data.candles.length;\r\n if (candleCount > 0) {\r\n console.log(`✅ [CandleStorage] Retrieved ${candleCount} candles for ${mint}`);\r\n } else {\r\n console.log(`ℹ️ [CandleStorage] No candles found for ${mint} in database`);\r\n }\r\n return response.data.data.candles;\r\n }\r\n\r\n // Handle warning from backend\r\n if (response.data.warning) {\r\n console.warn(`⚠️ [CandleStorage] ${response.data.warning}`);\r\n }\r\n\r\n return [];\r\n } catch (error: any) {\r\n // Log more detailed error information\r\n if (error.code === 'ECONNABORTED') {\r\n console.error('❌ [CandleStorage] Request timeout getting candles for', request.mint);\r\n } else if (error.response) {\r\n console.error('❌ [CandleStorage] Server error getting candles:', error.response.status, error.response.data);\r\n } else if (error.request) {\r\n console.error('❌ [CandleStorage] Network error getting candles - no response received');\r\n } else {\r\n console.error('❌ [CandleStorage] Error getting candles:', error.message);\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Flush all pending queues before component unmount\r\n */\r\n async flushAll(): Promise<void> {\r\n const flushPromises: Promise<void>[] = [];\r\n\r\n for (const [queueKey, queue] of this.savingQueue.entries()) {\r\n clearTimeout(queue.timeout);\r\n const [mint, timeFrameStr] = queueKey.split('_');\r\n const timeFrame = parseInt(timeFrameStr);\r\n flushPromises.push(this.flushQueue(queueKey, mint, timeFrame));\r\n }\r\n\r\n await Promise.all(flushPromises);\r\n }\r\n}\r\n\r\n// Export singleton instance\r\nexport const candleStorageService = new CandleStorageService();\r\n\r\n","/**\r\n * CandleStorageAdapter - Handles loading/saving candles (wrapper around existing service)\r\n */\r\nimport { CandleData } from '../core/types';\r\nimport { candleStorageService } from '../services/candleStorage';\r\n\r\nexport class CandleStorageAdapter {\r\n /**\r\n * Loads candles from storage\r\n */\r\n async loadCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n limit?: number\r\n ): Promise<CandleData[]> {\r\n try {\r\n const effectiveLimit = limit ?? Number.MAX_SAFE_INTEGER;\r\n \r\n const candles = await candleStorageService.getCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n limit: effectiveLimit\r\n });\r\n\r\n // Remove duplicates and validate\r\n const uniqueCandles = candles.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n\r\n return uniqueCandles.sort((a, b) => a.time - b.time);\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error loading candles:`, error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Saves candles to storage (if needed in future)\r\n */\r\n async saveCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n candles: CandleData[]\r\n ): Promise<void> {\r\n try {\r\n await candleStorageService.saveCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n candles\r\n });\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error saving candles:`, error);\r\n }\r\n }\r\n}\r\n\r\n","/**\r\n * RealTimeUpdateHandler - Handles real-time price updates and WebSocket events\r\n */\r\nimport { TimeframeManager } from '../core/TimeframeManager';\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class RealTimeUpdateHandler {\r\n private timeframeManager: TimeframeManager;\r\n private debounceMs: number = 50;\r\n private lastUpdate: number = 0;\r\n\r\n constructor(timeframeManager: TimeframeManager) {\r\n this.timeframeManager = timeframeManager;\r\n }\r\n\r\n /**\r\n * Handles price update from real-time data\r\n */\r\n handlePriceUpdate(price: number, timestamp: number, tradeSize: number = 0): void { // CHANGED\r\n // Debounce check\r\n if (!this.debounce(timestamp)) {\r\n return;\r\n }\r\n\r\n // Update all timeframes\r\n this.timeframeManager.updateAll(price, timestamp, tradeSize); // CHANGED\r\n }\r\n\r\n /**\r\n * Handles WebSocket update with pre-calculated candles\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }, mint: string): void {\r\n if (data.mint !== mint) return;\r\n\r\n if (data.candles) {\r\n // Update each timeframe from backend data\r\n Object.entries(data.candles).forEach(([timeframeKey, backendCandle]) => {\r\n const timeframeSeconds = this.getTimeframeSeconds(timeframeKey);\r\n if (timeframeSeconds) {\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n \r\n // Only update if it's the current bucket\r\n if (backendCandle.time === currentBucket) {\r\n const candleData: CandleData = { // CHANGED\r\n time: backendCandle.time, // CHANGED\r\n open: backendCandle.open, // CHANGED\r\n high: backendCandle.high || backendCandle.open, // CHANGED\r\n low: backendCandle.low || backendCandle.open, // CHANGED\r\n close: backendCandle.close, // CHANGED\r\n volume: backendCandle.volume || 0, // CHANGED\r\n tradeCount: backendCandle.tradeCount, // ADDED\r\n isSingleTrade: backendCandle.isSingleTrade, // ADDED\r\n isWeakSignal: backendCandle.isWeakSignal // ADDED\r\n }; // CHANGED\r\n\r\n this.timeframeManager.updateFromExternal(timeframeSeconds, candleData, currentBucket);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Debounce check\r\n */\r\n private debounce(timestamp: number): boolean {\r\n const now = Date.now();\r\n if (this.lastUpdate && (now - this.lastUpdate) < this.debounceMs) {\r\n return false;\r\n }\r\n this.lastUpdate = now;\r\n return true;\r\n }\r\n\r\n /**\r\n * Converts timeframe key to seconds\r\n */\r\n private getTimeframeSeconds(key: string): number | null {\r\n const map: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n return map[key] || null;\r\n }\r\n}\r\n\r\n","/**\r\n * FunhiChartController - Main orchestrator that coordinates all components\r\n */\r\nimport { ChartRenderer, ChartOptions } from './ChartRenderer';\r\nimport { TimeframeManager } from './TimeframeManager';\r\nimport { CandleStorageAdapter } from '../adapters/CandleStorageAdapter';\r\nimport { RealTimeUpdateHandler } from '../handlers/RealTimeUpdateHandler';\r\nimport { CandleData, TimeFrame } from './types'; \r\nimport { candleAggregation } from '../utils/candleAggregation'; \r\n\r\nexport interface ControllerConfig {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n timeframes: TimeFrame[];\r\n container: HTMLDivElement;\r\n formatPrice: (value: number) => string;\r\n}\r\n\r\nexport class FunhiChartController {\r\n private chartRenderer: ChartRenderer;\r\n private timeframeManager: TimeframeManager;\r\n private storageAdapter: CandleStorageAdapter;\r\n private updateHandler: RealTimeUpdateHandler;\r\n private currentTimeframe: TimeFrame;\r\n private config: ControllerConfig;\r\n private gapCheckInterval: ReturnType<typeof setInterval> | null = null;\r\n private readonly GAP_CHECK_INTERVAL_MS = 30000; // Check for gaps every 30 seconds\r\n\r\n constructor(config: ControllerConfig) {\r\n this.config = config;\r\n this.currentTimeframe = config.timeframes[0];\r\n\r\n // Initialize components\r\n this.timeframeManager = new TimeframeManager(config.timeframes);\r\n this.storageAdapter = new CandleStorageAdapter();\r\n this.updateHandler = new RealTimeUpdateHandler(this.timeframeManager);\r\n\r\n // Initialize chart renderer\r\n const chartOptions: ChartOptions = {\r\n mint: config.mint,\r\n ticker: config.ticker,\r\n formatPrice: config.formatPrice\r\n };\r\n this.chartRenderer = new ChartRenderer(config.container, chartOptions);\r\n }\r\n\r\n /**\r\n * Initializes the chart and loads initial data\r\n */\r\n async initialize(): Promise<void> {\r\n // Initialize chart\r\n this.chartRenderer.initialize();\r\n\r\n // Load candles for all timeframes to ensure complete data\r\n console.log(`🔄 [FunhiChartController] Loading candles for all timeframes...`);\r\n for (const timeframe of this.config.timeframes) {\r\n await this.loadTimeframeData(timeframe.seconds);\r\n }\r\n\r\n // Update chart with loaded data for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n * Safeguard: Only loads if we don't have candles, or merges with existing ones\r\n */\r\n async loadTimeframeData(timeframeSeconds: number): Promise<void> {\r\n const existingCandles = this.timeframeManager.getCandles(timeframeSeconds);\r\n const existingCount = existingCandles.length;\r\n \r\n const candles = await this.storageAdapter.loadCandles( // CHANGED\r\n this.config.mint,\r\n timeframeSeconds\r\n );\r\n\r\n if (candles.length > 0) {\r\n this.timeframeManager.loadCandles(timeframeSeconds, candles); // CHANGED\r\n \r\n const newCount = this.timeframeManager.getCandles(timeframeSeconds).length; // CHANGED\r\n if (existingCount > 0 && newCount < existingCount) {\r\n console.warn(\r\n `⚠️ [FunhiChartController] Candle count decreased after load: ${existingCount} -> ${newCount}. ` +\r\n `This might indicate data loss. Database returned ${candles.length} candles.`\r\n );\r\n } else if (newCount > existingCount) {\r\n console.log(\r\n `✅ [FunhiChartController] Loaded ${candles.length} candles from database. ` +\r\n `Total candles: ${existingCount} -> ${newCount} (merged)`\r\n );\r\n }\r\n } else if (existingCount === 0) {\r\n console.warn(\r\n `⚠️ [FunhiChartController] No candles loaded from database for timeframe ${timeframeSeconds}s`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Updates price for all timeframes\r\n */\r\n updatePrice(price: number, tradeSize: number = 0): void { // CHANGED\r\n const timestamp = Date.now(); // CHANGED\r\n this.updateHandler.handlePriceUpdate(price, timestamp, tradeSize); // CHANGED\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Handles WebSocket update\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }): void {\r\n this.updateHandler.handleSocketUpdate(data, this.config.mint);\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Switches to a different timeframe\r\n */\r\n async switchTimeframe(seconds: number): Promise<void> {\r\n const timeframe = this.config.timeframes.find(tf => tf.seconds === seconds);\r\n if (!timeframe) {\r\n console.warn(`⚠️ [FunhiChartController] Timeframe ${seconds}s not found`);\r\n return;\r\n }\r\n\r\n // Always load data to ensure we have all candles (not just when empty)\r\n // This ensures gaps are filled when switching timeframes\r\n console.log(`🔄 [FunhiChartController] Loading candles for timeframe ${seconds}s`);\r\n await this.loadTimeframeData(seconds);\r\n\r\n // Check for gaps and fill them\r\n await this.checkAndFillGapsForTimeframe(seconds);\r\n\r\n // Update current timeframe\r\n this.currentTimeframe = timeframe;\r\n\r\n // Update chart\r\n const updatedCandles = this.getCurrentCandles();\r\n if (updatedCandles.length > 0) {\r\n this.chartRenderer.updateData(updatedCandles);\r\n console.log(\r\n `📊 [FunhiChartController] Updated chart with ${updatedCandles.length} candles for ${timeframe.label}`\r\n );\r\n } else {\r\n console.warn(\r\n `⚠️ [FunhiChartController] No candles available to display for timeframe ${timeframe.label}`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Gets candles for current timeframe\r\n */\r\n getCurrentCandles(): CandleData[] {\r\n return this.timeframeManager.getCandles(this.currentTimeframe.seconds);\r\n }\r\n\r\n /**\r\n * Gets current timeframe\r\n */\r\n getCurrentTimeframe(): TimeFrame {\r\n return this.currentTimeframe;\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n return this.timeframeManager.getCurrentCandle(seconds);\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n this.chartRenderer.resize();\r\n }\r\n\r\n /**\r\n * Checks for gaps in candles and loads missing ones from database for current timeframe\r\n */\r\n private async checkAndFillGaps(): Promise<void> {\r\n await this.checkAndFillGapsForTimeframe(this.currentTimeframe.seconds);\r\n }\r\n\r\n /**\r\n * Checks for gaps in candles and loads missing ones from database for a specific timeframe\r\n */\r\n private async checkAndFillGapsForTimeframe(timeframeSeconds: number): Promise<void> {\r\n return; // CHANGED\r\n }\r\n\r\n /**\r\n * Checks for gaps in all timeframes and loads missing candles\r\n */\r\n private async checkAndFillGapsForAllTimeframes(): Promise<void> {\r\n // Check gaps for all timeframes, not just the current one\r\n for (const timeframe of this.config.timeframes) {\r\n await this.checkAndFillGapsForTimeframe(timeframe.seconds);\r\n }\r\n }\r\n\r\n /**\r\n * Starts periodic gap checking\r\n */\r\n private startGapChecking(): void {\r\n // Clear any existing interval\r\n if (this.gapCheckInterval) {\r\n clearInterval(this.gapCheckInterval);\r\n }\r\n\r\n // Check for gaps periodically for all timeframes\r\n this.gapCheckInterval = setInterval(() => {\r\n this.checkAndFillGapsForAllTimeframes();\r\n }, this.GAP_CHECK_INTERVAL_MS);\r\n }\r\n\r\n /**\r\n * Stops periodic gap checking\r\n */\r\n private stopGapChecking(): void {\r\n if (this.gapCheckInterval) {\r\n clearInterval(this.gapCheckInterval);\r\n this.gapCheckInterval = null;\r\n }\r\n }\r\n\r\n /**\r\n * Destroys the controller and cleans up resources\r\n */\r\n destroy(): void {\r\n this.stopGapChecking();\r\n this.chartRenderer.destroy();\r\n this.timeframeManager.reset();\r\n }\r\n}\r\n\r\n","import { useCallback, useState, useEffect } from 'react';\r\nimport { Socket } from 'socket.io-client';\r\n\r\ninterface OHLCVCandle {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface OHLCVInitialData {\r\n mint: string;\r\n timeFrame: number;\r\n data: OHLCVCandle[];\r\n timestamp: number;\r\n error?: string;\r\n}\r\n\r\ninterface OHLCVUpdateData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\ninterface OHLCVNewCandleData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Hook to manage socket connection\r\n * This is a simplified version for the NPM package\r\n * Users should provide their own socket instance via props\r\n */\r\nexport const useSocket = (socketInstance?: Socket | null) => {\r\n const [socket] = useState<Socket | null>(socketInstance || null);\r\n const [isConnected, setIsConnected] = useState(false);\r\n const [isConnecting, setIsConnecting] = useState(false);\r\n\r\n // Track connection state\r\n useEffect(() => {\r\n if (!socket) {\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n return;\r\n }\r\n\r\n setIsConnecting(true);\r\n\r\n const handleConnect = () => {\r\n console.log('✅ [useSocket] Connected to Socket.IO server');\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleDisconnect = () => {\r\n console.log('🔌 [useSocket] Disconnected from Socket.IO server');\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleConnectError = (error: any) => {\r\n console.error('❌ [useSocket] Connection error:', error);\r\n setIsConnecting(false);\r\n };\r\n\r\n // Set initial state\r\n if (socket.connected) {\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n }\r\n\r\n // Add event listeners\r\n socket.on('connect', handleConnect);\r\n socket.on('disconnect', handleDisconnect);\r\n socket.on('connect_error', handleConnectError);\r\n\r\n return () => {\r\n socket.off('connect', handleConnect);\r\n socket.off('disconnect', handleDisconnect);\r\n socket.off('connect_error', handleConnectError);\r\n };\r\n }, [socket]);\r\n\r\n // Connect function (no-op since connection is managed by provider)\r\n const connect = useCallback(() => {\r\n console.log('🔍 [useSocket] Connect called - connection managed by provider');\r\n }, []);\r\n\r\n // Disconnect function (no-op since connection is managed by provider)\r\n const disconnect = useCallback(() => {\r\n console.log('🔍 [useSocket] Disconnect called - connection managed by provider');\r\n }, []);\r\n\r\n // Subscribe to OHLCV updates\r\n const subscribeToOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to OHLCV updates\r\n socket.emit('ohlcv:subscribe', { mint, timeFrame });\r\n\r\n // Listen for initial data\r\n if (onInitialData) {\r\n socket.on('ohlcv:initial', onInitialData);\r\n }\r\n\r\n // Listen for updates\r\n if (onUpdate) {\r\n socket.on('ohlcv:update', onUpdate);\r\n }\r\n\r\n // Listen for new candles\r\n if (onNewCandle) {\r\n socket.on('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Subscribed to OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from OHLCV updates\r\n const unsubscribeFromOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from OHLCV updates\r\n socket.emit('ohlcv:unsubscribe', { mint, timeFrame });\r\n\r\n // Remove listeners\r\n if (onInitialData) {\r\n socket.off('ohlcv:initial', onInitialData);\r\n }\r\n if (onUpdate) {\r\n socket.off('ohlcv:update', onUpdate);\r\n }\r\n if (onNewCandle) {\r\n socket.off('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Unsubscribed from OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Subscribe to price updates\r\n const subscribeToPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to price updates\r\n socket.emit('price:subscribe', { mint });\r\n\r\n // Listen for price updates\r\n if (onPriceUpdate) {\r\n socket.on('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Subscribed to price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from price updates\r\n const unsubscribeFromPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from price updates\r\n socket.emit('price:unsubscribe', { mint });\r\n\r\n // Remove listener\r\n if (onPriceUpdate) {\r\n socket.off('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Unsubscribed from price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Test socket connection\r\n const testConnection = useCallback((message: string) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot send test message');\r\n return false;\r\n }\r\n\r\n try {\r\n socket.emit('test-message', {\r\n message,\r\n timestamp: Date.now()\r\n });\r\n\r\n // Listen for test response\r\n socket.once('test-response', (response) => {\r\n console.log('🧪 [useSocket] Test response received:', response);\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to send test message:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n return {\r\n socket,\r\n isConnected,\r\n isConnecting,\r\n connect,\r\n disconnect,\r\n subscribeToOHLCV,\r\n unsubscribeFromOHLCV,\r\n subscribeToPrice,\r\n unsubscribeFromPrice,\r\n testConnection,\r\n };\r\n};\r\n\r\n","import { useState, useEffect, useCallback, useMemo } from 'react';\r\n\r\ninterface ComprehensiveAnalytics {\r\n // Performance metrics\r\n performance: {\r\n '24H': { gain: number; percentage: string; isPositive: boolean };\r\n '7D': { gain: number; percentage: string; isPositive: boolean };\r\n '1M': { gain: number; percentage: string; isPositive: boolean };\r\n 'All Time': { gain: number; percentage: string; isPositive: boolean };\r\n };\r\n \r\n // Market data\r\n market: {\r\n marketValue: string;\r\n price: string;\r\n marketCap: string;\r\n circulating: string;\r\n totalSupply: string;\r\n };\r\n \r\n // 24H statistics\r\n '24H': {\r\n high: string;\r\n low: string;\r\n volume: string;\r\n return: string;\r\n };\r\n \r\n // Volume data\r\n volume: {\r\n current: string;\r\n '24h': string;\r\n unit: string;\r\n };\r\n \r\n // Blockchain data\r\n blockchain: {\r\n currentRealSol: string;\r\n realSolReserves: number;\r\n virtualSolReserves: number;\r\n tokenReserves: number;\r\n };\r\n \r\n // Additional data\r\n additional: {\r\n solUsdPrice: string;\r\n timestamp: number;\r\n };\r\n}\r\n\r\ninterface EnhancedTokenAnalytics {\r\n // Real-time analytics from backend\r\n analytics: ComprehensiveAnalytics | null;\r\n \r\n // Current market data\r\n currentPrice: number;\r\n currentMarketCap: number;\r\n currentVolume: number;\r\n \r\n // Performance metrics (formatted for display)\r\n performance24h: { value: string; isPositive: boolean; raw: number };\r\n performance7d: { value: string; isPositive: boolean; raw: number };\r\n performance1m: { value: string; isPositive: boolean; raw: number };\r\n performanceAllTime: { value: string; isPositive: boolean; raw: number };\r\n \r\n // 24H statistics\r\n high24h: number;\r\n low24h: number;\r\n volume24h: number;\r\n return24h: number;\r\n \r\n // Loading and error states\r\n loading: boolean;\r\n error: string | null;\r\n \r\n // Connection status\r\n connected: boolean;\r\n \r\n // Last update timestamp\r\n lastUpdate: number | null;\r\n \r\n // Helper functions\r\n isRealVolume: (volume: number) => boolean;\r\n}\r\n\r\n/**\r\n * Simplified hook for token analytics\r\n * This is a stub version for the NPM package\r\n * Users should provide their own analytics data or implement their own hook\r\n */\r\nexport function useOptimizedTokenAnalytics(\r\n mint: string | undefined,\r\n analyticsData?: any\r\n): EnhancedTokenAnalytics {\r\n const [analytics, setAnalytics] = useState<ComprehensiveAnalytics | null>(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [lastUpdate, setLastUpdate] = useState<number | null>(null);\r\n const [connected, setConnected] = useState(false);\r\n\r\n // Update analytics when provided\r\n useEffect(() => {\r\n if (analyticsData) {\r\n setAnalytics(analyticsData);\r\n setLastUpdate(Date.now());\r\n setConnected(true);\r\n setLoading(false);\r\n }\r\n }, [analyticsData]);\r\n\r\n // Calculate derived values from analytics data\r\n const derivedValues = useMemo(() => {\r\n if (!analytics || !analytics.market) {\r\n return {\r\n currentPrice: 0,\r\n currentMarketCap: 0,\r\n currentVolume: 0,\r\n performance24h: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance7d: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance1m: { value: '0.00%', isPositive: false, raw: 0 },\r\n performanceAllTime: { value: '0.00%', isPositive: false, raw: 0 },\r\n high24h: 0,\r\n low24h: 0,\r\n volume24h: 0,\r\n return24h: 0\r\n };\r\n }\r\n\r\n // Extract current values with safe access\r\n const currentPrice = parseFloat(analytics.market?.price || '0') || 0;\r\n const currentMarketCap = parseFloat(analytics.market?.marketCap || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let currentVolume = parseFloat(analytics.volume?.current || '0') || 0;\r\n if (currentVolume <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n currentVolume = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n\r\n // Extract performance metrics with safe access\r\n const performance24h = {\r\n value: analytics.performance?.['24H']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['24H']?.isPositive || false,\r\n raw: analytics.performance?.['24H']?.gain || 0\r\n };\r\n\r\n const performance7d = {\r\n value: analytics.performance?.['7D']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['7D']?.isPositive || false,\r\n raw: analytics.performance?.['7D']?.gain || 0\r\n };\r\n\r\n const performance1m = {\r\n value: analytics.performance?.['1M']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['1M']?.isPositive || false,\r\n raw: analytics.performance?.['1M']?.gain || 0\r\n };\r\n\r\n const performanceAllTime = {\r\n value: analytics.performance?.['All Time']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['All Time']?.isPositive || false,\r\n raw: analytics.performance?.['All Time']?.gain || 0\r\n };\r\n\r\n // Extract 24H statistics with safe access\r\n const high24h = parseFloat(analytics['24H']?.high || '0') || 0;\r\n const low24h = parseFloat(analytics['24H']?.low || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let volume24h = parseFloat(analytics.volume?.['24h'] || '0') || 0;\r\n if (volume24h <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n volume24h = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n \r\n const return24h = parseFloat(analytics['24H']?.return || '0') || 0;\r\n\r\n return {\r\n currentPrice,\r\n currentMarketCap,\r\n currentVolume,\r\n performance24h,\r\n performance7d,\r\n performance1m,\r\n performanceAllTime,\r\n high24h,\r\n low24h,\r\n volume24h,\r\n return24h\r\n };\r\n }, [analytics]);\r\n\r\n // Helper function to check if volume is real (not fake 0.01)\r\n const isRealVolume = useCallback((volume: number) => volume > 0.01, []);\r\n\r\n const result = {\r\n // Raw analytics data from backend\r\n analytics,\r\n \r\n // Derived values for easy consumption\r\n ...derivedValues,\r\n \r\n // Helper functions\r\n isRealVolume,\r\n \r\n // State management\r\n loading,\r\n error,\r\n connected,\r\n lastUpdate\r\n };\r\n \r\n return result;\r\n}\r\n\r\n","\"use client\";\r\n\r\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { FunhiChartController, ControllerConfig, TimeFrame } from '../core';\r\nimport { useSocket } from '../hooks/useSocket';\r\nimport { useOptimizedTokenAnalytics } from '../hooks/useOptimizedTokenAnalytics';\r\n\r\n// Chart Props Interface\r\nexport interface ChartProps {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n socket?: any;\r\n isConnected?: boolean;\r\n currentPrice?: number;\r\n currentVolume?: number; // ADDED: real trade size (USDC volume)\r\n analyticsConnected?: boolean;\r\n analyticsLoading?: boolean;\r\n}\r\n\r\n/**\r\n * FunhiChart - OOP-based implementation using FunhiChartController\r\n * This version eliminates code duplication and uses clean OOP architecture\r\n */\r\nconst FunhiChart: React.FC<ChartProps> = ({\r\n mint,\r\n ticker,\r\n tokenName,\r\n socket: externalSocket,\r\n isConnected: externalIsConnected,\r\n currentPrice: externalPrice,\r\n currentVolume: externalVolume, // ADDED\r\n analyticsConnected: externalAnalyticsConnected,\r\n analyticsLoading: externalAnalyticsLoading\r\n}) => {\r\n // Refs\r\n const chartContainerRef = useRef<HTMLDivElement>(null);\r\n const controllerRef = useRef<FunhiChartController | null>(null);\r\n\r\n // State\r\n const [loading, setLoading] = useState<boolean>(true);\r\n const [timeframeLoading, setTimeframeLoading] = useState<boolean>(false);\r\n const [loadingTimeframe, setLoadingTimeframe] = useState<string | null>(null);\r\n const [error, setError] = useState<string | null>(null);\r\n const [currentTimeframe, setCurrentTimeframe] = useState<TimeFrame | null>(null);\r\n\r\n // Socket\r\n const internalSocketData = useSocket();\r\n const socket = externalSocket || internalSocketData.socket;\r\n const isConnected = externalIsConnected !== undefined ? externalIsConnected : internalSocketData.isConnected;\r\n\r\n // Analytics\r\n const internalAnalytics = useOptimizedTokenAnalytics(mint);\r\n const realTimePrice = externalPrice !== undefined ? externalPrice : internalAnalytics.currentPrice;\r\n const analyticsConnected = externalAnalyticsConnected !== undefined ? externalAnalyticsConnected : internalAnalytics.connected; // CHANGED\r\n const analyticsLoading = externalAnalyticsLoading !== undefined ? externalAnalyticsLoading : internalAnalytics.loading; // CHANGED\r\n const realTimeVolume = externalVolume !== undefined ? externalVolume : internalAnalytics.currentVolume; // ADDED\r\n\r\n // Timeframes\r\n const timeFrames: TimeFrame[] = useMemo(() => [\r\n { label: '1m', value: '1m', seconds: 60 },\r\n { label: '5m', value: '5m', seconds: 300 },\r\n { label: '15m', value: '15m', seconds: 900 },\r\n { label: '1h', value: '1h', seconds: 3600 },\r\n { label: '4h', value: '4h', seconds: 14400 },\r\n { label: '1d', value: '1d', seconds: 86400 }\r\n ], []);\r\n\r\n // Format token price (handles very small prices like $0.00007)\r\n const formatTokenPrice = useCallback((value: number): string => {\r\n if (value >= 1_000) {\r\n // Large prices: show with K notation\r\n return `$${(value / 1_000).toFixed(2)}K`;\r\n } else if (value >= 1) {\r\n // Prices >= $1: show 2-4 decimal places\r\n return `$${value.toFixed(value >= 10 ? 2 : 4)}`;\r\n } else if (value >= 0.01) {\r\n // Prices $0.01 - $1: show 4-6 decimal places\r\n return `$${value.toFixed(value >= 0.1 ? 4 : 6)}`;\r\n } else if (value >= 0.0001) {\r\n // Prices $0.0001 - $0.01: show 6-8 decimal places\r\n return `$${value.toFixed(value >= 0.001 ? 6 : 8)}`;\r\n } else {\r\n // Very small prices: show up to 10 decimal places\r\n return `$${value.toFixed(10)}`;\r\n }\r\n }, []);\r\n\r\n // Initialize controller\r\n useEffect(() => {\r\n if (!chartContainerRef.current || !mint) return;\r\n\r\n try {\r\n const config: ControllerConfig = {\r\n mint,\r\n ticker,\r\n tokenName,\r\n timeframes: timeFrames,\r\n container: chartContainerRef.current,\r\n formatPrice: formatTokenPrice\r\n };\r\n\r\n const controller = new FunhiChartController(config);\r\n controllerRef.current = controller;\r\n\r\n // Initialize and load data\r\n controller.initialize().then(() => {\r\n setCurrentTimeframe(controller.getCurrentTimeframe());\r\n setLoading(false);\r\n }).catch((err) => {\r\n console.error('❌ [FunhiChart] Initialization error:', err);\r\n setError(err.message || 'Failed to initialize chart');\r\n setLoading(false);\r\n });\r\n\r\n // Cleanup\r\n return () => {\r\n controller.destroy();\r\n controllerRef.current = null;\r\n };\r\n } catch (err: any) {\r\n console.error('❌ [FunhiChart] Controller creation error:', err);\r\n setError(err.message || 'Failed to create chart controller');\r\n setLoading(false);\r\n }\r\n }, [mint, ticker, tokenName, timeFrames, formatTokenPrice]);\r\n\r\n // Track previous price to detect changes\r\n const previousPriceRef = useRef<number>(0);\r\n\r\n // Handle real-time price updates - only update when price actually changes\r\n useEffect(() => {\r\n if (!controllerRef.current || realTimePrice <= 0) return;\r\n\r\n if (!isFinite(realTimePrice) || realTimePrice <= 0) {\r\n console.warn(`⚠️ [FunhiChart] Invalid price data: ${realTimePrice}`);\r\n return;\r\n }\r\n\r\n // CRITICAL: Only update if price has actually changed\r\n const priceChanged = Math.abs(previousPriceRef.current - realTimePrice) > 0.00000001; // Small threshold for floating point comparison // CHANGED\r\n const tradeSize = Number(realTimeVolume || 0); // ADDED\r\n \r\n if (!priceChanged && previousPriceRef.current > 0 && tradeSize <= 0) { // CHANGED\r\n console.log(`⏭️ [FunhiChart] Price unchanged and no trade volume, skipping chart update`); // CHANGED\r\n return; // Don't update chart if price hasn't changed and no trade occurred // CHANGED\r\n } // CHANGED\r\n\r\n // Update previous price\r\n previousPriceRef.current = realTimePrice;\r\n\r\n controllerRef.current.updatePrice(realTimePrice, tradeSize); // CHANGED: trade size drives candle creation\r\n }, [realTimePrice, realTimeVolume]); // CHANGED\r\n\r\n // Handle WebSocket updates\r\n useEffect(() => {\r\n if (!socket || !isConnected || !mint || !controllerRef.current) return;\r\n\r\n const handleMultiTimeframeCandles = (data: any) => {\r\n if (data.mint !== mint) return;\r\n controllerRef.current?.handleSocketUpdate(data);\r\n };\r\n\r\n socket.on('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n\r\n return () => {\r\n socket.off('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n };\r\n }, [socket, isConnected, mint]);\r\n\r\n // Handle timeframe switching\r\n const handleTimeFrameChange = useCallback(async (timeFrameValue: string) => {\r\n if (!controllerRef.current) return;\r\n\r\n const newTimeFrame = timeFrames.find(tf => tf.value === timeFrameValue);\r\n if (!newTimeFrame || newTimeFrame.value === currentTimeframe?.value) return;\r\n\r\n // Prevent multiple simultaneous switches\r\n if (timeframeLoading) {\r\n console.log(`⚠️ [FunhiChart] Timeframe switch already in progress`);\r\n return;\r\n }\r\n\r\n console.log(`🔄 [FunhiChart] Switching to ${newTimeFrame.label}`);\r\n setTimeframeLoading(true);\r\n setLoadingTimeframe(newTimeFrame.label);\r\n setLoading(true);\r\n\r\n try {\r\n await controllerRef.current.switchTimeframe(newTimeFrame.seconds);\r\n setCurrentTimeframe(newTimeFrame);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n console.log(`✅ [FunhiChart] Switched to ${newTimeFrame.label}`);\r\n } catch (error) {\r\n console.error(`❌ [FunhiChart] Switch error:`, error);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n }\r\n }, [timeFrames, currentTimeframe, timeframeLoading]);\r\n\r\n // Handle resize\r\n useEffect(() => {\r\n const handleResize = () => {\r\n controllerRef.current?.resize();\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n // Loading timeout\r\n useEffect(() => {\r\n if ((loading || analyticsLoading) && controllerRef.current) {\r\n const candles = controllerRef.current.getCurrentCandles();\r\n if (candles.length === 0) {\r\n const timeout = setTimeout(() => setLoading(false), 10000);\r\n return () => clearTimeout(timeout);\r\n }\r\n }\r\n }, [loading, analyticsLoading]);\r\n\r\n if (error) {\r\n return (\r\n <div className=\"p-4 bg-red-50 border border-red-200 rounded-lg\">\r\n <div className=\"text-red-800 font-medium\">Chart Error</div>\r\n <div className=\"text-red-600 text-sm\">{error}</div>\r\n <button\r\n onClick={() => setError(null)}\r\n className=\"mt-2 px-3 py-1 bg-red-100 text-red-700 rounded text-sm hover:bg-red-200\"\r\n >\r\n Dismiss\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n const currentCandles = controllerRef.current?.getCurrentCandles() || [];\r\n const currentPrice = realTimePrice || 0;\r\n\r\n return (\r\n <div className=\"w-full\">\r\n {/* Timeframe Selector */}\r\n <div className=\"mb-4 flex flex-wrap gap-2 items-center\">\r\n <div className=\"flex flex-wrap gap-2\">\r\n {timeFrames.map((tf) => {\r\n const isCurrentTimeframe = currentTimeframe?.value === tf.value;\r\n const isCurrentlyLoading = timeframeLoading && loadingTimeframe === tf.label;\r\n const isDisabled = timeframeLoading;\r\n\r\n return (\r\n <button\r\n key={tf.value}\r\n onClick={() => handleTimeFrameChange(tf.value)}\r\n disabled={isDisabled}\r\n className={`\r\n px-3 py-2 rounded-lg text-sm font-medium transition-all duration-200 relative\r\n ${isCurrentTimeframe\r\n ? 'bg-blue-600 text-white'\r\n : isDisabled\r\n ? 'bg-gray-100 text-gray-400 cursor-not-allowed'\r\n : 'bg-gray-100 text-gray-700 hover:bg-gray-200'\r\n }\r\n ${isCurrentlyLoading ? 'animate-pulse' : ''}\r\n `}\r\n >\r\n {isCurrentlyLoading && (\r\n <div className=\"absolute inset-0 flex items-center justify-center\">\r\n <div className=\"flex space-x-1\">\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\"></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n )}\r\n <span className={isCurrentlyLoading ? 'opacity-0' : 'opacity-100'}>\r\n {tf.label}\r\n </span>\r\n </button>\r\n );\r\n })}\r\n </div>\r\n\r\n {/* Status */}\r\n <div className=\"ml-auto flex items-center gap-2 text-sm\">\r\n <div className={`w-2 h-2 rounded-full ${analyticsConnected ? 'bg-green-500' : 'bg-red-500'}`}></div>\r\n <span className={analyticsConnected ? 'text-green-600' : 'text-red-600'}>\r\n {analyticsConnected ? 'Connected' : 'Disconnected'}\r\n </span>\r\n {timeframeLoading && loadingTimeframe && (\r\n <span className=\"text-blue-600\">• Switching to {loadingTimeframe}...</span>\r\n )}\r\n {!timeframeLoading && loading && !analyticsLoading && (\r\n <span className=\"text-blue-600\">• Loading candles...</span>\r\n )}\r\n {analyticsLoading && (\r\n <span className=\"text-blue-600\">• Connecting to analytics...</span>\r\n )}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length > 0 && (\r\n <span className=\"text-green-600\">\r\n • {currentCandles.length} {currentTimeframe?.label} candles • {formatTokenPrice(currentPrice)}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Chart Container */}\r\n <div\r\n ref={chartContainerRef}\r\n className={`relative w-full h-96 transition-all duration-300 ${\r\n timeframeLoading\r\n ? 'opacity-75 scale-[0.98]'\r\n : 'opacity-100 scale-100'\r\n }`}\r\n >\r\n {/* Loading Overlay */}\r\n {(timeframeLoading || (loading && !analyticsLoading)) && (\r\n <div className=\"absolute inset-0 bg-gradient-to-br from-white via-blue-50 to-white bg-opacity-90 flex items-center justify-center rounded-lg z-10 backdrop-blur-sm\">\r\n <div className=\"text-center\">\r\n <div className=\"flex justify-center items-center mb-4\">\r\n <div className=\"relative\">\r\n <div className=\"w-12 h-12 border-4 border-blue-200 rounded-full\"></div>\r\n <div className=\"absolute top-0 left-0 w-12 h-12 border-4 border-blue-600 rounded-full border-t-transparent animate-spin\"></div>\r\n </div>\r\n </div>\r\n <div className=\"text-gray-700 font-medium text-lg\">\r\n {timeframeLoading && loadingTimeframe\r\n ? `Switching to ${loadingTimeframe} timeframe...`\r\n : 'Loading real-time data...'\r\n }\r\n </div>\r\n <div className=\"mt-3 flex justify-center space-x-1\">\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\"></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* No Data State */}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length === 0 && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"text-gray-600 mb-2\">No {currentTimeframe?.label} market data available</div>\r\n <div className=\"text-sm text-gray-500\">Waiting for real-time data...</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FunhiChart;\r\n\r\n","/**\r\n * Candle Aggregation Utility\r\n * \r\n * Client-side aggregation of 1-minute candles into larger timeframes\r\n * This provides real-time aggregation without waiting for server responses\r\n */\r\n\r\nexport interface CandleData {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nclass CandleAggregation {\r\n private timeframes: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '30m': 1800,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n\r\n /**\r\n * Aggregate 1-minute candles into a larger timeframe\r\n */\r\n aggregateCandles(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData[] {\r\n try {\r\n // If requesting 1-minute data, return as-is\r\n if (targetTimeframe === 60) {\r\n return oneMinuteCandles;\r\n }\r\n\r\n // Validate input\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n console.warn('⚠️ [CandleAggregation] No candles to aggregate');\r\n return [];\r\n }\r\n\r\n // Sort candles by time ascending\r\n const sortedCandles = [...oneMinuteCandles].sort((a, b) => a.time - b.time);\r\n\r\n // Group candles by target timeframe\r\n const aggregatedCandles: CandleData[] = [];\r\n let currentGroup: CandleData[] = [];\r\n let groupStartTime: number | null = null;\r\n\r\n for (const candle of sortedCandles) {\r\n // Calculate which timeframe bucket this candle belongs to\r\n const bucketTime = Math.floor(candle.time / targetTimeframe) * targetTimeframe;\r\n\r\n if (groupStartTime === null) {\r\n groupStartTime = bucketTime;\r\n }\r\n\r\n if (bucketTime === groupStartTime) {\r\n // Add to current group\r\n currentGroup.push(candle);\r\n } else {\r\n // Process current group and start new one\r\n if (currentGroup.length > 0) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n // Start new group\r\n currentGroup = [candle];\r\n groupStartTime = bucketTime;\r\n }\r\n }\r\n\r\n // Process last group\r\n if (currentGroup.length > 0 && groupStartTime !== null) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n console.log(`📊 [CandleAggregation] Aggregated ${oneMinuteCandles.length} 1m candles into ${aggregatedCandles.length} ${this.getTimeframeLabel(targetTimeframe)} candles`);\r\n\r\n return aggregatedCandles;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error aggregating candles:', error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Aggregate a group of candles into a single candle\r\n */\r\n private aggregateGroup(candles: CandleData[], time: number): CandleData {\r\n // Sort by time to ensure proper OHLC calculation\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n\r\n // Calculate OHLC\r\n const open = sorted[0].open;\r\n const close = sorted[sorted.length - 1].close;\r\n const high = Math.max(...sorted.map(c => c.high));\r\n const low = Math.min(...sorted.map(c => c.low));\r\n const volume = sorted.reduce((sum, c) => sum + (c.volume || 0), 0);\r\n\r\n return {\r\n time,\r\n open,\r\n high,\r\n low,\r\n close,\r\n volume\r\n };\r\n }\r\n\r\n /**\r\n * Get human-readable timeframe label\r\n */\r\n getTimeframeLabel(seconds: number): string {\r\n for (const [label, value] of Object.entries(this.timeframes)) {\r\n if (value === seconds) {\r\n return label;\r\n }\r\n }\r\n return `${seconds}s`;\r\n }\r\n\r\n /**\r\n * Get timeframe in seconds from label\r\n */\r\n getTimeframeSeconds(label: string): number {\r\n return this.timeframes[label] || 60;\r\n }\r\n\r\n /**\r\n * Fill gaps in candles with flat candles (same OHLC)\r\n * This ensures continuous chart rendering\r\n */\r\n fillGaps(candles: CandleData[], timeframe: number): CandleData[] {\r\n try {\r\n if (!Array.isArray(candles) || candles.length < 2) {\r\n return candles;\r\n }\r\n\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n const filled: CandleData[] = [];\r\n\r\n for (let i = 0; i < sorted.length - 1; i++) {\r\n const current = sorted[i];\r\n const next = sorted[i + 1];\r\n\r\n filled.push(current);\r\n\r\n // Check for gap\r\n const expectedNextTime = current.time + timeframe;\r\n let currentTime = expectedNextTime;\r\n\r\n while (currentTime < next.time) {\r\n // Fill gap with flat candle using last known price\r\n filled.push({\r\n time: currentTime,\r\n open: current.close,\r\n high: current.close,\r\n low: current.close,\r\n close: current.close,\r\n volume: 0\r\n });\r\n\r\n currentTime += timeframe;\r\n }\r\n }\r\n\r\n // Add last candle\r\n filled.push(sorted[sorted.length - 1]);\r\n\r\n if (filled.length > sorted.length) {\r\n console.log(`🔧 [CandleAggregation] Filled ${filled.length - sorted.length} gaps in ${this.getTimeframeLabel(timeframe)} candles`);\r\n }\r\n\r\n return filled;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error filling gaps:', error);\r\n return candles;\r\n }\r\n }\r\n\r\n /**\r\n * Get the current incomplete candle for a timeframe\r\n * This is used for real-time updates\r\n */\r\n getCurrentCandle(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData | null {\r\n try {\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n return null;\r\n }\r\n\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / targetTimeframe) * targetTimeframe;\r\n\r\n // Get all candles in the current bucket\r\n const currentGroup = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / targetTimeframe) * targetTimeframe;\r\n return bucket === currentBucket;\r\n });\r\n\r\n if (currentGroup.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.aggregateGroup(currentGroup, currentBucket);\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error getting current candle:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Update real-time candle with new 1-minute candle\r\n * Returns updated array of aggregated candles\r\n */\r\n updateRealtimeCandle(\r\n aggregatedCandles: CandleData[],\r\n newOneMinuteCandle: CandleData,\r\n targetTimeframe: number\r\n ): CandleData[] {\r\n try {\r\n if (!newOneMinuteCandle) {\r\n return aggregatedCandles;\r\n }\r\n\r\n // Calculate which bucket this 1m candle belongs to\r\n const bucketTime = Math.floor(newOneMinuteCandle.time / targetTimeframe) * targetTimeframe;\r\n\r\n // Find if we already have a candle for this bucket\r\n const existingIndex = aggregatedCandles.findIndex(c => c.time === bucketTime);\r\n\r\n if (existingIndex >= 0) {\r\n // Update existing candle\r\n const existing = aggregatedCandles[existingIndex];\r\n const updated: CandleData = {\r\n time: bucketTime,\r\n open: existing.open, // Keep original open\r\n high: Math.max(existing.high, newOneMinuteCandle.high),\r\n low: Math.min(existing.low, newOneMinuteCandle.low),\r\n close: newOneMinuteCandle.close, // Use latest close\r\n volume: existing.volume + (newOneMinuteCandle.volume || 0)\r\n };\r\n\r\n // Replace the candle\r\n const newCandles = [...aggregatedCandles];\r\n newCandles[existingIndex] = updated;\r\n return newCandles;\r\n } else {\r\n // Add new candle\r\n const newCandle: CandleData = {\r\n time: bucketTime,\r\n open: newOneMinuteCandle.open,\r\n high: newOneMinuteCandle.high,\r\n low: newOneMinuteCandle.low,\r\n close: newOneMinuteCandle.close,\r\n volume: newOneMinuteCandle.volume || 0\r\n };\r\n\r\n return [...aggregatedCandles, newCandle].sort((a, b) => a.time - b.time);\r\n }\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error updating realtime candle:', error);\r\n return aggregatedCandles;\r\n }\r\n }\r\n\r\n /**\r\n * Validate candle data structure\r\n */\r\n isValidCandle(candle: any): candle is CandleData {\r\n return (\r\n candle &&\r\n typeof candle.time === 'number' &&\r\n typeof candle.open === 'number' &&\r\n typeof candle.high === 'number' &&\r\n typeof candle.low === 'number' &&\r\n typeof candle.close === 'number' &&\r\n candle.high >= candle.low &&\r\n candle.high >= candle.open &&\r\n candle.high >= candle.close &&\r\n candle.low <= candle.open &&\r\n candle.low <= candle.close\r\n );\r\n }\r\n\r\n /**\r\n * Clean invalid candles from array\r\n */\r\n cleanCandles(candles: CandleData[]): CandleData[] {\r\n if (!Array.isArray(candles)) {\r\n return [];\r\n }\r\n\r\n const cleaned = candles.filter(c => this.isValidCandle(c));\r\n\r\n if (cleaned.length < candles.length) {\r\n console.warn(`⚠️ [CandleAggregation] Removed ${candles.length - cleaned.length} invalid candles`);\r\n }\r\n\r\n return cleaned;\r\n }\r\n\r\n /**\r\n * Get the minimum number of 1-minute candles needed for a timeframe\r\n */\r\n getRequiredOneMinuteCandles(targetTimeframe: number, targetCount: number = 200): number {\r\n const ratio = targetTimeframe / 60; // How many 1m candles per target candle\r\n return Math.ceil(targetCount * ratio);\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const candleAggregation = new CandleAggregation();\r\n\r\n"],"names":["CandleValidator","validate","candle","time","open","high","low","close","isFinite","Math","max","min","ensureMinimumBodySize","minBodySize","volume","computedMin","MIN_BODY_PERCENTAGE","minBody","MIN_BODY_ABSOLUTE","adjustedClose","validateOHLC","isCurrentBucket","timeframeSeconds","timestamp","currentTime","floor","currentBucket","validatePrice","price","calculateMinBodySize","CandleManager","constructor","this","candles","currentCandle","lastCandleTime","lastProcessedTimestamp","debounceMs","createOrUpdate","tradeSize","now","Date","console","warn","normalizedTradeSize","Number","bucketStart","calculateBucketStart","createNewCandle","updateCurrentCandle","isValidCandle","finalizedCandle","addCandleToHistory","gapSize","missingCandles","openPrice","getPreviousCandleClose","newCandle","buildNewCandle","adjustedNewCandle","finalNewCandle","log","toFixed","isNewCandle","wasUpdated","recreatedCandle","tradeCount","isSingleTrade","isWeakSignal","updateCandleInHistory","updatedCandle","updateCandlePrice","adjustedCandle","validatedCandle","currentPrice","closePrice","length","sortedCandles","sort","a","b","lastCandle","find","c","getPreviousCandleDirection","existingIndex","findIndex","push","getCandles","getCurrentCandle","getLastCandleTime","detectGaps","gaps","i","current","next","expectedNextTime","missingCount","startTime","endTime","loadCandles","existingCandlesMap","Map","forEach","set","validated","existingCandle","get","Array","from","values","updateFromExternal","finalCandle","reset","TimeframeManager","timeframes","managers","tf","seconds","getManager","updateAll","manager","getTimeframes","size","_a","width","height","Error","equalSizes","first","second","Observable","win","_this","_resolutionListener","_onResolutionChanged","_resolutionMediaQueryList","_observers","_window","_installResolutionListener","prototype","dispose","_uninstallResolutionListener","Object","defineProperty","devicePixelRatio","enumerable","configurable","subscribe","observer","unsubscribe","filter","o","dppx","matchMedia","concat","addListener","removeListener","_reinstallResolutionListener","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_canvasElement","_bitmapSizeChangedListeners","_suggestedBitmapSize","_suggestedBitmapSizeChangedListeners","_devicePixelRatioObservable","_canvasElementResizeObserver","_canvasElementClientSize","clientWidth","clientHeight","_transformBitmapSize","_allowResizeObserver","allowResizeObserver","_chooseAndInitObserver","_b","disconnect","resizeCanvasElement","clientSize","style","_invalidateBitmapSize","subscribeBitmapSizeChanged","listener","unsubscribeBitmapSizeChanged","l","subscribeSuggestedBitmapSizeChanged","unsubscribeSuggestedBitmapSizeChanged","applySuggestedBitmapSize","oldSuggestedSize","_resizeBitmap","_emitSuggestedBitmapSizeChanged","newSize","oldSize","bitmapSize","_emitBitmapSizeChanged","call","_suggestNewBitmapSize","finalNewSize","newSuggestedSize","Promise","resolve","ro","ResizeObserver","entries","every","entry","observe","document","body","box","catch","then","isSupported","_initResizeObserver","_initDevicePixelRatioObservable","canvasElementWindow","createDevicePixelRatioObservable","ratio","value","canvasRects","getClientRects","undefined","canvasRect","round","left","top","predictedBitmapSize","target","devicePixelContentBoxSize","entrySize","inlineSize","blockSize","ownerDocument","defaultView","CanvasRenderingTarget2D","context","mediaSize","TypeError","_mediaSize","_bitmapSize","_context","useMediaCoordinateSpace","f","save","setTransform","scale","_horizontalPixelRatio","_verticalPixelRatio","restore","useBitmapCoordinateSpace","horizontalPixelRatio","verticalPixelRatio","tryCreateCanvasRenderingTarget2D","binding","contextOptions","canvasElementClientSize","getContext","e","upColor","downColor","wickVisible","borderVisible","borderColor","borderUpColor","borderDownColor","wickColor","wickUpColor","wickDownColor","r","openVisible","thinBars","h","color","lineStyle","lineWidth","lineType","lineVisible","crosshairMarkerVisible","crosshairMarkerRadius","crosshairMarkerBorderColor","crosshairMarkerBorderWidth","crosshairMarkerBackgroundColor","lastPriceAnimation","pointMarkersVisible","topColor","bottomColor","invertFilledArea","lineColor","baseValue","type","topFillColor1","topFillColor2","topLineColor","bottomFillColor1","bottomFillColor2","bottomLineColor","base","_","u","title","visible","lastValueVisible","priceLineVisible","priceLineSource","priceLineWidth","priceLineColor","priceLineStyle","baseLineVisible","baseLineWidth","baseLineColor","baseLineStyle","priceFormat","precision","minMove","d","t","n","setLineDash","v","s","beginPath","moveTo","lineTo","stroke","p","m","w","Simple","WithSteps","Curved","Solid","Dotted","Dashed","LargeDashed","SparseDotted","g","khaki","azure","aliceblue","ghostwhite","gold","goldenrod","gainsboro","gray","green","honeydew","floralwhite","lightblue","lightcoral","lemonchiffon","hotpink","lightyellow","greenyellow","lightgoldenrodyellow","limegreen","linen","lightcyan","magenta","maroon","olive","orange","oldlace","mediumblue","transparent","lime","lightpink","mistyrose","moccasin","midnightblue","orchid","mediumorchid","mediumturquoise","orangered","royalblue","powderblue","red","coral","turquoise","white","whitesmoke","wheat","teal","steelblue","bisque","aquamarine","aqua","sienna","silver","springgreen","antiquewhite","burlywood","brown","beige","chocolate","chartreuse","cornflowerblue","cornsilk","crimson","cadetblue","tomato","fuchsia","blue","salmon","blanchedalmond","slateblue","slategray","thistle","tan","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","blueviolet","black","darkmagenta","darkslateblue","darkkhaki","darkorchid","darkorange","darkgreen","darkred","dodgerblue","darkslategray","dimgray","deepskyblue","firebrick","forestgreen","indigo","ivory","lavenderblush","feldspar","indianred","lightgreen","lightgrey","lightskyblue","lightslategray","lightslateblue","snow","lightseagreen","lightsalmon","darksalmon","darkviolet","mediumpurple","mediumaquamarine","skyblue","lavender","lightsteelblue","mediumvioletred","mintcream","navajowhite","navy","olivedrab","palevioletred","violetred","yellow","yellowgreen","lawngreen","pink","paleturquoise","palegoldenrod","darkolivegreen","darkseagreen","darkturquoise","peachpuff","deeppink","violet","palegreen","mediumseagreen","peru","saddlebrown","sandybrown","rosybrown","purple","seagreen","seashell","papayawhip","mediumslateblue","plum","mediumspringgreen","M","x","S","k","y","C","T","toLowerCase","exec","parseInt","parseFloat","P","R","D","splice","V","hasOwnProperty","includes","isArray","O","B","A","I","z","L","E","N","F","W","NaN","j","H","$","U","layout","textColor","q","fontSize","fontFamily","Y","Z","X","K","super","arguments","G","J","tt","to","it","nt","st","arc","PI","fill","et","fillStyle","rt","ht","lt","ot","_t","ut","ct","dt","ft","vt","bt","wt","map","gt","Mt","mode","xt","St","kt","yt","Ct","Tt","Pt","Dt","Rt","Vt","Ot","Bt","At","It","zt","Lt","Et","lineCap","strokeStyle","Nt","Ft","Wt","jt","Ht","$t","crosshair","Ut","qt","horzLine","vertLine","Yt","Zt","fillRect","globalCompositeOperation","roundRect","arcTo","Q","closePath","createLinearGradient","addColorStop","Xt","Kt","font","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","textAlign","textBaseline","fillText","fi","pi","mi","bi","wi","gi","Mi","ceil","xi","Si","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","ticksVisible","Ii","zi","Li","Ei","labelVisible","Ni","labelBackgroundColor","Fi","Wi","ji","Hi","abs","translate","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","at","Normal","Magnet","Hidden","tn","nn","sn","en","rn","hn","ln","an","_n","un","cn","dn","fn","vn","pn","mn","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","clear","Dn","Vn","On","Bn","isNaN","In","An","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Jn","Qn","ts","ns","ss","es","toString","slice","rs","hs","format","ls","_s","pt","us","cs","pow","replace","String","mt","bezierCurveTo","ds","fs","vs","ps","lineJoin","bs","bind","ws","gs","Ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","assign","Us","$s","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","pointMarkersRadius","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","Oe","atan","Be","Ae","Ie","ze","Le","Ee","Ne","Fe","draw","renderer","We","priceValueBuilder","je","isWhitespace","He","$e","update","bars","barSpacing","visibleRange","originalData","barColor","Ue","qe","Ye","Ze","Xe","Ke","Ge","Je","Qe","tr","ir","nr","sr","actualBoundingBoxAscent","actualBoundingBoxDescent","has","er","delete","measureText","rr","hr","lr","ar","_r","ur","cr","dr","vr","pr","mr","br","wr","gr","Mr","Sr","kr","yr","Cr","Tr","Pr","Rr","Dr","Vr","Or","Br","Ar","Ir","zr","Lr","Er","Nr","Fr","performance","Wr","jr","Hr","$r","Ur","qr","Yr","Zr","Xr","Kr","Gr","vi","Jr","Qr","th","ih","nh","sqrt","position","sh","eh","rh","hh","ah","oh","_h","uh","dh","fh","above","aboveBar","inBar","below","belowBar","reduce","shape","id","text","ph","mh","bh","seriesLastValueMode","wh","gh","Mh","xh","Sh","trim","kh","yh","Ch","Th","Ph","Rh","Dh","Vh","Oh","Bh","minValue","maxValue","Ah","Ih","zh","Lh","Eh","priceRange","margins","Nh","Fh","axisLabelVisible","Wh","axisLabelColor","axisLabelTextColor","jh","Hh","$h","Uh","qh","Yh","Zh","Bar","Candlestick","Xh","Custom","Area","Baseline","Line","Histogram","Kh","Gh","Jh","Qh","NearestLeft","None","NearestRight","tl","il","nl","sl","el","rl","hl","ll","al","ol","_l","ul","cl","dl","fl","vl","pl","ml","bl","wl","gl","drawBackground","Ml","xl","Sl","zOrder","coordinate","fixedCoordinate","backColor","tickVisible","kl","yl","Cl","Tl","Pl","Rl","Dl","Vl","Ol","updateAllViews","paneViews","timeAxisViews","priceAxisViews","Bl","priceAxisPaneViews","Al","timeAxisPaneViews","Il","autoscaleInfo","hitTest","zl","Ll","El","Nl","Fl","Wl","jl","Hl","$l","Ul","ql","clearTimeout","Yl","Zl","priceScaleId","Xl","Kl","Gl","Jl","Ql","ta","ia","na","sa","ea","ra","indexOf","ha","la","aa","setTimeout","oa","unshift","ua","ca","da","fa","va","autoscaleInfoProvider","pa","ma","ba","wa","ga","Ma","xa","Sa","ka","ya","Ca","Ta","Pa","formatter","Ra","Da","Va","originalTime","Oa","Ba","Aa","Ia","za","La","Ea","Na","Fa","Wa","ja","grid","horzLines","vertLines","Ha","coord","$a","Ua","log10","on","qa","Ya","Za","Xa","Ka","Ga","Ja","Qa","io","entireTextOnly","no","so","eo","Logarithmic","Percentage","IndexedTo100","ho","lo","ao","oo","_o","uo","co","do","fo","vo","po","mo","bo","wo","Mo","xo","So","ko","yo","Co","To","Po","Ro","scaleMargins","bottom","Do","Vo","autoScale","Oo","Bo","invertScale","Ao","Io","zo","Lo","Eo","No","Fo","Wo","jo","Ho","$o","Uo","qo","Yo","Zo","Xo","Ko","Go","Jo","Qo","t_","i_","n_","s_","e_","r_","h_","l_","a_","priceFormatter","percentageFormatter","o_","__","u_","c_","d_","f_","v_","leftPriceScale","p_","rightPriceScale","m_","b_","localization","overlayPriceScales","w_","g_","M_","x_","S_","k_","C_","y_","T_","P_","R_","D_","V_","O_","B_","A_","I_","z_","L_","E_","N_","F_","W_","j_","H_","U_","q_","Y_","cacheKey","Z_","X_","K_","G_","J_","Q_","tu","iu","nu","timeWeight","index","weight","su","eu","ru","keys","hu","lu","au","ou","_u","uu","cu","du","fu","vu","pu","mu","bu","wu","gu","Mu","xu","rightOffset","Su","ku","uniformDistribution","yu","Cu","fixLeftEdge","Tu","fixRightEdge","Pu","minBarSpacing","key","Ru","Du","Vu","Ou","Bu","Au","Iu","lockVisibleTimeRangeOnResize","zu","Lu","Eu","Nu","Fu","Wu","ju","Hu","tickMarkMaxCharacterLength","$u","label","Uu","needAlignCoordinate","qu","Yu","Zu","rightBarStaysOnScroll","Xu","Ku","Gu","Ju","RangeError","Qu","tc","nc","sc","ec","rc","hc","lc","timeFormatter","formatHorzItem","handleScroll","handleScale","horzTouchDrag","mouseWheel","pressedMouseMove","vertTouchDrag","axisDoubleClickReset","axisPressedMouseMove","pinch","ac","oc","_c","uc","cc","dc","fc","formatTickmark","updateFormatter","vc","mc","bc","wc","gc","Mc","xc","Sc","kc","horzAlign","vertAlign","fontStyle","OnTouchEnd","OnNextTap","yc","Cc","Tc","Pc","Rc","Dc","Vc","Oc","timeScale","Bc","Ac","watermark","Ic","zc","Lc","Ec","Nc","Fc","Wc","jc","Hc","$c","Uc","qc","Yc","Zc","Xc","Kc","Gc","Jc","Qc","td","nd","sd","ed","rd","hd","ld","ad","od","_d","allowShiftVisibleRangeOnWhitespaceReplacement","shiftVisibleRangeOnNewBar","ud","dd","fd","vd","pd","md","bd","wd","background","Disabled","Continuous","OnDataUpdate","LastBar","LastVisible","VerticalGradient","Year","Month","DayOfMonth","Time","TimeWithSeconds","getUTCFullYear","gd","Md","getUTCMonth","toLocaleString","month","getUTCDate","xd","getUTCHours","getUTCMinutes","getUTCSeconds","Sd","kd","yd","Cd","Td","Pd","Rd","Dd","Vd","getTime","UTC","year","day","Od","Bd","is","setOptions","preprocessData","createConverterToInternalObj","convertHorzItemToInternal","dateFormat","timeVisible","Ad","secondsVisible","locale","tickMarkFormatter","hour12","hour","minute","getUTCMilliseconds","maxTickMarkWeight","fillWeightsForPoints","Id","window","navigator","userAgent","test","platform","zd","sign","as","Ld","Ed","Nd","Fd","Wd","jd","Hd","$d","Ud","qd","Yd","Zd","os","Xd","Kd","Gd","Jd","Qd","removeChild","nf","sf","ef","attributionLogo","rf","URL","location","href","hostname","pathname","if","createElement","innerText","innerHTML","toggleAttribute","appendChild","transform","clearRect","hf","lf","af","NEGATIVE_INFINITY","POSITIVE_INFINITY","_f","uf","cf","df","ff","vf","pf","mf","bf","wf","gf","Mf","xf","Sf","kf","yf","Cf","Tf","Pf","Rf","Df","Vf","Of","Bf","Af","If","zf","Lf","Ef","Nf","Ff","Wf","Hf","jf","$f","Uf","qf","Yf","Zf","Xf","Kf","Gf","Jf","removeEventListener","addEventListener","Qf","tv","iv","changedTouches","nv","sv","ev","rv","hv","lv","button","av","ov","touches","_v","uv","documentElement","cv","dv","fv","identifier","passive","vv","pv","mv","bv","wv","composed","contains","composedPath","gv","chrome","preventDefault","Mv","xv","Sv","kv","yv","ms","Cv","Tv","getBoundingClientRect","clientX","clientY","Pv","Rv","sourceCapabilities","firesTouchEvents","pageX","pageY","screenX","screenY","localX","localY","ctrlKey","altKey","shiftKey","metaKey","Dv","startsWith","Vv","Ov","Bv","view","Av","cancelable","timeStamp","Iv","zv","externalId","Lv","cursorStyle","Ev","Nv","Fv","Wv","jv","Hv","$v","Uv","qv","Yv","Zv","Xv","Kv","overflow","Gv","zIndex","Jv","Qv","tp","ip","np","sp","ep","rp","hp","lp","ap","op","_p","up","cp","dp","fp","vp","pp","mp","bp","wp","gp","Mp","xp","Sp","drawImage","kp","rect","alignLabels","yp","cursor","Cp","Tp","Pp","Rp","Dp","Vp","Op","Bp","Ap","Ip","zp","Lp","Ep","Np","Fp","Wp","padding","jp","Hp","$p","Up","qp","Yp","Zp","Xp","Kp","Gp","Jp","Qp","tm","im","nm","sm","rm","hm","lm","am","trackingMode","exitMode","om","isBackground","_m","um","dm","fm","vm","pm","bm","wm","gm","Mm","xm","Sm","km","activeElement","blur","getSelection","removeAllRanges","kineticScroll","ym","Cm","touch","mouse","Tm","Pm","Rm","Dm","Vm","Om","Bm","Am","Im","zm","Lm","Em","Nm","Fm","Wm","jm","Hm","$m","Um","qm","Ym","allowBoldLabels","Zm","userAgentData","brands","some","brand","Xm","Km","Gm","Jm","Qm","tb","ib","nb","classList","add","direction","userSelect","webkitUserSelect","msUserSelect","MozUserSelect","webkitTapHighlightColor","sb","setAttribute","eb","rb","hb","lb","ab","autoSize","ob","ub","cb","fb","cancelAnimationFrame","parentElement","pb","mb","bb","wb","gb","Mb","xb","Sb","kb","yb","setProperty","removeProperty","Cb","Tb","Pb","minimumWidth","minimumHeight","Rb","deltaMode","DOM_DELTA_PAGE","DOM_DELTA_LINE","deltaX","deltaY","Db","Vb","Ob","requestAnimationFrame","pop","Bb","Ab","insertBefore","Ib","zb","Lb","Eb","Nb","Fb","Wb","display","contentRect","Boolean","getOwnPropertySymbols","propertyIsEnumerable","customValues","jb","Hb","$b","Ub","qb","Yb","Zb","Xb","Kb","pointData","Gb","Jb","Qb","tw","iw","nw","sw","ew","rw","hw","lw","language","aw","ow","applyOptions","_w","uw","cw","dw","fw","priceToCoordinate","coordinateToPrice","barsInLogicalRange","barsBefore","barsAfter","setData","pw","mw","bw","dataByIndex","seriesType","data","subscribeDataChanged","unsubscribeDataChanged","setMarkers","markers","priceScale","createPriceLine","removePriceLine","attachPrimitive","attached","chart","series","requestUpdate","detachPrimitive","detached","ww","gw","Mw","xw","scrollPosition","scrollToPosition","scrollToRealTime","getVisibleRange","setVisibleRange","getVisibleLogicalRange","setVisibleLogicalRange","resetTimeScale","fitContent","logicalToCoordinate","coordinateToLogical","timeToCoordinate","coordinateToTime","subscribeVisibleTimeRangeChange","unsubscribeVisibleTimeRangeChange","subscribeVisibleLogicalRangeChange","unsubscribeVisibleLogicalRangeChange","subscribeSizeChange","unsubscribeSizeChange","Sw","kw","yw","Cw","Tw","Pw","Rw","Dw","remove","resize","autoSizeActive","addCustomSeries","defaultOptions","Vw","addAreaSeries","addBaselineSeries","addBarSeries","addCandlestickSeries","addHistogramSeries","addLineSeries","removeSeries","Ow","subscribeClick","unsubscribeClick","subscribeCrosshairMove","unsubscribeCrosshairMove","subscribeDblClick","unsubscribeDblClick","takeScreenshot","chartElement","paneSize","setCrosshairPosition","clearCrosshairPosition","Bw","logical","point","hoveredSeries","hoveredObjectId","seriesData","sourceEvent","getElementById","ChartRenderer","container","initialize","createChart","CrosshairMode","formatPrice","ticker","mint","substring","handleResize","updateData","validCandles","setTimeframe","timeframe","destroy","getChart","getSeries","thisArg","apply","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","obj","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","random","callbacks","source","shift","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","isStream","pipe","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","charCodeAt","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","toArray","arr","forEachEntry","_iterator","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","isIterable","AxiosError","message","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","error","customProps","axiosError","msg","errCode","cause","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","exposedHelpers","build","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","dest","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","getSetCookie","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","reject","ERR_BAD_REQUEST","mapped","headerValue","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","speedometer","lastArgs","timer","threshold","invoke","args","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","host","port","cookies","write","expires","domain","secure","sameSite","cookie","toUTCString","read","RegExp","decodeURIComponent","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","xhrAdapter","XMLHttpRequest","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","res","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","getAdapter","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","default","API_CONFIG","BASE_URL","FUNHI_CHART_API_URL","NEXT_PUBLIC_BACKEND_URL","TIMEOUT","MAX_RETRIES","RETRY_DELAY","candleStorageService","savingQueue","BATCH_DELAY","BATCH_SIZE","saveCandles","timeFrame","post","success","saveCandle","queueKey","existingQueue","flushQueue","queue","limit","candleCount","warning","flushAll","flushPromises","timeFrameStr","CandleStorageAdapter","effectiveLimit","MAX_SAFE_INTEGER","uniqueCandles","acc","RealTimeUpdateHandler","timeframeManager","lastUpdate","handlePriceUpdate","debounce","handleSocketUpdate","timeframeKey","backendCandle","getTimeframeSeconds","candleData","FunhiChartController","gapCheckInterval","GAP_CHECK_INTERVAL_MS","currentTimeframe","storageAdapter","updateHandler","chartOptions","chartRenderer","loadTimeframeData","getCurrentCandles","existingCount","newCount","updatePrice","switchTimeframe","checkAndFillGapsForTimeframe","updatedCandles","getCurrentTimeframe","checkAndFillGaps","checkAndFillGapsForAllTimeframes","startGapChecking","clearInterval","setInterval","stopGapChecking","useSocket","socketInstance","socket","useState","isConnected","setIsConnected","isConnecting","setIsConnecting","useEffect","handleConnect","handleDisconnect","handleConnectError","connected","off","connect","useCallback","subscribeToOHLCV","onInitialData","onUpdate","onNewCandle","emit","unsubscribeFromOHLCV","subscribeToPrice","onPriceUpdate","unsubscribeFromPrice","testConnection","once","useOptimizedTokenAnalytics","analyticsData","analytics","setAnalytics","loading","setLoading","setError","setLastUpdate","setConnected","derivedValues","useMemo","market","currentMarketCap","currentVolume","performance24h","isPositive","raw","performance7d","performance1m","performanceAllTime","high24h","low24h","volume24h","return24h","marketCap","blockchain","currentRealSol","percentage","gain","isRealVolume","FunhiChart","tokenName","externalSocket","externalIsConnected","externalPrice","externalVolume","analyticsConnected","externalAnalyticsConnected","analyticsLoading","externalAnalyticsLoading","chartContainerRef","useRef","controllerRef","timeframeLoading","setTimeframeLoading","loadingTimeframe","setLoadingTimeframe","setCurrentTimeframe","internalSocketData","internalAnalytics","realTimePrice","realTimeVolume","timeFrames","formatTokenPrice","previousPriceRef","priceChanged","handleMultiTimeframeCandles","handleTimeFrameChange","timeFrameValue","newTimeFrame","React","className","onClick","currentCandles","isCurrentTimeframe","isCurrentlyLoading","isDisabled","disabled","animationDelay","ref","candleAggregation","aggregateCandles","oneMinuteCandles","targetTimeframe","aggregatedCandles","currentGroup","groupStartTime","bucketTime","aggregated","aggregateGroup","getTimeframeLabel","sorted","sum","fillGaps","filled","updateRealtimeCandle","newOneMinuteCandle","existing","updated","newCandles","cleanCandles","cleaned","getRequiredOneMinuteCandles","targetCount"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/validators/CandleValidator.ts","../src/core/CandleManager.ts","../src/core/TimeframeManager.ts","../node_modules/fancy-canvas/size.mjs","../node_modules/fancy-canvas/device-pixel-ratio.mjs","../node_modules/fancy-canvas/canvas-element-bitmap-size.mjs","../node_modules/fancy-canvas/canvas-rendering-target.mjs","../node_modules/lightweight-charts/dist/lightweight-charts.production.mjs","../src/core/ChartRenderer.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../src/config/environment.ts","../src/services/candleStorage.ts","../src/adapters/CandleStorageAdapter.ts","../src/handlers/RealTimeUpdateHandler.ts","../src/core/FunhiChartController.ts","../src/hooks/useSocket.ts","../src/hooks/useOptimizedTokenAnalytics.ts","../src/components/FunhiChart.tsx","../src/utils/candleAggregation.ts"],"sourcesContent":["/**\r\n * CandleValidator - Validates and enforces candle data integrity\r\n */\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class CandleValidator {\r\n /**\r\n * Minimum body size as percentage of price (0.01%)\r\n */\r\n private static readonly MIN_BODY_PERCENTAGE = 0.001; // CHANGED: larger visual body for tiny prices\r\n \r\n /**\r\n * Absolute minimum body size in price units\r\n * Set to 0 to display exact prices without any modifications\r\n */\r\n private static readonly MIN_BODY_ABSOLUTE = 0.00000001; // CHANGED: ensure body is visible at low prices\r\n\r\n /**\r\n * Validates if a candle has valid OHLC data\r\n */\r\n static validate(candle: CandleData): boolean {\r\n return (\r\n candle &&\r\n candle.time > 0 &&\r\n candle.open > 0 &&\r\n candle.high > 0 &&\r\n candle.low > 0 &&\r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close) &&\r\n candle.high >= Math.max(candle.open, candle.close) &&\r\n candle.low <= Math.min(candle.open, candle.close)\r\n );\r\n }\r\n\r\n /**\r\n * Ensures candle has minimum body size for visibility // CHANGED\r\n * NOTE: This is a visual adjustment only and does not imply extra volume. // ADDED\r\n */\r\n static ensureMinimumBodySize(candle: CandleData, minBodySize?: number): CandleData { // CHANGED\r\n if (!candle || !isFinite(candle.open) || !isFinite(candle.close)) return candle; // ADDED\r\n if ((candle.volume || 0) <= 0) return candle; // CHANGED: no-trade candles stay flat\r\n if (candle.open !== candle.close) return candle; // ADDED: body already visible\r\n const basePrice = Math.max(candle.open, 0); // ADDED\r\n const computedMin = basePrice * CandleValidator.MIN_BODY_PERCENTAGE; // ADDED\r\n const minBody = Math.max(minBodySize ?? computedMin, CandleValidator.MIN_BODY_ABSOLUTE); // ADDED\r\n if (minBody <= 0) return candle; // ADDED\r\n const adjustedClose = candle.close + minBody; // ADDED\r\n return { // ADDED\r\n ...candle, // ADDED\r\n close: adjustedClose, // ADDED\r\n high: Math.max(candle.high, adjustedClose), // ADDED\r\n low: Math.min(candle.low, candle.open) // ADDED\r\n }; // ADDED\r\n } // CHANGED\r\n\r\n /**\r\n * Validates and corrects OHLC data integrity\r\n */\r\n static validateOHLC(candle: CandleData): CandleData {\r\n return {\r\n ...candle,\r\n high: Math.max(candle.open, candle.high, candle.close),\r\n low: Math.min(candle.open, candle.low, candle.close)\r\n };\r\n }\r\n\r\n /**\r\n * Checks if a candle belongs to the current time bucket\r\n */\r\n static isCurrentBucket(\r\n candle: CandleData, \r\n timeframeSeconds: number, \r\n timestamp: number\r\n ): boolean {\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n return candle.time === currentBucket;\r\n }\r\n\r\n /**\r\n * Validates price data\r\n */\r\n static validatePrice(price: number): boolean {\r\n return price > 0 && isFinite(price);\r\n }\r\n\r\n /**\r\n * Calculates minimum body size for a given price // CHANGED\r\n * Returns a tiny value for visual body only // CHANGED\r\n */\r\n static calculateMinBodySize(price: number): number { // CHANGED\r\n const computedMin = price * CandleValidator.MIN_BODY_PERCENTAGE; // ADDED\r\n return Math.max(computedMin, CandleValidator.MIN_BODY_ABSOLUTE); // CHANGED\r\n } // CHANGED\r\n}\r\n\r\n","/**\r\n * CandleManager - Manages candle creation, updates, and validation for a single timeframe\r\n * This class eliminates code duplication by handling all timeframe logic generically\r\n */\r\nimport { CandleData, CandleUpdateResult } from './types';\r\nimport { CandleValidator } from '../validators/CandleValidator';\r\n\r\nexport class CandleManager {\r\n private timeframeSeconds: number;\r\n private candles: CandleData[] = [];\r\n private currentCandle: CandleData | null = null;\r\n private lastCandleTime: number = 0;\r\n private lastProcessedTimestamp: number = 0;\r\n private readonly debounceMs: number = 50;\r\n\r\n constructor(timeframeSeconds: number) {\r\n this.timeframeSeconds = timeframeSeconds;\r\n }\r\n\r\n /**\r\n * Main method: Creates a new candle or updates the current one\r\n */\r\n createOrUpdate(price: number, timestamp: number, tradeSize: number = 0): CandleUpdateResult | null { // CHANGED\r\n // Debounce check\r\n const now = Date.now();\r\n if (this.lastProcessedTimestamp && (now - this.lastProcessedTimestamp) < this.debounceMs) {\r\n return null;\r\n }\r\n this.lastProcessedTimestamp = now;\r\n\r\n // Validate price\r\n if (!CandleValidator.validatePrice(price)) {\r\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid price data: ${price}`);\r\n return null;\r\n }\r\n const normalizedTradeSize = Number(tradeSize || 0); // ADDED\r\n if (!Number.isFinite(normalizedTradeSize) || normalizedTradeSize <= 0) { // ADDED\r\n // No trades => no candle creation. This differs from flat-candle behavior to avoid fake signals. // ADDED\r\n return null; // ADDED\r\n } // ADDED\r\n\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const bucketStart = this.calculateBucketStart(currentTime);\r\n\r\n // Check if we need to create a new candle\r\n if (bucketStart !== this.lastCandleTime) {\r\n return this.createNewCandle(price, normalizedTradeSize, timestamp, bucketStart); // CHANGED\r\n }\r\n\r\n // Update existing candle\r\n if (this.currentCandle) {\r\n return this.updateCurrentCandle(price, normalizedTradeSize, timestamp, bucketStart); // CHANGED\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Creates a new candle at bucket boundary\r\n * Detects gaps and logs them (gaps should be filled by loading from database)\r\n */\r\n private createNewCandle(\r\n price: number, // CHANGED\r\n tradeSize: number, // ADDED\r\n timestamp: number, // CHANGED\r\n bucketStart: number // CHANGED\r\n ): CandleUpdateResult {\r\n const WEAK_VOLUME_THRESHOLD = 0.01; // ADDED\r\n\r\n // Finalize previous candle if it exists\r\n if (this.currentCandle && this.isValidCandle(this.currentCandle)) {\r\n const finalizedCandle = CandleValidator.validateOHLC(this.currentCandle);\r\n this.addCandleToHistory(finalizedCandle);\r\n }\r\n\r\n\r\n\r\n // Create new candle from the first trade in this interval. // CHANGED\r\n // Open uses previous close for continuity (like before), but only when a trade occurs. // CHANGED\r\n const previousCandleClose = this.getPreviousCandleClose(bucketStart); // ADDED\r\n const openPrice = previousCandleClose ?? price; // ADDED\r\n const newCandle = this.buildNewCandle( // CHANGED\r\n bucketStart, // CHANGED\r\n openPrice, // CHANGED\r\n price, // CHANGED\r\n tradeSize // ADDED\r\n ); // CHANGED\r\n const adjustedNewCandle = CandleValidator.ensureMinimumBodySize(newCandle); // ADDED\r\n const finalNewCandle = CandleValidator.validateOHLC(adjustedNewCandle); // ADDED\r\n\r\n // Update state\r\n this.currentCandle = finalNewCandle; // CHANGED\r\n this.lastCandleTime = bucketStart;\r\n this.addCandleToHistory(finalNewCandle); // CHANGED\r\n\r\n console.log( // CHANGED\r\n `🆕 [CandleManager-${this.timeframeSeconds}s] New candle: time=${bucketStart}, open=$${finalNewCandle.open.toFixed(2)}, close=$${finalNewCandle.close.toFixed(2)}` // CHANGED\r\n ); // CHANGED\r\n\r\n return {\r\n candle: finalNewCandle, // CHANGED\r\n isNewCandle: true,\r\n wasUpdated: false\r\n };\r\n }\r\n\r\n /**\r\n * Updates the current candle with new price data\r\n */\r\n private updateCurrentCandle(\r\n price: number,\r\n tradeSize: number, // ADDED\r\n timestamp: number,\r\n currentBucket: number\r\n ): CandleUpdateResult | null {\r\n const WEAK_VOLUME_THRESHOLD = 0.01; // ADDED\r\n // Verify this is actually the current candle\r\n if (this.currentCandle!.time !== currentBucket) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping update for historical candle (time: ${this.currentCandle!.time}, current: ${currentBucket})`\r\n );\r\n return null;\r\n }\r\n\r\n // Validate existing candle\r\n if (!this.isValidCandle(this.currentCandle!)) {\r\n console.warn(`⚠️ [CandleManager-${this.timeframeSeconds}s] Invalid existing candle, recreating`);\r\n const recreatedCandle: CandleData = {\r\n time: this.currentCandle!.time,\r\n open: price,\r\n high: price,\r\n low: price,\r\n close: price,\r\n volume: tradeSize, // CHANGED\r\n tradeCount: 1, // ADDED\r\n isSingleTrade: true, // ADDED\r\n isWeakSignal: tradeSize < WEAK_VOLUME_THRESHOLD // ADDED\r\n };\r\n this.currentCandle = recreatedCandle;\r\n this.updateCandleInHistory(recreatedCandle, currentBucket);\r\n return {\r\n candle: recreatedCandle,\r\n isNewCandle: false,\r\n wasUpdated: true\r\n };\r\n }\r\n\r\n // Update candle with real trade data only. // CHANGED\r\n const updatedCandle = this.updateCandlePrice(this.currentCandle!, price, tradeSize); // CHANGED\r\n const adjustedCandle = CandleValidator.ensureMinimumBodySize(updatedCandle); // ADDED\r\n\r\n // Final validation\r\n const validatedCandle = CandleValidator.validateOHLC(adjustedCandle); // CHANGED\r\n\r\n // Only update if it's the current bucket\r\n if (validatedCandle.time !== currentBucket) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Prevented update of historical candle: time=${validatedCandle.time}, currentBucket=${currentBucket}`\r\n );\r\n return {\r\n candle: validatedCandle,\r\n isNewCandle: false,\r\n wasUpdated: false\r\n };\r\n }\r\n\r\n this.currentCandle = validatedCandle;\r\n this.updateCandleInHistory(validatedCandle, currentBucket);\r\n\r\n return {\r\n candle: validatedCandle,\r\n isNewCandle: false,\r\n wasUpdated: true\r\n };\r\n }\r\n\r\n /**\r\n * Updates candle price while preserving minimum body size\r\n */\r\n private updateCandlePrice(candle: CandleData, price: number, tradeSize: number): CandleData { // CHANGED\r\n // Use exact price without any modifications\r\n return {\r\n ...candle,\r\n high: Math.max(candle.high, price),\r\n low: Math.min(candle.low, price),\r\n close: price,\r\n volume: (candle.volume || 0) + tradeSize, // ADDED\r\n tradeCount: (candle.tradeCount || 0) + 1, // ADDED\r\n isSingleTrade: false, // ADDED\r\n isWeakSignal: ((candle.volume || 0) + tradeSize) < 0.01 // ADDED\r\n };\r\n }\r\n\r\n /**\r\n * Builds a new candle with exact price (no minimum body size enforcement)\r\n */\r\n private buildNewCandle(\r\n bucketStart: number,\r\n openPrice: number,\r\n currentPrice: number, // CHANGED\r\n tradeSize: number // ADDED\r\n ): CandleData {\r\n // Use exact price without any modifications\r\n const closePrice = currentPrice;\r\n\r\n return {\r\n time: bucketStart,\r\n open: openPrice,\r\n high: Math.max(openPrice, closePrice, currentPrice),\r\n low: Math.min(openPrice, closePrice, currentPrice),\r\n close: closePrice,\r\n volume: tradeSize, // CHANGED\r\n tradeCount: 1, // ADDED\r\n isSingleTrade: true, // ADDED\r\n isWeakSignal: tradeSize < 0.01 // ADDED\r\n };\r\n }\r\n\r\n /**\r\n * Gets the previous candle's close price\r\n */\r\n private getPreviousCandleClose(bucketStart: number): number | null {\r\n // Check candles array first (most authoritative history)\r\n if (this.candles.length > 0) {\r\n const sortedCandles = [...this.candles].sort((a, b) => b.time - a.time);\r\n const lastCandle = sortedCandles.find(\r\n c => c.time < bucketStart && c.close > 0 && isFinite(c.close)\r\n );\r\n if (lastCandle) {\r\n return lastCandle.close;\r\n }\r\n }\r\n\r\n // Fallback: Get from current candle ref if it's from previous bucket\r\n if (this.currentCandle &&\r\n this.currentCandle.close > 0 &&\r\n isFinite(this.currentCandle.close) &&\r\n this.currentCandle.time < bucketStart) {\r\n return this.currentCandle.close;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets the previous candle's direction (1 for bullish, -1 for bearish)\r\n */\r\n private getPreviousCandleDirection(): number {\r\n if (this.currentCandle && this.currentCandle.open > 0) {\r\n return this.currentCandle.close >= this.currentCandle.open ? 1 : -1;\r\n }\r\n return 1; // Default to bullish\r\n }\r\n\r\n /**\r\n * Calculates bucket start time for a given timestamp\r\n */\r\n private calculateBucketStart(timestamp: number): number {\r\n return Math.floor(timestamp / this.timeframeSeconds) * this.timeframeSeconds;\r\n }\r\n\r\n /**\r\n * Checks if a candle has valid data\r\n */\r\n private isValidCandle(candle: CandleData): boolean {\r\n return (\r\n candle.open > 0 &&\r\n candle.high > 0 &&\r\n candle.low > 0 &&\r\n candle.close > 0\r\n );\r\n }\r\n\r\n /**\r\n * Adds a candle to history\r\n */\r\n private addCandleToHistory(candle: CandleData): void {\r\n const existingIndex = this.candles.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n this.candles[existingIndex] = candle;\r\n } else {\r\n this.candles.push(candle);\r\n this.candles.sort((a, b) => a.time - b.time);\r\n }\r\n }\r\n\r\n /**\r\n * Updates a candle in history (only if it matches current bucket)\r\n */\r\n private updateCandleInHistory(candle: CandleData, currentBucket: number): void {\r\n if (candle.time !== currentBucket) {\r\n return;\r\n }\r\n\r\n const existingIndex = this.candles.findIndex(c => c.time === currentBucket);\r\n if (existingIndex >= 0 && this.candles[existingIndex].time === currentBucket) {\r\n this.candles[existingIndex] = candle;\r\n } else if (candle.time === currentBucket) {\r\n this.candles.push(candle);\r\n this.candles.sort((a, b) => a.time - b.time);\r\n }\r\n }\r\n\r\n // Public getters\r\n getCandles(): CandleData[] {\r\n return [...this.candles];\r\n }\r\n\r\n getCurrentCandle(): CandleData | null {\r\n return this.currentCandle;\r\n }\r\n\r\n getLastCandleTime(): number {\r\n return this.lastCandleTime;\r\n }\r\n\r\n /**\r\n * Detects gaps in candles and returns information about missing time periods\r\n * Returns array of missing time ranges that should be loaded from database\r\n */\r\n detectGaps(): Array<{ startTime: number; endTime: number; missingCount: number }> {\r\n if (this.candles.length < 2) {\r\n return [];\r\n }\r\n\r\n const gaps: Array<{ startTime: number; endTime: number; missingCount: number }> = [];\r\n const sortedCandles = [...this.candles].sort((a, b) => a.time - b.time);\r\n\r\n for (let i = 0; i < sortedCandles.length - 1; i++) {\r\n const current = sortedCandles[i];\r\n const next = sortedCandles[i + 1];\r\n const expectedNextTime = current.time + this.timeframeSeconds;\r\n\r\n if (next.time > expectedNextTime) {\r\n // There's a gap\r\n const gapSize = next.time - current.time;\r\n const missingCount = Math.floor(gapSize / this.timeframeSeconds) - 1;\r\n\r\n if (missingCount > 0) {\r\n gaps.push({\r\n startTime: current.time,\r\n endTime: next.time,\r\n missingCount\r\n });\r\n }\r\n }\r\n }\r\n\r\n return gaps;\r\n }\r\n\r\n /**\r\n * Loads candles from storage\r\n * Merges with existing candles to preserve real-time data\r\n */\r\n loadCandles(candles: CandleData[]): void {\r\n if (candles.length === 0) return;\r\n\r\n // Start with existing candles to preserve real-time data\r\n const existingCandlesMap = new Map<number, CandleData>();\r\n this.candles.forEach(candle => {\r\n existingCandlesMap.set(candle.time, candle);\r\n });\r\n\r\n // Validate and merge new candles from database\r\n candles.forEach(candle => {\r\n // Ensure minimum body size\r\n const validatedCandle = CandleValidator.ensureMinimumBodySize(candle);\r\n const validated = CandleValidator.validateOHLC(validatedCandle);\r\n\r\n // Merge: database candles can update existing ones, but we preserve\r\n // real-time candles that are newer than what's in the database\r\n const existingCandle = existingCandlesMap.get(validated.time);\r\n\r\n if (existingCandle) {\r\n // If we have an existing candle, prefer the one with more recent data\r\n // Database candles might be slightly stale, so only update if the existing\r\n // candle is not the current one (which is being updated in real-time)\r\n if (this.currentCandle && this.currentCandle.time === validated.time) {\r\n // Merge real-time candle with database candle\r\n // We trust DB for historical context but keep real-time Close/Volume if they seem more recent\r\n this.currentCandle.high = Math.max(this.currentCandle.high, validated.high);\r\n this.currentCandle.low = Math.min(this.currentCandle.low, validated.low);\r\n this.currentCandle.volume = Math.max(this.currentCandle.volume, validated.volume);\r\n // Note: Open continuity will be handled in the pass below\r\n existingCandlesMap.set(validated.time, { ...this.currentCandle });\r\n } else {\r\n // For historical candles, prefer database version (more authoritative)\r\n existingCandlesMap.set(validated.time, validated);\r\n }\r\n } else {\r\n // New candle from database, add it\r\n existingCandlesMap.set(validated.time, validated);\r\n }\r\n });\r\n\r\n // Convert back to array and sort\r\n const mergedCandles = Array.from(existingCandlesMap.values()).sort((a, b) => a.time - b.time);\r\n\r\n\r\n if (mergedCandles.length > 1) {\r\n for (let i = 1; i < mergedCandles.length; i++) {\r\n const prev = mergedCandles[i - 1];\r\n const next = mergedCandles[i];\r\n\r\n if (next.open !== prev.close) {\r\n next.open = prev.close;\r\n // After forcing Open, we must ensure High/Low remain valid\r\n next.high = Math.max(next.high, next.open, next.close);\r\n next.low = Math.min(next.low, next.open, next.close);\r\n\r\n // CRITICAL: Re-ensure minimum body size after forcing Open price\r\n // This prevents bodies from \"disappearing\" if Open becomes nearly equal to Close\r\n const adjusted = CandleValidator.ensureMinimumBodySize(next);\r\n next.close = adjusted.close;\r\n next.high = adjusted.high;\r\n next.low = adjusted.low;\r\n }\r\n }\r\n }\r\n\r\n this.candles = mergedCandles;\r\n\r\n // Update references\r\n if (this.candles.length > 0) {\r\n const lastCandle = this.candles[this.candles.length - 1];\r\n\r\n // Update currentCandle to the latest one\r\n if (!this.currentCandle || lastCandle.time >= this.currentCandle.time) {\r\n this.currentCandle = lastCandle;\r\n this.lastCandleTime = lastCandle.time;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Directly updates candle from external source (e.g., WebSocket)\r\n */\r\n updateFromExternal(candle: CandleData, currentBucket: number): void {\r\n if (candle.time !== currentBucket) {\r\n console.warn(\r\n `⚠️ [CandleManager-${this.timeframeSeconds}s] Skipping external update for historical candle`\r\n );\r\n return;\r\n }\r\n if (!Number.isFinite(candle.volume) || candle.volume <= 0) { // ADDED\r\n // No trades => skip external candle to avoid fabricated activity. // ADDED\r\n // This differs from flat-candle behavior used by some charting tools. // ADDED\r\n return; // ADDED\r\n } // ADDED\r\n\r\n // Ensure absolute price continuity for live updates\r\n const previousClose = this.getPreviousCandleClose(currentBucket);\r\n const openPrice = previousClose ?? candle.open;\r\n\r\n // Ensure minimum body size and validate OHLC\r\n const continuityCandle: CandleData = {\r\n ...candle,\r\n open: openPrice,\r\n high: Math.max(candle.high, openPrice),\r\n low: Math.min(candle.low, openPrice)\r\n };\r\n\r\n const validatedCandle = CandleValidator.ensureMinimumBodySize(continuityCandle);\r\n const finalCandle = CandleValidator.validateOHLC(validatedCandle);\r\n\r\n this.currentCandle = finalCandle;\r\n this.lastCandleTime = finalCandle.time;\r\n this.updateCandleInHistory(finalCandle, currentBucket);\r\n }\r\n\r\n /**\r\n * Resets the manager (useful for cleanup)\r\n */\r\n reset(): void {\r\n this.candles = [];\r\n this.currentCandle = null;\r\n this.lastCandleTime = 0;\r\n this.lastProcessedTimestamp = 0;\r\n }\r\n}\r\n\r\n","/**\r\n * TimeframeManager - Orchestrates multiple timeframes and coordinates updates\r\n */\r\nimport { CandleManager } from './CandleManager';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport class TimeframeManager {\r\n private managers: Map<number, CandleManager>;\r\n private timeframes: TimeFrame[];\r\n\r\n constructor(timeframes: TimeFrame[]) {\r\n this.timeframes = timeframes;\r\n this.managers = new Map();\r\n \r\n // Initialize managers for each timeframe\r\n timeframes.forEach(tf => {\r\n this.managers.set(tf.seconds, new CandleManager(tf.seconds));\r\n });\r\n }\r\n\r\n /**\r\n * Gets the manager for a specific timeframe\r\n */\r\n getManager(seconds: number): CandleManager | undefined {\r\n return this.managers.get(seconds);\r\n }\r\n\r\n /**\r\n * Updates all timeframes with new price data\r\n */\r\n updateAll(price: number, timestamp: number, tradeSize: number = 0): void { // CHANGED\r\n this.managers.forEach(manager => { // CHANGED\r\n manager.createOrUpdate(price, timestamp, tradeSize); // CHANGED\r\n }); // CHANGED\r\n } // CHANGED\r\n\r\n /**\r\n * Gets candles for a specific timeframe\r\n */\r\n getCandles(seconds: number): CandleData[] {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCandles() : [];\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n const manager = this.managers.get(seconds);\r\n return manager ? manager.getCurrentCandle() : null;\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n */\r\n loadCandles(seconds: number, candles: CandleData[]): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.loadCandles(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Updates candle from external source (e.g., WebSocket)\r\n */\r\n updateFromExternal(seconds: number, candle: CandleData, currentBucket: number): void {\r\n const manager = this.managers.get(seconds);\r\n if (manager) {\r\n manager.updateFromExternal(candle, currentBucket);\r\n }\r\n }\r\n\r\n /**\r\n * Gets all available timeframes\r\n */\r\n getTimeframes(): TimeFrame[] {\r\n return [...this.timeframes];\r\n }\r\n\r\n /**\r\n * Resets all managers\r\n */\r\n reset(): void {\r\n this.managers.forEach(manager => manager.reset());\r\n }\r\n}\r\n\r\n","export function size(_a) {\n var width = _a.width, height = _a.height;\n if (width < 0) {\n throw new Error('Negative width is not allowed for Size');\n }\n if (height < 0) {\n throw new Error('Negative height is not allowed for Size');\n }\n return {\n width: width,\n height: height,\n };\n}\nexport function equalSizes(first, second) {\n return (first.width === second.width) &&\n (first.height === second.height);\n}\n","var Observable = /** @class */ (function () {\n function Observable(win) {\n var _this = this;\n this._resolutionListener = function () { return _this._onResolutionChanged(); };\n this._resolutionMediaQueryList = null;\n this._observers = [];\n this._window = win;\n this._installResolutionListener();\n }\n Observable.prototype.dispose = function () {\n this._uninstallResolutionListener();\n this._window = null;\n };\n Object.defineProperty(Observable.prototype, \"value\", {\n get: function () {\n return this._window.devicePixelRatio;\n },\n enumerable: false,\n configurable: true\n });\n Observable.prototype.subscribe = function (next) {\n var _this = this;\n var observer = { next: next };\n this._observers.push(observer);\n return {\n unsubscribe: function () {\n _this._observers = _this._observers.filter(function (o) { return o !== observer; });\n },\n };\n };\n Observable.prototype._installResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n throw new Error('Resolution listener is already installed');\n }\n var dppx = this._window.devicePixelRatio;\n this._resolutionMediaQueryList = this._window.matchMedia(\"all and (resolution: \".concat(dppx, \"dppx)\"));\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.addListener(this._resolutionListener);\n };\n Observable.prototype._uninstallResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.removeListener(this._resolutionListener);\n this._resolutionMediaQueryList = null;\n }\n };\n Observable.prototype._reinstallResolutionListener = function () {\n this._uninstallResolutionListener();\n this._installResolutionListener();\n };\n Observable.prototype._onResolutionChanged = function () {\n var _this = this;\n this._observers.forEach(function (observer) { return observer.next(_this._window.devicePixelRatio); });\n this._reinstallResolutionListener();\n };\n return Observable;\n}());\nexport function createObservable(win) {\n return new Observable(win);\n}\n","import { equalSizes, size } from \"./size.mjs\";\nimport { createObservable as createDevicePixelRatioObservable } from \"./device-pixel-ratio.mjs\";\nvar DevicePixelContentBoxBinding = /** @class */ (function () {\n function DevicePixelContentBoxBinding(canvasElement, transformBitmapSize, options) {\n var _a;\n this._canvasElement = null;\n this._bitmapSizeChangedListeners = [];\n this._suggestedBitmapSize = null;\n this._suggestedBitmapSizeChangedListeners = [];\n // devicePixelRatio approach\n this._devicePixelRatioObservable = null;\n // ResizeObserver approach\n this._canvasElementResizeObserver = null;\n this._canvasElement = canvasElement;\n this._canvasElementClientSize = size({\n width: this._canvasElement.clientWidth,\n height: this._canvasElement.clientHeight,\n });\n this._transformBitmapSize = transformBitmapSize !== null && transformBitmapSize !== void 0 ? transformBitmapSize : (function (size) { return size; });\n this._allowResizeObserver = (_a = options === null || options === void 0 ? void 0 : options.allowResizeObserver) !== null && _a !== void 0 ? _a : true;\n this._chooseAndInitObserver();\n // we MAY leave the constuctor without any bitmap size observation mechanics initialized\n }\n DevicePixelContentBoxBinding.prototype.dispose = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n (_a = this._canvasElementResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._canvasElementResizeObserver = null;\n (_b = this._devicePixelRatioObservable) === null || _b === void 0 ? void 0 : _b.dispose();\n this._devicePixelRatioObservable = null;\n this._suggestedBitmapSizeChangedListeners.length = 0;\n this._bitmapSizeChangedListeners.length = 0;\n this._canvasElement = null;\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElement\", {\n get: function () {\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n return this._canvasElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElementClientSize\", {\n get: function () {\n return this._canvasElementClientSize;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"bitmapSize\", {\n get: function () {\n return size({\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Use this function to change canvas element client size until binding is disposed\n * @param clientSize New client size for bound HTMLCanvasElement\n */\n DevicePixelContentBoxBinding.prototype.resizeCanvasElement = function (clientSize) {\n this._canvasElementClientSize = size(clientSize);\n this.canvasElement.style.width = \"\".concat(this._canvasElementClientSize.width, \"px\");\n this.canvasElement.style.height = \"\".concat(this._canvasElementClientSize.height, \"px\");\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype.subscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"suggestedBitmapSize\", {\n get: function () {\n return this._suggestedBitmapSize;\n },\n enumerable: false,\n configurable: true\n });\n DevicePixelContentBoxBinding.prototype.subscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n DevicePixelContentBoxBinding.prototype.applySuggestedBitmapSize = function () {\n if (this._suggestedBitmapSize === null) {\n // nothing to apply\n return;\n }\n var oldSuggestedSize = this._suggestedBitmapSize;\n this._suggestedBitmapSize = null;\n this._resizeBitmap(oldSuggestedSize);\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, this._suggestedBitmapSize);\n };\n DevicePixelContentBoxBinding.prototype._resizeBitmap = function (newSize) {\n var oldSize = this.bitmapSize;\n if (equalSizes(oldSize, newSize)) {\n return;\n }\n this.canvasElement.width = newSize.width;\n this.canvasElement.height = newSize.height;\n this._emitBitmapSizeChanged(oldSize, newSize);\n };\n DevicePixelContentBoxBinding.prototype._emitBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._bitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._suggestNewBitmapSize = function (newSize) {\n var oldSuggestedSize = this._suggestedBitmapSize;\n var finalNewSize = size(this._transformBitmapSize(newSize, this._canvasElementClientSize));\n var newSuggestedSize = equalSizes(this.bitmapSize, finalNewSize) ? null : finalNewSize;\n if (oldSuggestedSize === null && newSuggestedSize === null) {\n return;\n }\n if (oldSuggestedSize !== null && newSuggestedSize !== null\n && equalSizes(oldSuggestedSize, newSuggestedSize)) {\n return;\n }\n this._suggestedBitmapSize = newSuggestedSize;\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, newSuggestedSize);\n };\n DevicePixelContentBoxBinding.prototype._emitSuggestedBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._suggestedBitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._chooseAndInitObserver = function () {\n var _this = this;\n if (!this._allowResizeObserver) {\n this._initDevicePixelRatioObservable();\n return;\n }\n isDevicePixelContentBoxSupported()\n .then(function (isSupported) {\n return isSupported ?\n _this._initResizeObserver() :\n _this._initDevicePixelRatioObservable();\n });\n };\n // devicePixelRatio approach\n DevicePixelContentBoxBinding.prototype._initDevicePixelRatioObservable = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n throw new Error('No window is associated with the canvas');\n }\n this._devicePixelRatioObservable = createDevicePixelRatioObservable(win);\n this._devicePixelRatioObservable.subscribe(function () { return _this._invalidateBitmapSize(); });\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype._invalidateBitmapSize = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n return;\n }\n var ratio = (_b = (_a = this._devicePixelRatioObservable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : win.devicePixelRatio;\n var canvasRects = this._canvasElement.getClientRects();\n var newSize = \n // eslint-disable-next-line no-negated-condition\n canvasRects[0] !== undefined ?\n predictedBitmapSize(canvasRects[0], ratio) :\n size({\n width: this._canvasElementClientSize.width * ratio,\n height: this._canvasElementClientSize.height * ratio,\n });\n this._suggestNewBitmapSize(newSize);\n };\n // ResizeObserver approach\n DevicePixelContentBoxBinding.prototype._initResizeObserver = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n this._canvasElementResizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (entry) { return entry.target === _this._canvasElement; });\n if (!entry || !entry.devicePixelContentBoxSize || !entry.devicePixelContentBoxSize[0]) {\n return;\n }\n var entrySize = entry.devicePixelContentBoxSize[0];\n var newSize = size({\n width: entrySize.inlineSize,\n height: entrySize.blockSize,\n });\n _this._suggestNewBitmapSize(newSize);\n });\n this._canvasElementResizeObserver.observe(this._canvasElement, { box: 'device-pixel-content-box' });\n };\n return DevicePixelContentBoxBinding;\n}());\nexport function bindTo(canvasElement, target) {\n if (target.type === 'device-pixel-content-box') {\n return new DevicePixelContentBoxBinding(canvasElement, target.transform, target.options);\n }\n throw new Error('Unsupported binding target');\n}\nfunction canvasElementWindow(canvasElement) {\n // According to DOM Level 2 Core specification, ownerDocument should never be null for HTMLCanvasElement\n // see https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return canvasElement.ownerDocument.defaultView;\n}\nfunction isDevicePixelContentBoxSupported() {\n return new Promise(function (resolve) {\n var ro = new ResizeObserver(function (entries) {\n resolve(entries.every(function (entry) { return 'devicePixelContentBoxSize' in entry; }));\n ro.disconnect();\n });\n ro.observe(document.body, { box: 'device-pixel-content-box' });\n })\n .catch(function () { return false; });\n}\nfunction predictedBitmapSize(canvasRect, ratio) {\n return size({\n width: Math.round(canvasRect.left * ratio + canvasRect.width * ratio) -\n Math.round(canvasRect.left * ratio),\n height: Math.round(canvasRect.top * ratio + canvasRect.height * ratio) -\n Math.round(canvasRect.top * ratio),\n });\n}\n","/**\n * @experimental\n */\nvar CanvasRenderingTarget2D = /** @class */ (function () {\n function CanvasRenderingTarget2D(context, mediaSize, bitmapSize) {\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n throw new TypeError('Rendering target could only be created on a media with positive width and height');\n }\n this._mediaSize = mediaSize;\n // !Number.isInteger(bitmapSize.width) || !Number.isInteger(bitmapSize.height)\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n throw new TypeError('Rendering target could only be created using a bitmap with positive integer width and height');\n }\n this._bitmapSize = bitmapSize;\n this._context = context;\n }\n CanvasRenderingTarget2D.prototype.useMediaCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n });\n }\n finally {\n this._context.restore();\n }\n };\n CanvasRenderingTarget2D.prototype.useBitmapCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n bitmapSize: this._bitmapSize,\n horizontalPixelRatio: this._horizontalPixelRatio,\n verticalPixelRatio: this._verticalPixelRatio,\n });\n }\n finally {\n this._context.restore();\n }\n };\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_horizontalPixelRatio\", {\n get: function () {\n return this._bitmapSize.width / this._mediaSize.width;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_verticalPixelRatio\", {\n get: function () {\n return this._bitmapSize.height / this._mediaSize.height;\n },\n enumerable: false,\n configurable: true\n });\n return CanvasRenderingTarget2D;\n}());\nexport { CanvasRenderingTarget2D };\n/**\n * @experimental\n */\nexport function createCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n var bitmapSize = binding.bitmapSize;\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n throw new Error('Could not get 2d drawing context from bound canvas element. Has the canvas already been set to a different context mode?');\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n/**\n * @experimental\n */\nexport function tryCreateCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n return null;\n }\n var bitmapSize = binding.bitmapSize;\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n return null;\n }\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n return null;\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n","/*!\n * @license\n * TradingView Lightweight Charts™ v4.2.3\n * Copyright (c) 2025 TradingView, Inc.\n * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0\n */\nimport{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from\"fancy-canvas\";const e={upColor:\"#26a69a\",downColor:\"#ef5350\",wickVisible:!0,borderVisible:!0,borderColor:\"#378658\",borderUpColor:\"#26a69a\",borderDownColor:\"#ef5350\",wickColor:\"#737375\",wickUpColor:\"#26a69a\",wickDownColor:\"#ef5350\"},r={upColor:\"#26a69a\",downColor:\"#ef5350\",openVisible:!0,thinBars:!0},h={color:\"#2196f3\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},l={topColor:\"rgba( 46, 220, 135, 0.4)\",bottomColor:\"rgba( 40, 221, 100, 0)\",invertFilledArea:!1,lineColor:\"#33D778\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},a={baseValue:{type:\"price\",price:0},topFillColor1:\"rgba(38, 166, 154, 0.28)\",topFillColor2:\"rgba(38, 166, 154, 0.05)\",topLineColor:\"rgba(38, 166, 154, 1)\",bottomFillColor1:\"rgba(239, 83, 80, 0.05)\",bottomFillColor2:\"rgba(239, 83, 80, 0.28)\",bottomLineColor:\"rgba(239, 83, 80, 1)\",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},o={color:\"#26a69a\",base:0},_={color:\"#2196f3\"},u={title:\"\",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:\"\",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:\"#B2B5BE\",baseLineStyle:0,priceFormat:{type:\"price\",precision:2,minMove:.01}};var c,d;function f(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function v(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function p(t,i){if(!t)throw new Error(\"Assertion failed\"+(i?\": \"+i:\"\"))}function m(t){if(void 0===t)throw new Error(\"Value is undefined\");return t}function b(t){if(null===t)throw new Error(\"Value is null\");return t}function w(t){return b(m(t))}!function(t){t[t.Simple=0]=\"Simple\",t[t.WithSteps=1]=\"WithSteps\",t[t.Curved=2]=\"Curved\"}(c||(c={})),function(t){t[t.Solid=0]=\"Solid\",t[t.Dotted=1]=\"Dotted\",t[t.Dashed=2]=\"Dashed\",t[t.LargeDashed=3]=\"LargeDashed\",t[t.SparseDotted=4]=\"SparseDotted\"}(d||(d={}));const g={khaki:\"#f0e68c\",azure:\"#f0ffff\",aliceblue:\"#f0f8ff\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",gray:\"#808080\",green:\"#008000\",honeydew:\"#f0fff0\",floralwhite:\"#fffaf0\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lemonchiffon:\"#fffacd\",hotpink:\"#ff69b4\",lightyellow:\"#ffffe0\",greenyellow:\"#adff2f\",lightgoldenrodyellow:\"#fafad2\",limegreen:\"#32cd32\",linen:\"#faf0e6\",lightcyan:\"#e0ffff\",magenta:\"#f0f\",maroon:\"#800000\",olive:\"#808000\",orange:\"#ffa500\",oldlace:\"#fdf5e6\",mediumblue:\"#0000cd\",transparent:\"#0000\",lime:\"#0f0\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",midnightblue:\"#191970\",orchid:\"#da70d6\",mediumorchid:\"#ba55d3\",mediumturquoise:\"#48d1cc\",orangered:\"#ff4500\",royalblue:\"#4169e1\",powderblue:\"#b0e0e6\",red:\"#f00\",coral:\"#ff7f50\",turquoise:\"#40e0d0\",white:\"#fff\",whitesmoke:\"#f5f5f5\",wheat:\"#f5deb3\",teal:\"#008080\",steelblue:\"#4682b4\",bisque:\"#ffe4c4\",aquamarine:\"#7fffd4\",aqua:\"#0ff\",sienna:\"#a0522d\",silver:\"#c0c0c0\",springgreen:\"#00ff7f\",antiquewhite:\"#faebd7\",burlywood:\"#deb887\",brown:\"#a52a2a\",beige:\"#f5f5dc\",chocolate:\"#d2691e\",chartreuse:\"#7fff00\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cadetblue:\"#5f9ea0\",tomato:\"#ff6347\",fuchsia:\"#f0f\",blue:\"#00f\",salmon:\"#fa8072\",blanchedalmond:\"#ffebcd\",slateblue:\"#6a5acd\",slategray:\"#708090\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",blueviolet:\"#8a2be2\",black:\"#000\",darkmagenta:\"#8b008b\",darkslateblue:\"#483d8b\",darkkhaki:\"#bdb76b\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkgreen:\"#006400\",darkred:\"#8b0000\",dodgerblue:\"#1e90ff\",darkslategray:\"#2f4f4f\",dimgray:\"#696969\",deepskyblue:\"#00bfff\",firebrick:\"#b22222\",forestgreen:\"#228b22\",indigo:\"#4b0082\",ivory:\"#fffff0\",lavenderblush:\"#fff0f5\",feldspar:\"#d19275\",indianred:\"#cd5c5c\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslateblue:\"#8470ff\",snow:\"#fffafa\",lightseagreen:\"#20b2aa\",lightsalmon:\"#ffa07a\",darksalmon:\"#e9967a\",darkviolet:\"#9400d3\",mediumpurple:\"#9370d8\",mediumaquamarine:\"#66cdaa\",skyblue:\"#87ceeb\",lavender:\"#e6e6fa\",lightsteelblue:\"#b0c4de\",mediumvioletred:\"#c71585\",mintcream:\"#f5fffa\",navajowhite:\"#ffdead\",navy:\"#000080\",olivedrab:\"#6b8e23\",palevioletred:\"#d87093\",violetred:\"#d02090\",yellow:\"#ff0\",yellowgreen:\"#9acd32\",lawngreen:\"#7cfc00\",pink:\"#ffc0cb\",paleturquoise:\"#afeeee\",palegoldenrod:\"#eee8aa\",darkolivegreen:\"#556b2f\",darkseagreen:\"#8fbc8f\",darkturquoise:\"#00ced1\",peachpuff:\"#ffdab9\",deeppink:\"#ff1493\",violet:\"#ee82ee\",palegreen:\"#98fb98\",mediumseagreen:\"#3cb371\",peru:\"#cd853f\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",purple:\"#800080\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",papayawhip:\"#ffefd5\",mediumslateblue:\"#7b68ee\",plum:\"#dda0dd\",mediumspringgreen:\"#00fa9a\"};function M(t){return t<0?0:t>255?255:Math.round(t)||0}function x(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const S=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,k=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,y=/^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/,C=/^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;function T(t){(t=t.toLowerCase())in g&&(t=g[t]);{const i=C.exec(t)||y.exec(t);if(i)return[M(parseInt(i[1],10)),M(parseInt(i[2],10)),M(parseInt(i[3],10)),x(i.length<5?1:parseFloat(i[4]))]}{const i=k.exec(t);if(i)return[M(parseInt(i[1],16)),M(parseInt(i[2],16)),M(parseInt(i[3],16)),1]}{const i=S.exec(t);if(i)return[M(17*parseInt(i[1],16)),M(17*parseInt(i[2],16)),M(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function P(t){return.199*t[0]+.687*t[1]+.114*t[2]}function R(t){const i=T(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:P(i)>160?\"black\":\"white\"}}class D{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function V(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&![\"__proto__\",\"constructor\",\"prototype\"].includes(i)&&(\"object\"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:V(t[i],n[i]));return t}function O(t){return\"number\"==typeof t&&isFinite(t)}function B(t){return\"number\"==typeof t&&t%1==0}function A(t){return\"string\"==typeof t}function I(t){return\"boolean\"==typeof t}function z(t){const i=t;if(!i||\"object\"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&\"object\"==typeof e?z(e):e);return n}function L(t){return null!==t}function E(t){return null===t?void 0:t}const N=\"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";function F(t,i,n){return void 0===i&&(i=N),`${n=void 0!==n?`${n} `:\"\"}${t}px ${i}`}class W{constructor(t){this.k={C:1,T:5,P:NaN,R:\"\",D:\"\",V:\"\",O:\"\",B:0,A:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=F(i,n),t.L=2.5/12*i,t.B=t.L,t.A=i/12*t.T,t.I=i/12*t.T,t.N=0),t.V=this.$(),t.O=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class j{constructor(){this.Y=[]}Z(t){this.Y=t}X(t,i,n){this.Y.forEach((s=>{s.X(t,i,n)}))}}class H{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.K(t,i,n)))}}class $ extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function U(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:\"\",rt:\"\",ht:0,et:0,tt:null}}const q={from:0,to:1};class Y{constructor(t,i){this.ut=new j,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.Z(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(U),this.ct=this.dt.map((t=>{const i=new $;return i.J(t),i})),this.ut.Z(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.kt(n);if(t||null===l||!i.yt())return void(h.tt=null);const a=b(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Vt),h.rt=null!==(r=l.Ot)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().At()),h.it[0].ot=n,h.it[0].nt=s.It(n),h.tt=q}))}}class Z extends H{constructor(t){super(),this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=this.zt.Lt.yt,r=this.zt.Et.yt;if(!e&&!r)return;const h=Math.round(this.zt.nt*n),l=Math.round(this.zt.st*s);t.lineCap=\"butt\",e&&h>=0&&(t.lineWidth=Math.floor(this.zt.Lt.et*n),t.strokeStyle=this.zt.Lt.V,t.fillStyle=this.zt.Lt.V,f(t,this.zt.Lt.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.zt.Et.et*s),t.strokeStyle=this.zt.Et.V,t.fillStyle=this.zt.Et.V,f(t,this.zt.Et.Nt),v(t,l,0,i.width))}}class X{constructor(t){this.ft=!0,this.Ft={Lt:{et:1,Nt:0,V:\"\",yt:!1},Et:{et:1,Nt:0,V:\"\",yt:!1},nt:0,st:0},this.Wt=new Z(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.yt(),i=b(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Et.yt=!1,void(s.Lt.yt=!1);s.Et.yt=t&&this.jt.Ut(i),s.Lt.yt=t&&this.jt.qt(),s.Et.et=n.horzLine.width,s.Et.Nt=n.horzLine.style,s.Et.V=n.horzLine.color,s.Lt.et=n.vertLine.width,s.Lt.Nt=n.vertLine.style,s.Lt.V=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Zt()}}function K(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function G(t,i,n,s,e,r){t.save(),t.globalCompositeOperation=\"copy\",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function J(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function Q(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=\"\"){if(t.save(),!h||!a||a===r)return J(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;J(t,i+o,n+o,s-h,e-h,(_=-o,l.map((t=>0===t?t:t+_)))),\"transparent\"!==r&&(t.fillStyle=r,t.fill()),\"transparent\"!==a&&(t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()),t.restore()}function tt(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation=\"copy\";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class it{constructor(t,i){this.J(t,i)}J(t,i){this.zt=t,this.Xt=i}At(t,i){return this.zt.yt?t.P+t.L+t.B:0}X(t,i,n,s){if(!this.zt.yt||0===this.zt.Kt.length)return;const e=this.zt.V,r=this.Xt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt;return l.Qt?Q(h,a.ti,a.ii,a.ni,a.si,r,a.ei,[a.ht,0,0,a.ht],r):Q(h,a.ri,a.ii,a.ni,a.si,r,a.ei,[0,a.ht,a.ht,0],r),this.zt.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),this.zt._i&&(h.fillStyle=i.O,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?\"right\":\"left\",t.textBaseline=\"middle\",t.fillStyle=e,t.fillText(this.zt.Kt,n.fi,(n.ii+n.ci)/2+n.pi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.zt.hi||!this.zt.mi?i.T:0,u=this.zt.bi?i.C:0,c=i.L+this.Xt.wi,d=i.B+this.Xt.gi,f=i.A,v=i.I,p=this.zt.Kt,m=i.P,b=n.Mi(r,p),w=Math.ceil(n.xi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const k=u>0?Math.max(1,Math.floor(u*a)):0,y=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Xt.Si)&&void 0!==e?e:this.Xt.ki,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,V=\"right\"===s,O=V?l.width-u:u,B=V?h.width-k:k;let A,I,z;return V?(A=B-y,I=B-C,z=O-_-f-u):(A=B+y,I=B+C,z=O+_+f),{Qt:V,Jt:{ii:R,li:P,ci:D,ni:y,si:S,ht:2*a,ei:k,ti:A,ri:B,ai:I,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:z,pi:b}}}}class nt{constructor(t){this.yi={ki:0,t:\"#000\",gi:0,wi:0},this.Ci={Kt:\"\",yt:!1,hi:!0,mi:!1,Ot:\"\",V:\"#FFF\",_i:!1,bi:!1},this.Ti={Kt:\"\",yt:!1,hi:!1,mi:!0,Ot:\"\",V:\"#FFF\",_i:!0,bi:!0},this.ft=!0,this.Pi=new(t||it)(this.Ci,this.yi),this.Ri=new(t||it)(this.Ti,this.yi)}Kt(){return this.Di(),this.Ci.Kt}ki(){return this.Di(),this.yi.ki}bt(){this.ft=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Vi(){return this.yi.Si||0}Oi(t){this.yi.Si=t}Bi(){return this.Di(),this.Ci.yt||this.Ti.yt}Ai(){return this.Di(),this.Ci.yt}gt(t){return this.Di(),this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.hi=this.Ti.hi&&t.W().ticksVisible,this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Pi}Ii(){return this.Di(),this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Ri}Di(){this.ft&&(this.Ci.hi=!0,this.Ti.hi=!1,this.zi(this.Ci,this.Ti,this.yi))}}class st extends nt{constructor(t,i,n){super(),this.jt=t,this.Li=i,this.Ei=n}zi(t,i,n){if(t.yt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Li.Ct();if(!this.jt.yt()||this.Li.Ni()||null===e)return;const r=R(s.labelBackgroundColor);n.t=r.t,t.V=r.i;const h=2/12*this.Li.P();n.wi=h,n.gi=h;const l=this.Ei(this.Li);n.ki=l.ki,t.Kt=this.Li.Fi(l._t,e),t.yt=!0}}const et=/[1-9]/g;class rt{constructor(){this.zt=null}J(t){this.zt=t}X(t,i){if(null===this.zt||!1===this.zt.yt||0===this.zt.Kt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Wi.xi(t,b(this.zt).Kt,et)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,h=this.zt.Hi;let l=this.zt.ki,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=b(this.zt);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.ki*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.V;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=b(this.zt),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign=\"left\",t.textBaseline=\"middle\",t.fillStyle=n.V;const r=i.Wi.Mi(t,\"Apr0\");t.translate(a+s,e+r),t.fillText(n.Kt,0,0)}))}}class ht{constructor(t,i,n){this.ft=!0,this.Wt=new rt,this.Ft={yt:!1,t:\"#4c525e\",V:\"white\",Kt:\"\",Hi:0,ki:NaN,hi:!0},this.vt=t,this.$i=i,this.Ei=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.yt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.$i.St();if(n.Ni())return;t.Hi=n.Hi();const s=this.Ei();if(null===s)return;t.ki=s.ki;const e=n.Ui(this.vt.xt());t.Kt=n.qi(b(e)),t.yt=!0;const r=R(i.labelBackgroundColor);t.t=r.t,t.V=r.i,t.hi=n.W().ticksVisible}}class lt{constructor(){this.Yi=null,this.Zi=0}Xi(){return this.Zi}Ki(t){this.Zi=t}Dt(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}yt(){return!0}}var at;!function(t){t[t.Normal=0]=\"Normal\",t[t.Magnet=1]=\"Magnet\",t[t.Hidden=2]=\"Hidden\"}(at||(at={}));class ot extends lt{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this._n=NaN,this.un=NaN,this.$i=t,this.cn=i,this.dn=new Y(t,this);this.fn=((t,i)=>n=>{const s=i(),e=t();if(n===b(this.tn).vn())return{_t:e,ki:s};{const t=b(n.Ct());return{_t:n.pn(s,t),ki:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.$i.St().mn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,ki:s}:null})((()=>this.sn),(()=>this.Yt()));this.bn=new ht(this,t,n),this.wn=new X(this)}W(){return this.cn}gn(t,i){this._n=t,this.un=i}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}xt(){return this.sn}Yt(){return this.ln}Zt(){return this.an}yt(){return this.en}Cn(){this.en=!1,this.Tn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.Mn()}Pn(t){return null!==this.tn?[this.wn,this.dn]:[]}Ut(t){return t===this.tn&&this.cn.horzLine.visible}qt(){return this.cn.vertLine.visible}Rn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Dn(this.rn,i,this.fn)),n}Qi(){return this.en?[this.bn]:[]}Ht(){return this.tn}Vn(){this.wn.bt(),this.rn.forEach((t=>t.bt())),this.bn.bt(),this.dn.bt()}On(t){return t&&!t.vn().Ni()?t.vn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Vn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.$i.St().It(t),this.tn=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Rt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Tn(){const t=this.$i.wt().map((t=>t.In().An())).filter(L),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Dn(t,i,n){let s=t.get(i);return void 0===s&&(s=new st(this,i,n),t.set(i,s)),s}}function _t(t){return\"left\"===t||\"right\"===t}class ut{constructor(t){this.zn=new Map,this.Ln=[],this.En=t}Nn(t,i){const n=function(t,i){return void 0===t?i:{Fn:Math.max(t.Fn,i.Fn),Wn:t.Wn||i.Wn}}(this.zn.get(t),i);this.zn.set(t,n)}jn(){return this.En}Hn(t){const i=this.zn.get(t);return void 0===i?{Fn:this.En}:{Fn:Math.max(this.En,i.Fn),Wn:i.Wn}}$n(){this.Un(),this.Ln=[{qn:0}]}Yn(t){this.Un(),this.Ln=[{qn:1,Vt:t}]}Zn(t){this.Xn(),this.Ln.push({qn:5,Vt:t})}Un(){this.Xn(),this.Ln.push({qn:6})}Kn(){this.Un(),this.Ln=[{qn:4}]}Gn(t){this.Un(),this.Ln.push({qn:2,Vt:t})}Jn(t){this.Un(),this.Ln.push({qn:3,Vt:t})}Qn(){return this.Ln}ts(t){for(const i of t.Ln)this.ns(i);this.En=Math.max(this.En,t.En),t.zn.forEach(((t,i)=>{this.Nn(i,t)}))}static ss(){return new ut(2)}static es(){return new ut(3)}ns(t){switch(t.qn){case 0:this.$n();break;case 1:this.Yn(t.Vt);break;case 2:this.Gn(t.Vt);break;case 3:this.Jn(t.Vt);break;case 4:this.Kn();break;case 5:this.Zn(t.Vt);break;case 6:this.Xn()}}Xn(){const t=this.Ln.findIndex((t=>5===t.qn));-1!==t&&this.Ln.splice(t,1)}}const ct=\".\";function dt(t,i){if(!O(t))return\"n/a\";if(!B(i))throw new TypeError(\"invalid length\");if(i<0||i>16)throw new TypeError(\"invalid length\");if(0===i)return t.toString();return(\"0000000000000000\"+t.toString()).slice(-i)}class ft{constructor(t,i){if(i||(i=1),O(t)&&B(t)||(t=100),t<0)throw new TypeError(\"invalid base\");this.Li=t,this.rs=i,this.hs()}format(t){const i=t<0?\"−\":\"\";return t=Math.abs(t),i+this.ls(t)}hs(){if(this._s=0,this.Li>0&&this.rs>0){let t=this.Li;for(;t>1;)t/=10,this._s++}}ls(t){const i=this.Li/this.rs;let n=Math.floor(t),s=\"\";const e=void 0!==this._s?this._s:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this._s);r>=i&&(r-=i,n+=1),s=ct+dt(+r.toFixed(this._s)*this.rs,e)}else n=Math.round(n*i)/i,e>0&&(s=ct+dt(0,e));return n.toFixed(0)+s}}class vt extends ft{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class pt{constructor(t){this.us=t}format(t){let i=\"\";return t<0&&(i=\"-\",t=-t),t<995?i+this.cs(t):t<999995?i+this.cs(t/1e3)+\"K\":t<999999995?(t=1e3*Math.round(t/1e3),i+this.cs(t/1e6)+\"M\"):(t=1e6*Math.round(t/1e6),i+this.cs(t/1e9)+\"B\")}cs(t){let i;const n=Math.pow(10,this.us);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.us).replace(/\\.?0+$/,\"\"):String(t),i.replace(/(\\.[1-9]*)0+$/,((t,i)=>i))}}function mt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h<s.to;++h){d=i[h];const s=r(t,d);switch(n){case 0:l.lineTo(d.nt*a,d.st*o);break;case 1:l.lineTo(d.nt*a,i[h-1].st*o),s!==u&&(e(s,d),l.lineTo(d.nt*a,i[h-1].st*o)),l.lineTo(d.nt*a,d.st*o);break;case 2:{const[t,n]=Mt(i,h-1,h);l.bezierCurveTo(t.nt*a,t.st*o,n.nt*a,n.st*o,d.nt*a,d.st*o);break}}1!==n&&s!==u&&(e(s,d),l.moveTo(d.nt*a,d.st*o))}(c!==d||c===d&&1===n)&&h(t,u,c,d)}}const bt=6;function wt(t,i){return{nt:t.nt-i.nt,st:t.st-i.st}}function gt(t,i){return{nt:t.nt/i,st:t.st/i}}function Mt(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=gt(wt(t[n],t[s]),bt),{nt:r.nt+h.nt,st:r.st+h.st}),wt(t[n],gt(wt(t[e],t[i]),bt))]}function xt(t,i,n,s,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.nt*h,t*l),r.lineTo(s.nt*h,t*l),r.closePath(),r.fillStyle=n,r.fill()}class St extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){var i;if(null===this.G)return;const{it:n,tt:s,ds:e,et:r,Nt:h,fs:l}=this.G,a=null!==(i=this.G.vs)&&void 0!==i?i:this.G.ps?0:t.mediaSize.height;if(null===s)return;const o=t.context;o.lineCap=\"butt\",o.lineJoin=\"round\",o.lineWidth=r,f(o,h),o.lineWidth=1,mt(t,n,l,s,e,this.bs.bind(this),xt.bind(null,a))}}function kt(t,i,n){return Math.min(Math.max(t,i),n)}function yt(t,i,n){return i-t<=n}function Ct(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Tt{ws(t,i){const n=this.gs,{Ms:s,xs:e,Ss:r,ks:h,ys:l,vs:a}=i;if(void 0===this.Cs||void 0===n||n.Ms!==s||n.xs!==e||n.Ss!==r||n.ks!==h||n.vs!==a||n.ys!==l){const n=t.context.createLinearGradient(0,0,0,l);if(n.addColorStop(0,s),null!=a){const i=kt(a*t.verticalPixelRatio/l,0,1);n.addColorStop(i,e),n.addColorStop(i,r)}n.addColorStop(1,h),this.Cs=n,this.gs=i}return this.Cs}}class Pt extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){return this.Ts.ws(t,{Ms:i.Ps,xs:\"\",Ss:\"\",ks:i.Rs,ys:t.bitmapSize.height})}}function Rt(t,i){const n=t.context;n.strokeStyle=i,n.stroke()}class Dt extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){if(null===this.G)return;const{it:i,tt:n,ds:s,fs:e,et:r,Nt:h,Ds:l}=this.G;if(null===n)return;const a=t.context;a.lineCap=\"butt\",a.lineWidth=r*t.verticalPixelRatio,f(a,h),a.lineJoin=\"round\";const o=this.Vs.bind(this);void 0!==e&&mt(t,i,e,n,s,o,Rt),l&&function(t,i,n,s,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Vt extends Dt{Vs(t,i){return i.lt}}function Ot(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Ot.bind(null,!0),At=Ot.bind(null,!1);function It(t,i){return t.ot<i}function zt(t,i){return i<t.ot}function Lt(t,i,n){const s=i.Os(),e=i.ui(),r=Bt(t,s,It),h=At(t,e,zt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].ot>=s&&(l=r-1),h>0&&h<t.length&&t[h-1].ot<=e&&(a=h+1),{from:l,to:a}}class Et{constructor(t,i,n){this.Bs=!0,this.As=!0,this.Is=!0,this.zs=[],this.Ls=null,this.Es=t,this.Ns=i,this.Fs=n}bt(t){this.Bs=!0,\"data\"===t&&(this.As=!0),\"options\"===t&&(this.Is=!0)}gt(){return this.Es.yt()?(this.Ws(),null===this.Ls?null:this.js):null}Hs(){this.zs=this.zs.map((t=>Object.assign(Object.assign({},t),this.Es.Us().$s(t.ot))))}qs(){this.Ls=null}Ws(){this.As&&(this.Ys(),this.As=!1),this.Is&&(this.Hs(),this.Is=!1),this.Bs&&(this.Zs(),this.Bs=!1)}Zs(){const t=this.Es.Dt(),i=this.Ns.St();if(this.qs(),i.Ni()||t.Ni())return;const n=i.Xs();if(null===n)return;if(0===this.Es.In().Ks())return;const s=this.Es.Ct();null!==s&&(this.Ls=Lt(this.zs,n,this.Fs),this.Gs(t,i,s.Vt),this.Js())}}class Nt extends Et{constructor(t,i){super(t,i,!0)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.te(this.zs,n,E(this.Ls))}ie(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>{const n=i.Vt[3];return this.se(i.ee,n,t)}))}}class Ft extends Nt{constructor(t,i){super(t,i),this.js=new j,this.re=new Pt,this.he=new Vt,this.js.Z([this.re,this.he])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W();this.re.J({fs:t.lineType,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,vs:null,ps:t.invertFilledArea,tt:this.Ls,ds:this.Ns.St().le()}),this.he.J({fs:t.lineVisible?t.lineType:void 0,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Ls,ds:this.Ns.St().le(),Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Wt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0,this.oe=0}J(t){this.zt=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;if(this.ae=this._e(i),this.ae>=2){Math.max(1,Math.floor(i))%2!=this.ae%2&&this.ae--}this.oe=this.zt.ue?Math.min(this.ae,Math.floor(i)):this.ae;let s=null;const e=this.oe<=this.ae&&this.zt.le>=Math.floor(1.5*i);for(let r=this.zt.tt.from;r<this.zt.tt.to;++r){const h=this.zt.In[r];s!==h.ce&&(t.fillStyle=h.ce,s=h.ce);const l=Math.floor(.5*this.oe),a=Math.round(h.nt*i),o=a-l,_=this.oe,u=o+_-1,c=Math.min(h.de,h.fe),d=Math.max(h.de,h.fe),f=Math.round(c*n)-l,v=Math.round(d*n)+l,p=Math.max(v-f,this.oe);t.fillRect(o,f,_,p);const m=Math.ceil(1.5*this.ae);if(e){if(this.zt.ve){const i=a-m;let s=Math.max(f,Math.round(h.pe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.me*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}_e(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(b(this.zt).le,t)))}}class jt extends Et{constructor(t,i){super(t,i,!1)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.be(this.zs,n,E(this.Ls))}we(t,i,n){return{ot:t,ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3],nt:NaN,pe:NaN,de:NaN,fe:NaN,me:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>this.se(i.ee,i,t)))}}class Ht extends jt{constructor(){super(...arguments),this.js=new Wt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),ve:t.openVisible,ue:t.thinBars,tt:this.Ls})}}class $t extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){const n=this.G;return this.Ts.ws(t,{Ms:i.ke,xs:i.ye,Ss:i.Ce,ks:i.Te,ys:t.bitmapSize.height,vs:n.vs})}}class Ut extends Dt{constructor(){super(...arguments),this.Pe=new Tt}Vs(t,i){const n=this.G;return this.Pe.ws(t,{Ms:i.Re,xs:i.Re,Ss:i.De,ks:i.De,ys:t.bitmapSize.height,vs:n.vs})}}class qt extends Nt{constructor(t,i){super(t,i),this.js=new j,this.Ve=new $t,this.Oe=new Ut,this.js.Z([this.Ve,this.Oe])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.Ct();if(null===t)return;const i=this.Es.W(),n=this.Es.Dt().Rt(i.baseValue.price,t.Vt),s=this.Ns.St().le();this.Ve.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineType,vs:n,ps:!1,tt:this.Ls,ds:s}),this.Oe.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineVisible?i.lineType:void 0,Ds:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,vs:n,tt:this.Ls,ds:s})}}class Yt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0}J(t){this.zt=t}K(t){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;const{horizontalPixelRatio:i}=t;if(this.ae=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.zt.le,i),this.ae>=2){Math.floor(i)%2!=this.ae%2&&this.ae--}const n=this.zt.In;this.zt.Be&&this.Ae(t,n,this.zt.tt),this.zt._i&&this.Ie(t,n,this.zt.tt);const s=this.ze(i);(!this.zt._i||this.ae>2*s)&&this.Le(t,n,this.zt.tt)}Ae(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\",l=Math.min(Math.floor(e),Math.floor(this.zt.le*e));l=Math.max(Math.floor(e),Math.min(l,this.ae));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ee!==h&&(s.fillStyle=n.Ee,h=n.Ee);const _=Math.round(Math.min(n.pe,n.me)*r),u=Math.round(Math.max(n.pe,n.me)*r),c=Math.round(n.de*r),d=Math.round(n.fe*r);let f=Math.round(e*n.nt)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;s.fillRect(f,c,p,_-c),s.fillRect(f,u+1,p,d-u),o=v}}ze(t){let i=Math.floor(1*t);this.ae<=2*i&&(i=Math.floor(.5*(this.ae-1)));const n=Math.max(Math.floor(t),i);return this.ae<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}Ie(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ne!==h&&(s.fillStyle=n.Ne,h=n.Ne);let o=Math.round(n.nt*e)-Math.floor(.5*this.ae);const _=o+this.ae-1,u=Math.round(Math.min(n.pe,n.me)*r),c=Math.round(Math.max(n.pe,n.me)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.zt.le*e>2*l)K(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Le(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.pe,n.me)*r),o=Math.round(Math.max(n.pe,n.me)*r),_=Math.round(n.nt*e)-Math.floor(.5*this.ae),u=_+this.ae-1;if(n.ce!==h){const t=n.ce;s.fillStyle=t,h=t}this.zt._i&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Zt extends jt{constructor(){super(...arguments),this.js=new Yt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),Be:t.wickVisible,_i:t.borderVisible,tt:this.Ls})}}class Xt{constructor(t,i){this.Fe=t,this.Li=i}X(t,i,n){this.Fe.draw(t,this.Li,i,n)}}class Kt extends Et{constructor(t,i,n){super(t,i,!1),this.wn=n,this.js=new Xt(this.wn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Vt)}))}We(t){return this.wn.priceValueBuilder(t)}je(t){return this.wn.isWhitespace(t)}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>Object.assign(Object.assign({ot:i.ee,nt:NaN},t.$s(i.ee)),{He:i.$e})))}Gs(t,i){i.Qs(this.zs,E(this.Ls))}Js(){this.wn.update({bars:this.zs.map(Gt),barSpacing:this.Ns.St().le(),visibleRange:this.Ls},this.Es.W())}}function Gt(t){return{x:t.nt,time:t.ot,originalData:t.He,barColor:t.ce}}class Jt extends H{constructor(){super(...arguments),this.zt=null,this.Ue=[]}J(t){this.zt=t,this.Ue=[]}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return;this.Ue.length||this.qe(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.zt.Ye*n)-Math.floor(s/2),r=e+s;for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const h=this.zt.it[i],l=this.Ue[i-this.zt.tt.from],a=Math.round(h.st*n);let o,_;t.fillStyle=h.ce,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Os,o,l.ui-l.Os+1,_-o)}}qe(t){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return void(this.Ue=[]);const i=Math.ceil(this.zt.le*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.zt.le*t)-i;this.Ue=new Array(this.zt.tt.to-this.zt.tt.from);for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const s=this.zt.it[i],e=Math.round(s.nt*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Ue[i-this.zt.tt.from]={Os:r,ui:h,Ze:e,Xe:s.nt*t,ot:s.ot}}for(let t=this.zt.tt.from+1;t<this.zt.tt.to;t++){const n=this.Ue[t-this.zt.tt.from],s=this.Ue[t-this.zt.tt.from-1];n.ot===s.ot+1&&(n.Os-s.ui!==i+1&&(s.Ze>s.Xe?s.ui=n.Os-i-1:n.Os=s.ui+i+1))}let s=Math.ceil(this.zt.le*t);for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui<i.Os&&(i.ui=i.Os);const n=i.ui-i.Os+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui-i.Os+1>s&&(i.Ze>i.Xe?i.ui-=1:i.Os+=1)}}}class Qt extends Nt{constructor(){super(...arguments),this.js=new Jt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t={it:this.zs,le:this.Ns.St().le(),tt:this.Ls,Ye:this.Es.Dt().Rt(this.Es.W().base,b(this.Es.Ct()).Vt)};this.js.J(t)}}class ti extends Nt{constructor(){super(...arguments),this.js=new Vt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W(),i={it:this.zs,Nt:t.lineStyle,fs:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Ls,ds:this.Ns.St().le()};this.js.J(i)}}const ii=/[2-9]/g;class ni{constructor(t=50){this.Ke=0,this.Ge=1,this.Je=1,this.Qe={},this.tr=new Map,this.ir=t}nr(){this.Ke=0,this.tr.clear(),this.Ge=1,this.Je=1,this.Qe={}}xi(t,i,n){return this.sr(t,i,n).width}Mi(t,i,n){const s=this.sr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}sr(t,i,n){const s=n||ii,e=String(i).replace(s,\"0\");if(this.tr.has(e))return m(this.tr.get(e)).er;if(this.Ke===this.ir){const t=this.Qe[this.Je];delete this.Qe[this.Je],this.tr.delete(t),this.Je++,this.Ke--}t.save(),t.textBaseline=\"middle\";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.tr.set(e,{er:r,rr:this.Ge}),this.Qe[this.Ge]=e,this.Ke++,this.Ge++),r}}class si{constructor(t){this.hr=null,this.k=null,this.lr=\"right\",this.ar=t}_r(t,i,n){this.hr=t,this.k=i,this.lr=n}X(t){null!==this.k&&null!==this.hr&&this.hr.X(t,this.k,this.ar,this.lr)}}class ei{constructor(t,i,n){this.ur=t,this.ar=new ni(50),this.cr=i,this.F=n,this.j=-1,this.Wt=new si(this.ar)}gt(){const t=this.F.dr(this.cr);if(null===t)return null;const i=t.vr(this.cr)?t.pr():this.cr.Dt();if(null===i)return null;const n=t.mr(i);if(\"overlay\"===n)return null;const s=this.F.br();return s.P!==this.j&&(this.j=s.P,this.ar.nr()),this.Wt._r(this.ur.Ii(),s,n),this.Wt}}class ri extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}wr(t,i){var n;if(!(null===(n=this.zt)||void 0===n?void 0:n.yt))return null;const{st:s,et:e,gr:r}=this.zt;return i>=s-e-7&&i<=s+e+7?{Mr:this.zt,gr:r}:null}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;if(!1===this.zt.yt)return;const e=Math.round(this.zt.st*s);e<0||e>i.height||(t.lineCap=\"butt\",t.strokeStyle=this.zt.V,t.lineWidth=Math.floor(this.zt.et*n),f(t,this.zt.Nt),v(t,e,0,i.width))}}class hi{constructor(t){this.Sr={st:0,V:\"rgba(0, 0, 0, 0)\",et:1,Nt:0,yt:!1},this.kr=new ri,this.ft=!0,this.Es=t,this.Ns=t.$t(),this.kr.J(this.Sr)}bt(){this.ft=!0}gt(){return this.Es.yt()?(this.ft&&(this.yr(),this.ft=!1),this.kr):null}}class li extends hi{constructor(t){super(t)}yr(){this.Sr.yt=!1;const t=this.Es.Dt(),i=t.Cr().Cr;if(2!==i&&3!==i)return;const n=this.Es.W();if(!n.baseLineVisible||!this.Es.yt())return;const s=this.Es.Ct();null!==s&&(this.Sr.yt=!0,this.Sr.st=t.Rt(s.Vt,s.Vt),this.Sr.V=n.baseLineColor,this.Sr.et=n.baseLineWidth,this.Sr.Nt=n.baseLineStyle)}}class ai extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}$e(){return this.zt}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.zt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Xe.x*i)+r,l=s.Xe.y*n;t.fillStyle=s.Tr,t.beginPath();const a=Math.max(2,1.5*s.Pr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Rr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Dr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const oi=[{Vr:0,Or:.25,Br:4,Ar:10,Ir:.25,zr:0,Lr:.4,Er:.8},{Vr:.25,Or:.525,Br:10,Ar:14,Ir:0,zr:0,Lr:.8,Er:0},{Vr:.525,Or:1,Br:14,Ar:14,Ir:0,zr:0,Lr:0,Er:0}];function _i(t,i,n,s){return function(t,i){if(\"transparent\"===t)return t;const n=T(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function ui(t,i){const n=t%2600/2600;let s;for(const t of oi)if(n>=t.Vr&&n<=t.Or){s=t;break}p(void 0!==s,\"Last price animation internal logic error\");const e=(n-s.Vr)/(s.Or-s.Vr);return{Rr:_i(i,e,s.Ir,s.zr),Dr:_i(i,e,s.Lr,s.Er),ht:(r=e,h=s.Br,l=s.Ar,h+(l-h)*r)};var r,h,l}class ci{constructor(t){this.Wt=new ai,this.ft=!0,this.Nr=!0,this.Fr=performance.now(),this.Wr=this.Fr-1,this.jr=t}Hr(){this.Wr=this.Fr-1,this.bt()}$r(){if(this.bt(),2===this.jr.W().lastPriceAnimation){const t=performance.now(),i=this.Wr-t;if(i>0)return void(i<650&&(this.Wr+=2600));this.Fr=t,this.Wr=t+2600}}bt(){this.ft=!0}Ur(){this.Nr=!0}yt(){return 0!==this.jr.W().lastPriceAnimation}qr(){switch(this.jr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Wr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Nr=!1):this.Nr&&(this.Yr(),this.Nr=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.jr.$t().St(),i=t.Xs(),n=this.jr.Ct();if(null===i||null===n)return;const s=this.jr.Zr(!0);if(s.Xr||!i.Kr(s.ee))return;const e={x:t.It(s.ee),y:this.jr.Dt().Rt(s._t,n.Vt)},r=s.V,h=this.jr.W().lineWidth,l=ui(this.Gr(),r);this.Wt.J({Tr:r,Pr:h,Rr:l.Rr,Dr:l.Dr,ht:l.ht,Xe:e})}Yr(){const t=this.Wt.$e();if(null!==t){const i=ui(this.Gr(),t.Tr);t.Rr=i.Rr,t.Dr=i.Dr,t.ht=i.ht}}Gr(){return this.qr()?performance.now()-this.Fr:2599}}function di(t,i){return Ct(Math.min(Math.max(t,12),30)*i)}function fi(t,i){switch(t){case\"arrowDown\":case\"arrowUp\":return di(i,1);case\"circle\":return di(i,.8);case\"square\":return di(i,.7)}}function vi(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(di(t,1))}function pi(t){return Math.max(di(t,.1),3)}function mi(t,i,n){return i?t:n?Math.ceil(t/2):0}function bi(t,i,n,s,e){const r=fi(\"square\",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function wi(t,i,n,s){const e=(fi(\"arrowUp\",s)-1)/2*n.Jr,r=(Ct(s/2)-1)/2*n.Jr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function gi(t,i,n,s,e,r){return bi(i,n,s,e,r)}class Mi extends H{constructor(){super(...arguments),this.zt=null,this.ar=new ni,this.j=-1,this.H=\"\",this.Qr=\"\"}J(t){this.zt=t}_r(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Qr=F(t,i),this.ar.nr())}wr(t,i){if(null===this.zt||null===this.zt.tt)return null;for(let n=this.zt.tt.from;n<this.zt.tt.to;n++){const s=this.zt.it[n];if(Si(s,t,i))return{Mr:s.th,gr:s.gr}}return null}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n},s,e){if(null!==this.zt&&null!==this.zt.tt){t.textBaseline=\"middle\",t.font=this.Qr;for(let s=this.zt.tt.from;s<this.zt.tt.to;s++){const e=this.zt.it[s];void 0!==e.Kt&&(e.Kt.Hi=this.ar.xi(t,e.Kt.ih),e.Kt.At=this.j,e.Kt.nt=e.nt-e.Kt.Hi/2),xi(e,t,i,n)}}}}function xi(t,i,n,s){i.fillStyle=t.V,void 0!==t.Kt&&function(t,i,n,s,e,r){t.save(),t.scale(e,r),t.fillText(i,n,s),t.restore()}(i,t.Kt.ih,t.Kt.nt,t.Kt.st,n,s),function(t,i,n){if(0===t.Ks)return;switch(t.nh){case\"arrowDown\":return void wi(!1,i,n,t.Ks);case\"arrowUp\":return void wi(!0,i,n,t.Ks);case\"circle\":return void function(t,i,n){const s=(fi(\"circle\",n)-1)/2;t.beginPath(),t.arc(i.nt,i.st,s*i.Jr,0,2*Math.PI,!1),t.fill()}(i,n,t.Ks);case\"square\":return void function(t,i,n){const s=fi(\"square\",n),e=(s-1)*i.Jr/2,r=i.nt-e,h=i.st-e;t.fillRect(r,h,s*i.Jr,s*i.Jr)}(i,n,t.Ks)}t.nh}(t,i,function(t,i,n){const s=Math.max(1,Math.floor(i))%2/2;return{nt:Math.round(t.nt*i)+s,st:t.st*n,Jr:i}}(t,n,s))}function Si(t,i,n){return!(void 0===t.Kt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Kt.nt,t.Kt.st,t.Kt.Hi,t.Kt.At,i,n))||function(t,i,n){if(0===t.Ks)return!1;switch(t.nh){case\"arrowDown\":case\"arrowUp\":return gi(0,t.nt,t.st,t.Ks,i,n);case\"circle\":return function(t,i,n,s,e){const r=2+fi(\"circle\",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ks,i,n);case\"square\":return bi(t.nt,t.st,t.Ks,i,n)}}(t,i,n)}function ki(t,i,n,s,e,r,h,l,a){const o=O(n)?n:n.Se,_=O(n)?n:n.Me,u=O(n)?n:n.xe,c=O(i.size)?Math.max(i.size,0):1,d=vi(l.le())*c,f=d/2;switch(t.Ks=d,i.position){case\"inBar\":return t.st=h.Rt(o,a),void(void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e));case\"aboveBar\":return t.st=h.Rt(_,a)-f-s.sh,void 0!==t.Kt&&(t.Kt.st=t.st-f-.6*e,s.sh+=1.2*e),void(s.sh+=d+r);case\"belowBar\":return t.st=h.Rt(u,a)+f+s.eh,void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e,s.eh+=1.2*e),void(s.eh+=d+r)}i.position}class yi{constructor(t,i){this.ft=!0,this.rh=!0,this.hh=!0,this.ah=null,this.oh=null,this.Wt=new Mi,this.jr=t,this.$i=i,this.zt={it:[],tt:null}}bt(t){this.ft=!0,this.hh=!0,\"data\"===t&&(this.rh=!0,this.oh=null)}gt(t){if(!this.jr.yt())return null;this.ft&&this._h();const i=this.$i.W().layout;return this.Wt._r(i.fontSize,i.fontFamily),this.Wt.J(this.zt),this.Wt}uh(){if(this.hh){if(this.jr.dh().length>0){const t=this.$i.St().le(),i=pi(t),n=1.5*vi(t)+2*i,s=this.fh();this.ah={above:mi(n,s.aboveBar,s.inBar),below:mi(n,s.belowBar,s.inBar)}}else this.ah=null;this.hh=!1}return this.ah}fh(){return null===this.oh&&(this.oh=this.jr.dh().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.oh}_h(){const t=this.jr.Dt(),i=this.$i.St(),n=this.jr.dh();this.rh&&(this.zt.it=n.map((t=>({ot:t.time,nt:0,st:0,Ks:0,nh:t.shape,V:t.color,th:t.th,gr:t.id,Kt:void 0}))),this.rh=!1);const s=this.$i.W().layout;this.zt.tt=null;const e=i.Xs();if(null===e)return;const r=this.jr.Ct();if(null===r)return;if(0===this.zt.it.length)return;let h=NaN;const l=pi(i.le()),a={sh:l,eh:l};this.zt.tt=Lt(this.zt.it,e,!0);for(let e=this.zt.tt.from;e<this.zt.tt.to;e++){const o=n[e];o.time!==h&&(a.sh=l,a.eh=l,h=o.time);const _=this.zt.it[e];_.nt=i.It(o.time),void 0!==o.text&&o.text.length>0&&(_.Kt={ih:o.text,nt:0,st:0,Hi:0,At:0});const u=this.jr.ph(o.time);null!==u&&ki(_,o,u,a,s.fontSize,l,t,i,r.Vt)}this.ft=!1}}class Ci extends hi{constructor(t){super(t)}yr(){const t=this.Sr;t.yt=!1;const i=this.Es.W();if(!i.priceLineVisible||!this.Es.yt())return;const n=this.Es.Zr(0===i.priceLineSource);n.Xr||(t.yt=!0,t.st=n.ki,t.V=this.Es.mh(n.V),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class Ti extends nt{constructor(t){super(),this.jt=t}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.jt;if(!s.yt())return;const e=s.W(),r=e.lastValueVisible,h=\"\"!==s.bh(),l=0===e.seriesLastValueMode,a=s.Zr(!1);if(a.Xr)return;r&&(t.Kt=this.wh(a,r,l),t.yt=0!==t.Kt.length),(h||l)&&(i.Kt=this.gh(a,r,h,l),i.yt=i.Kt.length>0);const o=s.mh(a.V),_=R(o);n.t=_.t,n.ki=a.ki,i.Ot=s.$t().Bt(a.ki/s.Dt().At()),t.Ot=o,t.V=_.i,i.V=_.i}gh(t,i,n,s){let e=\"\";const r=this.jt.bh();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().Mh()?t.xh:t.Sh),e.trim()}wh(t,i,n){return i?n?this.jt.Dt().Mh()?t.Sh:t.xh:t.Kt:\"\"}}function Pi(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class Ri{constructor(t,i){this.kh=t,this.yh=i}Ch(t){return null!==t&&(this.kh===t.kh&&this.yh===t.yh)}Th(){return new Ri(this.kh,this.yh)}Ph(){return this.kh}Rh(){return this.yh}Dh(){return this.yh-this.kh}Ni(){return this.yh===this.kh||Number.isNaN(this.yh)||Number.isNaN(this.kh)}ts(t){return null===t?this:new Ri(Pi(Math.min,this.Ph(),t.Ph(),-1/0),Pi(Math.max,this.Rh(),t.Rh(),1/0))}Vh(t){if(!O(t))return;if(0===this.yh-this.kh)return;const i=.5*(this.yh+this.kh);let n=this.yh-i,s=this.kh-i;n*=t,s*=t,this.yh=i+n,this.kh=i+s}Oh(t){O(t)&&(this.yh+=t,this.kh+=t)}Bh(){return{minValue:this.kh,maxValue:this.yh}}static Ah(t){return null===t?null:new Ri(t.minValue,t.maxValue)}}class Di{constructor(t,i){this.Ih=t,this.zh=i||null}Lh(){return this.Ih}Eh(){return this.zh}Bh(){return null===this.Ih?null:{priceRange:this.Ih.Bh(),margins:this.zh||void 0}}static Ah(t){return null===t?null:new Di(Ri.Ah(t.priceRange),t.margins)}}class Vi extends hi{constructor(t,i){super(t),this.Nh=i}yr(){const t=this.Sr;t.yt=!1;const i=this.Nh.W();if(!this.Es.yt()||!i.lineVisible)return;const n=this.Nh.Fh();null!==n&&(t.yt=!0,t.st=n,t.V=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.gr=this.Nh.W().id)}}class Oi extends nt{constructor(t,i){super(),this.jr=t,this.Nh=i}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.Nh.W(),e=s.axisLabelVisible,r=\"\"!==s.title,h=this.jr;if(!e||!h.yt())return;const l=this.Nh.Fh();if(null===l)return;r&&(i.Kt=s.title,i.yt=!0),i.Ot=h.$t().Bt(l/h.Dt().At()),t.Kt=this.Wh(s.price),t.yt=!0;const a=R(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.V=o,i.V=o,n.ki=l}Wh(t){const i=this.jr.Ct();return null===i?\"\":this.jr.Dt().Fi(t,i.Vt)}}class Bi{constructor(t,i){this.jr=t,this.cn=i,this.jh=new Vi(t,this),this.ur=new Oi(t,this),this.Hh=new ei(this.ur,t,t.$t())}$h(t){V(this.cn,t),this.bt(),this.jr.$t().Uh()}W(){return this.cn}qh(){return this.jh}Yh(){return this.Hh}Zh(){return this.ur}bt(){this.jh.bt(),this.ur.bt()}Fh(){const t=this.jr,i=t.Dt();if(t.$t().St().Ni()||i.Ni())return null;const n=t.Ct();return null===n?null:i.Rt(this.cn.price,n.Vt)}}class Ai extends lt{constructor(t){super(),this.$i=t}$t(){return this.$i}}const Ii={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=b(t(n,s)),a=w(l.Vt[0])<=w(l.Vt[3]);return{ce:null!==(e=l.V)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=b(t(n,s)),f=w(d.Vt[0])<=w(d.Vt[3]);return{ce:null!==(e=d.V)&&void 0!==e?e:f?l:a,Ne:null!==(r=d.Ot)&&void 0!==r?r:f?o:_,Ee:null!==(h=d.Xh)&&void 0!==h?h:f?u:c}},Custom:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=b(t(n,s));return{ce:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,Ps:null!==(h=a.Ps)&&void 0!==h?h:i.topColor,Rs:null!==(l=a.Rs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=b(t(n,s));return{ce:_.Vt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Re:null!==(e=_.Re)&&void 0!==e?e:i.topLineColor,De:null!==(r=_.De)&&void 0!==r?r:i.bottomLineColor,ke:null!==(h=_.ke)&&void 0!==h?h:i.topFillColor1,ye:null!==(l=_.ye)&&void 0!==l?l:i.topFillColor2,Ce:null!==(a=_.Ce)&&void 0!==a?a:i.bottomFillColor1,Te:null!==(o=_.Te)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=b(t(n,s));return{ce:null!==(e=h.V)&&void 0!==e?e:i.color,lt:null!==(r=h.V)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}}};class zi{constructor(t){this.Kh=(t,i)=>void 0!==i?i.Vt:this.jr.In().Gh(t),this.jr=t,this.Jh=Ii[t.Qh()]}$s(t,i){return this.Jh(this.Kh,this.jr.W(),t,i)}}var Li;!function(t){t[t.NearestLeft=-1]=\"NearestLeft\",t[t.None=0]=\"None\",t[t.NearestRight=1]=\"NearestRight\"}(Li||(Li={}));const Ei=30;class Ni{constructor(){this.tl=[],this.il=new Map,this.nl=new Map}sl(){return this.Ks()>0?this.tl[this.tl.length-1]:null}el(){return this.Ks()>0?this.rl(0):null}An(){return this.Ks()>0?this.rl(this.tl.length-1):null}Ks(){return this.tl.length}Ni(){return 0===this.Ks()}Kr(t){return null!==this.hl(t,0)}Gh(t){return this.ll(t)}ll(t,i=0){const n=this.hl(t,i);return null===n?null:Object.assign(Object.assign({},this.al(n)),{ee:this.rl(n)})}ne(){return this.tl}ol(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Fi(s,this._l(t,i,e))}return s}J(t){this.nl.clear(),this.il.clear(),this.tl=t}rl(t){return this.tl[t].ee}al(t){return this.tl[t]}hl(t,i){const n=this.ul(t);if(null===n&&0!==i)switch(i){case-1:return this.cl(t);case 1:return this.dl(t);default:throw new TypeError(\"Unknown search mode\")}return n}cl(t){let i=this.fl(t);return i>0&&(i-=1),i!==this.tl.length&&this.rl(i)<t?i:null}dl(t){const i=this.vl(t);return i!==this.tl.length&&t<this.rl(i)?i:null}ul(t){const i=this.fl(t);return i===this.tl.length||t<this.tl[i].ee?null:i}fl(t){return Bt(this.tl,t,((t,i)=>t.ee<i))}vl(t){return At(this.tl,t,((t,i)=>t.ee>i))}pl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.tl[e].Vt[n];Number.isNaN(t)||(null===s?s={ml:t,bl:t}:(t<s.ml&&(s.ml=t),t>s.bl&&(s.bl=t)))}return s}_l(t,i,n){if(this.Ni())return null;let s=null;const e=b(this.el()),r=b(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Ei)*Ei,o=Math.max(a,Math.floor(l/Ei)*Ei);{const t=this.fl(h),e=this.vl(Math.min(l,a,i));s=Fi(s,this.pl(t,e,n))}let _=this.il.get(n);void 0===_&&(_=new Map,this.il.set(n,_));for(let t=Math.max(a+1,h);t<o;t+=Ei){const i=Math.floor(t/Ei);let e=_.get(i);if(void 0===e){const t=this.fl(i*Ei),s=this.vl((i+1)*Ei-1);e=this.pl(t,s,n),_.set(i,e)}s=Fi(s,e)}{const t=this.fl(o),i=this.vl(l);s=Fi(s,this.pl(t,i,n))}return s}}function Fi(t,i){if(null===t)return i;if(null===i)return t;return{ml:Math.min(t.ml,i.ml),bl:Math.max(t.bl,i.bl)}}class Wi{constructor(t){this.wl=t}X(t,i,n){this.wl.draw(t)}gl(t,i,n){var s,e;null===(e=(s=this.wl).drawBackground)||void 0===e||e.call(s,t)}}class ji{constructor(t){this.tr=null,this.wn=t}gt(){var t;const i=this.wn.renderer();if(null===i)return null;if((null===(t=this.tr)||void 0===t?void 0:t.Ml)===i)return this.tr.xl;const n=new Wi(i);return this.tr={Ml:i,xl:n},n}Sl(){var t,i,n;return null!==(n=null===(i=(t=this.wn).zOrder)||void 0===i?void 0:i.call(t))&&void 0!==n?n:\"normal\"}}function Hi(t){var i,n,s,e,r;return{Kt:t.text(),ki:t.coordinate(),Si:null===(i=t.fixedCoordinate)||void 0===i?void 0:i.call(t),V:t.textColor(),t:t.backColor(),yt:null===(s=null===(n=t.visible)||void 0===n?void 0:n.call(t))||void 0===s||s,hi:null===(r=null===(e=t.tickVisible)||void 0===e?void 0:e.call(t))||void 0===r||r}}class $i{constructor(t,i){this.Wt=new rt,this.kl=t,this.yl=i}gt(){return this.Wt.J(Object.assign({Hi:this.yl.Hi()},Hi(this.kl))),this.Wt}}class Ui extends nt{constructor(t,i){super(),this.kl=t,this.Li=i}zi(t,i,n){const s=Hi(this.kl);n.t=s.t,t.V=s.V;const e=2/12*this.Li.P();n.wi=e,n.gi=e,n.ki=s.ki,n.Si=s.Si,t.Kt=s.Kt,t.yt=s.yt,t.hi=s.hi}}class qi{constructor(t,i){this.Cl=null,this.Tl=null,this.Pl=null,this.Rl=null,this.Dl=null,this.Vl=t,this.jr=i}Ol(){return this.Vl}Vn(){var t,i;null===(i=(t=this.Vl).updateAllViews)||void 0===i||i.call(t)}Pn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).paneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Cl)||void 0===s?void 0:s.Ml)===e)return this.Cl.xl;const r=e.map((t=>new ji(t)));return this.Cl={Ml:e,xl:r},r}Qi(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Tl)||void 0===s?void 0:s.Ml)===e)return this.Tl.xl;const r=this.jr.$t().St(),h=e.map((t=>new $i(t,r)));return this.Tl={Ml:e,xl:h},h}Rn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Pl)||void 0===s?void 0:s.Ml)===e)return this.Pl.xl;const r=this.jr.Dt(),h=e.map((t=>new Ui(t,r)));return this.Pl={Ml:e,xl:h},h}Bl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Rl)||void 0===s?void 0:s.Ml)===e)return this.Rl.xl;const r=e.map((t=>new ji(t)));return this.Rl={Ml:e,xl:r},r}Al(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Dl)||void 0===s?void 0:s.Ml)===e)return this.Dl.xl;const r=e.map((t=>new ji(t)));return this.Dl={Ml:e,xl:r},r}Il(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}wr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function Yi(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Sl()===n&&s.push(t)}))}))}function Zi(t){return t.Pn()}function Xi(t){return t.Bl()}function Ki(t){return t.Al()}class Gi extends Ai{constructor(t,i,n,s,e){super(t),this.zt=new Ni,this.jh=new Ci(this),this.zl=[],this.Ll=new li(this),this.El=null,this.Nl=null,this.Fl=[],this.Wl=[],this.jl=null,this.Hl=[],this.cn=i,this.$l=n;const r=new Ti(this);this.rn=[r],this.Hh=new ei(r,this,t),\"Area\"!==n&&\"Line\"!==n&&\"Baseline\"!==n||(this.El=new ci(this)),this.Ul(),this.ql(e)}S(){null!==this.jl&&clearTimeout(this.jl)}mh(t){return this.cn.priceLineColor||t}Zr(t){const i={Xr:!0},n=this.Dt();if(this.$t().St().Ni()||n.Ni()||this.zt.Ni())return i;const s=this.$t().St().Xs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.zt.sl();if(null===t)return i;r=t,h=t.ee}else{const t=this.zt.ll(s.ui(),-1);if(null===t)return i;if(r=this.zt.Gh(t.ee),null===r)return i;h=t.ee}const l=r.Vt[3],a=this.Us().$s(h,{Vt:r}),o=n.Rt(l,e.Vt);return{Xr:!1,_t:l,Kt:n.Fi(l,e.Vt),xh:n.Yl(l),Sh:n.Zl(l,e.Vt),V:a.ce,ki:o,ee:h}}Us(){return null!==this.Nl||(this.Nl=new zi(this)),this.Nl}W(){return this.cn}$h(t){const i=t.priceScaleId;void 0!==i&&i!==this.cn.priceScaleId&&this.$t().Xl(this,i),V(this.cn,t),void 0!==t.priceFormat&&(this.Ul(),this.$t().Kl()),this.$t().Gl(this),this.$t().Jl(),this.wn.bt(\"options\")}J(t,i){this.zt.J(t),this.Ql(),this.wn.bt(\"data\"),this.dn.bt(\"data\"),null!==this.El&&(i&&i.ta?this.El.$r():0===t.length&&this.El.Hr());const n=this.$t().dr(this);this.$t().ia(n),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}na(t){this.Fl=t,this.Ql();const i=this.$t().dr(this);this.dn.bt(\"data\"),this.$t().ia(i),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}sa(){return this.Fl}dh(){return this.Wl}ea(t){const i=new Bi(this,t);return this.zl.push(i),this.$t().Gl(this),i}ra(t){const i=this.zl.indexOf(t);-1!==i&&this.zl.splice(i,1),this.$t().Gl(this)}Qh(){return this.$l}Ct(){const t=this.ha();return null===t?null:{Vt:t.Vt[3],la:t.ot}}ha(){const t=this.$t().St().Xs();if(null===t)return null;const i=t.Os();return this.zt.ll(i,1)}In(){return this.zt}ph(t){const i=this.zt.Gh(t);return null===i?null:\"Bar\"===this.$l||\"Candlestick\"===this.$l||\"Custom\"===this.$l?{ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3]}:i.Vt[3]}aa(t){const i=[];Yi(this.Hl,Zi,\"top\",i);const n=this.El;return null!==n&&n.yt()?(null===this.jl&&n.qr()&&(this.jl=setTimeout((()=>{this.jl=null,this.$t().oa()}),0)),n.Ur(),i.unshift(n),i):i}Pn(){const t=[];this._a()||t.push(this.Ll),t.push(this.wn,this.jh,this.dn);const i=this.zl.map((t=>t.qh()));return t.push(...i),Yi(this.Hl,Zi,\"normal\",t),t}ua(){return this.ca(Zi,\"bottom\")}da(t){return this.ca(Xi,t)}fa(t){return this.ca(Ki,t)}va(t,i){return this.Hl.map((n=>n.wr(t,i))).filter((t=>null!==t))}Ji(t){return[this.Hh,...this.zl.map((t=>t.Yh()))]}Rn(t,i){if(i!==this.Yi&&!this._a())return[];const n=[...this.rn];for(const t of this.zl)n.push(t.Zh());return this.Hl.forEach((t=>{n.push(...t.Rn())})),n}Qi(){const t=[];return this.Hl.forEach((i=>{t.push(...i.Qi())})),t}Il(t,i){if(void 0!==this.cn.autoscaleInfoProvider){const n=this.cn.autoscaleInfoProvider((()=>{const n=this.pa(t,i);return null===n?null:n.Bh()}));return Di.Ah(n)}return this.pa(t,i)}ma(){return this.cn.priceFormat.minMove}ba(){return this.wa}Vn(){var t;this.wn.bt(),this.dn.bt();for(const t of this.rn)t.bt();for(const t of this.zl)t.bt();this.jh.bt(),this.Ll.bt(),null===(t=this.El)||void 0===t||t.bt(),this.Hl.forEach((t=>t.Vn()))}Dt(){return b(super.Dt())}kt(t){if(!((\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l)&&this.cn.crosshairMarkerVisible))return null;const i=this.zt.Gh(t);if(null===i)return null;return{_t:i.Vt[3],ht:this.ga(),Ot:this.Ma(),Pt:this.xa(),Tt:this.Sa(t)}}bh(){return this.cn.title}yt(){return this.cn.visible}ka(t){this.Hl.push(new qi(t,this))}ya(t){this.Hl=this.Hl.filter((i=>i.Ol()!==t))}Ca(){if(this.wn instanceof Kt!=!1)return t=>this.wn.We(t)}Ta(){if(this.wn instanceof Kt!=!1)return t=>this.wn.je(t)}_a(){return!_t(this.Dt().Pa())}pa(t,i){if(!B(t)||!B(i)||this.zt.Ni())return null;const n=\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l||\"Histogram\"===this.$l?[3]:[2,1],s=this.zt.ol(t,i,n);let e=null!==s?new Ri(s.ml,s.bl):null;if(\"Histogram\"===this.Qh()){const t=this.cn.base,i=new Ri(t,t);e=null!==e?e.ts(i):i}let r=this.dn.uh();return this.Hl.forEach((n=>{const s=n.Il(t,i);if(null==s?void 0:s.priceRange){const t=new Ri(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.ts(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new Di(e,r)}ga(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerRadius}return 0}Ma(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}xa(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerBorderWidth}return 0}Sa(t){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Us().$s(t).ce}Ul(){switch(this.cn.priceFormat.type){case\"custom\":this.wa={format:this.cn.priceFormat.formatter};break;case\"volume\":this.wa=new pt(this.cn.priceFormat.precision);break;case\"percent\":this.wa=new vt(this.cn.priceFormat.precision);break;default:{const t=Math.pow(10,this.cn.priceFormat.precision);this.wa=new ft(t,this.cn.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.Ra()}Ql(){const t=this.$t().St();if(!t.Da()||this.zt.Ni())return void(this.Wl=[]);const i=b(this.zt.el());this.Wl=this.Fl.map(((n,s)=>{const e=b(t.Va(n.time,!0)),r=e<i?1:-1;return{time:b(this.zt.ll(e,r)).ee,position:n.position,shape:n.shape,color:n.color,id:n.id,th:s,text:n.text,size:n.size,originalTime:n.originalTime}}))}ql(t){switch(this.dn=new yi(this,this.$t()),this.$l){case\"Bar\":this.wn=new Ht(this,this.$t());break;case\"Candlestick\":this.wn=new Zt(this,this.$t());break;case\"Line\":this.wn=new ti(this,this.$t());break;case\"Custom\":this.wn=new Kt(this,this.$t(),m(t));break;case\"Area\":this.wn=new Ft(this,this.$t());break;case\"Baseline\":this.wn=new qt(this,this.$t());break;case\"Histogram\":this.wn=new Qt(this,this.$t());break;default:throw Error(\"Unknown chart style assigned: \"+this.$l)}}ca(t,i){const n=[];return Yi(this.Hl,t,i,n),n}}class Ji{constructor(t){this.cn=t}Oa(t,i,n){let s=t;if(0===this.cn.mode)return s;const e=n.vn(),r=e.Ct();if(null===r)return s;const h=e.Rt(t,r),l=n.Ba().filter((t=>t instanceof Gi)).reduce(((t,s)=>{if(n.vr(s)||!s.yt())return t;const e=s.Dt(),r=s.In();if(e.Ni()||!r.Kr(i))return t;const h=r.Gh(i);if(null===h)return t;const l=w(s.Ct());return t.concat([e.Rt(h.Vt[3],l.Vt)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.pn(a,r),s}}class Qi extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=b(this.zt);if(r.Aa){t.strokeStyle=r.Ia,f(t,r.za),t.beginPath();for(const s of r.La){const r=Math.round(s.Ea*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Na){t.strokeStyle=r.Fa,f(t,r.Wa),t.beginPath();for(const n of r.ja){const r=Math.round(n.Ea*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class tn{constructor(t){this.Wt=new Qi,this.ft=!0,this.tn=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.tn.$t().W().grid,i={Na:t.horzLines.visible,Aa:t.vertLines.visible,Fa:t.horzLines.color,Ia:t.vertLines.color,Wa:t.horzLines.style,za:t.vertLines.style,ja:this.tn.vn().Ha(),La:(this.tn.$t().St().Ha()||[]).map((t=>({Ea:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class nn{constructor(t){this.wn=new tn(t)}qh(){return this.wn}}const sn={$a:4,Ua:1e-4};function en(t,i){const n=100*(t-i)/i;return i<0?-n:n}function rn(t,i){const n=en(t.Ph(),i),s=en(t.Rh(),i);return new Ri(n,s)}function hn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ln(t,i){const n=hn(t.Ph(),i),s=hn(t.Rh(),i);return new Ri(n,s)}function an(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ua)+i.$a;return t<0?-s:s}function on(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.$a)-i.Ua;return t<0?-s:s}function _n(t,i){if(null===t)return null;const n=an(t.Ph(),i),s=an(t.Rh(),i);return new Ri(n,s)}function un(t,i){if(null===t)return null;const n=on(t.Ph(),i),s=on(t.Rh(),i);return new Ri(n,s)}function cn(t){if(null===t)return sn;const i=Math.abs(t.Rh()-t.Ph());if(i>=1||i<1e-15)return sn;const n=Math.ceil(Math.abs(Math.log10(i))),s=sn.$a+n;return{$a:s,Ua:1/Math.pow(10,s)}}class dn{constructor(t,i){if(this.qa=t,this.Ya=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.qa))this.Za=[2,2.5,2];else{this.Za=[];for(let t=this.qa;1!==t;){if(t%2==0)this.Za.push(2),t/=2;else{if(t%5!=0)throw new Error(\"unexpected base\");this.Za.push(2,2.5),t/=5}if(this.Za.length>100)throw new Error(\"something wrong with base\")}}}Xa(t,i,n){const s=0===this.qa?0:1/this.qa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ya[0];for(;;){const t=yt(e,s,1e-14)&&e>s+1e-14,i=yt(e,n*h,1e-14),l=yt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Ya[++r%this.Ya.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Za.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Za[0];yt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Za[++r%this.Za.length];var l,a,o;return e}}class fn{constructor(t,i,n,s){this.Ka=[],this.Li=t,this.qa=i,this.Ga=n,this.Ja=s}Xa(t,i){if(t<i)throw new Error(\"high < low\");const n=this.Li.At(),s=(t-i)*this.Qa()/n,e=new dn(this.qa,[2,2.5,2]),r=new dn(this.qa,[2,2,2.5]),h=new dn(this.qa,[2.5,2,2]),l=[];return l.push(e.Xa(t,i,s),r.Xa(t,i,s),h.Xa(t,i,s)),function(t){if(t.length<1)throw Error(\"array is empty\");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}io(){const t=this.Li,i=t.Ct();if(null===i)return void(this.Ka=[]);const n=t.At(),s=this.Ga(n-1,i),e=this.Ga(0,i),r=this.Li.W().entireTextOnly?this.no()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Ka=[]);let _=this.Xa(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Ja(n,i,!0);null!==d&&Math.abs(s-d)<this.Qa()||(s<h||s>l||(f<this.Ka.length?(this.Ka[f].Ea=s,this.Ka[f].so=t.eo(n)):this.Ka.push({Ea:s,so:t.eo(n)}),f++,d=s,t.ro()&&(_=this.Xa(n*c,o))))}this.Ka.length=f}Ha(){return this.Ka}no(){return this.Li.P()}Qa(){return Math.ceil(2.5*this.no())}}function vn(t){return t.slice().sort(((t,i)=>b(t.Xi())-b(i.Xi())))}var pn;!function(t){t[t.Normal=0]=\"Normal\",t[t.Logarithmic=1]=\"Logarithmic\",t[t.Percentage=2]=\"Percentage\",t[t.IndexedTo100=3]=\"IndexedTo100\"}(pn||(pn={}));const mn=new vt,bn=new ft(100,1);class wn{constructor(t,i,n,s){this.ho=0,this.lo=null,this.Ih=null,this.ao=null,this.oo={_o:!1,uo:null},this.co=0,this.do=0,this.fo=new D,this.vo=new D,this.po=[],this.mo=null,this.bo=null,this.wo=null,this.Mo=null,this.wa=bn,this.xo=cn(null),this.So=t,this.cn=i,this.ko=n,this.yo=s,this.Co=new fn(this,100,this.To.bind(this),this.Po.bind(this))}Pa(){return this.So}W(){return this.cn}$h(t){if(V(this.cn,t),this.Ra(),void 0!==t.mode&&this.Ro({Cr:t.mode}),void 0!==t.scaleMargins){const i=m(t.scaleMargins.top),n=m(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Do(),this.bo=null}}Vo(){return this.cn.autoScale}ro(){return 1===this.cn.mode}Mh(){return 2===this.cn.mode}Oo(){return 3===this.cn.mode}Cr(){return{Wn:this.cn.autoScale,Bo:this.cn.invertScale,Cr:this.cn.mode}}Ro(t){const i=this.Cr();let n=null;void 0!==t.Wn&&(this.cn.autoScale=t.Wn),void 0!==t.Cr&&(this.cn.mode=t.Cr,2!==t.Cr&&3!==t.Cr||(this.cn.autoScale=!0),this.oo._o=!1),1===i.Cr&&t.Cr!==i.Cr&&(!function(t,i){if(null===t)return!1;const n=on(t.Ph(),i),s=on(t.Rh(),i);return isFinite(n)&&isFinite(s)}(this.Ih,this.xo)?this.cn.autoScale=!0:(n=un(this.Ih,this.xo),null!==n&&this.Ao(n))),1===t.Cr&&t.Cr!==i.Cr&&(n=_n(this.Ih,this.xo),null!==n&&this.Ao(n));const s=i.Cr!==this.cn.mode;s&&(2===i.Cr||this.Mh())&&this.Ra(),s&&(3===i.Cr||this.Oo())&&this.Ra(),void 0!==t.Bo&&i.Bo!==t.Bo&&(this.cn.invertScale=t.Bo,this.Io()),this.vo.m(i,this.Cr())}zo(){return this.vo}P(){return this.ko.fontSize}At(){return this.ho}Lo(t){this.ho!==t&&(this.ho=t,this.Do(),this.bo=null)}Eo(){if(this.lo)return this.lo;const t=this.At()-this.No()-this.Fo();return this.lo=t,t}Lh(){return this.Wo(),this.Ih}Ao(t,i){const n=this.Ih;(i||null===n&&null!==t||null!==n&&!n.Ch(t))&&(this.bo=null,this.Ih=t)}Ni(){return this.Wo(),0===this.ho||!this.Ih||this.Ih.Ni()}jo(t){return this.Bo()?t:this.At()-1-t}Rt(t,i){return this.Mh()?t=en(t,i):this.Oo()&&(t=hn(t,i)),this.Po(t,i)}te(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n],h=e._t;if(isNaN(h))continue;let l=h;null!==c&&(l=c(e._t,i));const _=s+o*(l-r),u=a?_:this.ho-1-_;e.st=u}}be(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n];let h=e.ge,l=e.Me,_=e.xe,u=e.Se;null!==c&&(h=c(e.ge,i),l=c(e.Me,i),_=c(e.xe,i),u=c(e.Se,i));let d=s+o*(h-r),f=a?d:this.ho-1-d;e.pe=f,d=s+o*(l-r),f=a?d:this.ho-1-d,e.de=f,d=s+o*(_-r),f=a?d:this.ho-1-d,e.fe=f,d=s+o*(u-r),f=a?d:this.ho-1-d,e.me=f}}pn(t,i){const n=this.To(t,i);return this.$o(n,i)}$o(t,i){let n=t;return this.Mh()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.Oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}Ba(){return this.po}Uo(){if(this.mo)return this.mo;let t=[];for(let i=0;i<this.po.length;i++){const n=this.po[i];null===n.Xi()&&n.Ki(i+1),t.push(n)}return t=vn(t),this.mo=t,this.mo}qo(t){-1===this.po.indexOf(t)&&(this.po.push(t),this.Ra(),this.Yo())}Zo(t){const i=this.po.indexOf(t);if(-1===i)throw new Error(\"source is not attached to scale\");this.po.splice(i,1),0===this.po.length&&(this.Ro({Wn:!0}),this.Ao(null)),this.Ra(),this.Yo()}Ct(){let t=null;for(const i of this.po){const n=i.Ct();null!==n&&((null===t||n.la<t.la)&&(t=n))}return null===t?null:t.Vt}Bo(){return this.cn.invertScale}Ha(){const t=null===this.Ct();if(null!==this.bo&&(t||this.bo.Xo===t))return this.bo.Ha;this.Co.io();const i=this.Co.Ha();return this.bo={Ha:i,Xo:t},this.fo.m(),i}Ko(){return this.fo}Go(t){this.Mh()||this.Oo()||null===this.wo&&null===this.ao&&(this.Ni()||(this.wo=this.ho-t,this.ao=b(this.Lh()).Th()))}Jo(t){if(this.Mh()||this.Oo())return;if(null===this.wo)return;this.Ro({Wn:!1}),(t=this.ho-t)<0&&(t=0);let i=(this.wo+.2*(this.ho-1))/(t+.2*(this.ho-1));const n=b(this.ao).Th();i=Math.max(i,.1),n.Vh(i),this.Ao(n)}Qo(){this.Mh()||this.Oo()||(this.wo=null,this.ao=null)}t_(t){this.Vo()||null===this.Mo&&null===this.ao&&(this.Ni()||(this.Mo=t,this.ao=b(this.Lh()).Th()))}i_(t){if(this.Vo())return;if(null===this.Mo)return;const i=b(this.Lh()).Dh()/(this.Eo()-1);let n=t-this.Mo;this.Bo()&&(n*=-1);const s=n*i,e=b(this.ao).Th();e.Oh(s),this.Ao(e,!0),this.bo=null}n_(){this.Vo()||null!==this.Mo&&(this.Mo=null,this.ao=null)}ba(){return this.wa||this.Ra(),this.wa}Fi(t,i){switch(this.cn.mode){case 2:return this.s_(en(t,i));case 3:return this.ba().format(hn(t,i));default:return this.Wh(t)}}eo(t){switch(this.cn.mode){case 2:return this.s_(t);case 3:return this.ba().format(t);default:return this.Wh(t)}}Yl(t){return this.Wh(t,b(this.e_()).ba())}Zl(t,i){return t=en(t,i),this.s_(t,mn)}r_(){return this.po}h_(t){this.oo={uo:t,_o:!1}}Vn(){this.po.forEach((t=>t.Vn()))}Ra(){this.bo=null;const t=this.e_();let i=100;null!==t&&(i=Math.round(1/t.ma())),this.wa=bn,this.Mh()?(this.wa=mn,i=100):this.Oo()?(this.wa=new ft(100,1),i=100):null!==t&&(this.wa=t.ba()),this.Co=new fn(this,i,this.To.bind(this),this.Po.bind(this)),this.Co.io()}Yo(){this.mo=null}e_(){return this.po[0]||null}No(){return this.Bo()?this.cn.scaleMargins.bottom*this.At()+this.do:this.cn.scaleMargins.top*this.At()+this.co}Fo(){return this.Bo()?this.cn.scaleMargins.top*this.At()+this.co:this.cn.scaleMargins.bottom*this.At()+this.do}Wo(){this.oo._o||(this.oo._o=!0,this.l_())}Do(){this.lo=null}Po(t,i){if(this.Wo(),this.Ni())return 0;t=this.ro()&&t?an(t,this.xo):t;const n=b(this.Lh()),s=this.Fo()+(this.Eo()-1)*(t-n.Ph())/n.Dh();return this.jo(s)}To(t,i){if(this.Wo(),this.Ni())return 0;const n=this.jo(t),s=b(this.Lh()),e=s.Ph()+s.Dh()*((n-this.Fo())/(this.Eo()-1));return this.ro()?on(e,this.xo):e}Io(){this.bo=null,this.Co.io()}l_(){const t=this.oo.uo;if(null===t)return;let i=null;const n=this.r_();let s=0,e=0;for(const r of n){if(!r.yt())continue;const n=r.Ct();if(null===n)continue;const h=r.Il(t.Os(),t.ui());let l=h&&h.Lh();if(null!==l){switch(this.cn.mode){case 1:l=_n(l,this.xo);break;case 2:l=rn(l,n.Vt);break;case 3:l=ln(l,n.Vt)}if(i=null===i?l:i.ts(b(l)),null!==h){const t=h.Eh();null!==t&&(s=Math.max(s,t.above),e=Math.max(e,t.below))}}}if(s===this.co&&e===this.do||(this.co=s,this.do=e,this.bo=null,this.Do()),null!==i){if(i.Ph()===i.Rh()){const t=this.e_(),n=5*(null===t||this.Mh()||this.Oo()?1:t.ma());this.ro()&&(i=un(i,this.xo)),i=new Ri(i.Ph()-n,i.Rh()+n),this.ro()&&(i=_n(i,this.xo))}if(this.ro()){const t=un(i,this.xo),n=cn(t);if(r=n,h=this.xo,r.$a!==h.$a||r.Ua!==h.Ua){const s=null!==this.ao?un(this.ao,this.xo):null;this.xo=n,i=_n(t,n),null!==s&&(this.ao=_n(s,n))}}this.Ao(i)}else null===this.Ih&&(this.Ao(new Ri(-.5,.5)),this.xo=cn(null));var r,h;this.oo._o=!0}Ho(){return this.Mh()?en:this.Oo()?hn:this.ro()?t=>an(t,this.xo):null}a_(t,i,n){return void 0===i?(void 0===n&&(n=this.ba()),n.format(t)):i(t)}Wh(t,i){return this.a_(t,this.yo.priceFormatter,i)}s_(t,i){return this.a_(t,this.yo.percentageFormatter,i)}}class gn{constructor(t,i){this.po=[],this.o_=new Map,this.ho=0,this.__=0,this.u_=1e3,this.mo=null,this.c_=new D,this.yl=t,this.$i=i,this.d_=new nn(this);const n=i.W();this.f_=this.v_(\"left\",n.leftPriceScale),this.p_=this.v_(\"right\",n.rightPriceScale),this.f_.zo().l(this.m_.bind(this,this.f_),this),this.p_.zo().l(this.m_.bind(this,this.p_),this),this.b_(n)}b_(t){if(t.leftPriceScale&&this.f_.$h(t.leftPriceScale),t.rightPriceScale&&this.p_.$h(t.rightPriceScale),t.localization&&(this.f_.Ra(),this.p_.Ra()),t.overlayPriceScales){const i=Array.from(this.o_.values());for(const n of i){const i=b(n[0].Dt());i.$h(t.overlayPriceScales),t.localization&&i.Ra()}}}w_(t){switch(t){case\"left\":return this.f_;case\"right\":return this.p_}return this.o_.has(t)?m(this.o_.get(t))[0].Dt():null}S(){this.$t().g_().p(this),this.f_.zo().p(this),this.p_.zo().p(this),this.po.forEach((t=>{t.S&&t.S()})),this.c_.m()}M_(){return this.u_}x_(t){this.u_=t}$t(){return this.$i}Hi(){return this.__}At(){return this.ho}S_(t){this.__=t,this.k_()}Lo(t){this.ho=t,this.f_.Lo(t),this.p_.Lo(t),this.po.forEach((i=>{if(this.vr(i)){const n=i.Dt();null!==n&&n.Lo(t)}})),this.k_()}Ba(){return this.po}vr(t){const i=t.Dt();return null===i||this.f_!==i&&this.p_!==i}qo(t,i,n){const s=void 0!==n?n:this.C_().y_+1;this.T_(t,i,s)}Zo(t){const i=this.po.indexOf(t);p(-1!==i,\"removeDataSource: invalid data source\"),this.po.splice(i,1);const n=b(t.Dt()).Pa();if(this.o_.has(n)){const i=m(this.o_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.o_.delete(n))}const s=t.Dt();s&&s.Ba().indexOf(t)>=0&&s.Zo(t),null!==s&&(s.Yo(),this.P_(s)),this.mo=null}mr(t){return t===this.f_?\"left\":t===this.p_?\"right\":\"overlay\"}R_(){return this.f_}D_(){return this.p_}V_(t,i){t.Go(i)}O_(t,i){t.Jo(i),this.k_()}B_(t){t.Qo()}A_(t,i){t.t_(i)}I_(t,i){t.i_(i),this.k_()}z_(t){t.n_()}k_(){this.po.forEach((t=>{t.Vn()}))}vn(){let t=null;return this.$i.W().rightPriceScale.visible&&0!==this.p_.Ba().length?t=this.p_:this.$i.W().leftPriceScale.visible&&0!==this.f_.Ba().length?t=this.f_:0!==this.po.length&&(t=this.po[0].Dt()),null===t&&(t=this.p_),t}pr(){let t=null;return this.$i.W().rightPriceScale.visible?t=this.p_:this.$i.W().leftPriceScale.visible&&(t=this.f_),t}P_(t){null!==t&&t.Vo()&&this.L_(t)}E_(t){const i=this.yl.Xs();t.Ro({Wn:!0}),null!==i&&t.h_(i),this.k_()}N_(){this.L_(this.f_),this.L_(this.p_)}F_(){this.P_(this.f_),this.P_(this.p_),this.po.forEach((t=>{this.vr(t)&&this.P_(t.Dt())})),this.k_(),this.$i.Uh()}Uo(){return null===this.mo&&(this.mo=vn(this.po)),this.mo}W_(){return this.c_}j_(){return this.d_}L_(t){const i=t.r_();if(i&&i.length>0&&!this.yl.Ni()){const i=this.yl.Xs();null!==i&&t.h_(i)}t.Vn()}C_(){const t=this.Uo();if(0===t.length)return{H_:0,y_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Xi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{H_:i,y_:n}}T_(t,i,n){let s=this.w_(i);if(null===s&&(s=this.v_(i,this.$i.W().overlayPriceScales)),this.po.push(t),!_t(i)){const n=this.o_.get(i)||[];n.push(t),this.o_.set(i,n)}s.qo(t),t.Gi(s),t.Ki(n),this.P_(s),this.mo=null}m_(t,i,n){i.Cr!==n.Cr&&this.L_(t)}v_(t,i){const n=Object.assign({visible:!0,autoScale:!0},z(i)),s=new wn(t,n,this.$i.W().layout,this.$i.W().localization);return s.Lo(this.At()),s}}class Mn{constructor(t,i,n=50){this.Ke=0,this.Ge=1,this.Je=1,this.tr=new Map,this.Qe=new Map,this.U_=t,this.q_=i,this.ir=n}Y_(t){const i=t.time,n=this.q_.cacheKey(i),s=this.tr.get(n);if(void 0!==s)return s.Z_;if(this.Ke===this.ir){const t=this.Qe.get(this.Je);this.Qe.delete(this.Je),this.tr.delete(m(t)),this.Je++,this.Ke--}const e=this.U_(t);return this.tr.set(n,{Z_:e,rr:this.Ge}),this.Qe.set(this.Ge,n),this.Ke++,this.Ge++,e}}class xn{constructor(t,i){p(t<=i,\"right should be >= left\"),this.X_=t,this.K_=i}Os(){return this.X_}ui(){return this.K_}G_(){return this.K_-this.X_+1}Kr(t){return this.X_<=t&&t<=this.K_}Ch(t){return this.X_===t.Os()&&this.K_===t.ui()}}function Sn(t,i){return null===t||null===i?t===i:t.Ch(i)}class kn{constructor(){this.J_=new Map,this.tr=null,this.Q_=!1}tu(t){this.Q_=t,this.tr=null}iu(t,i){this.nu(i),this.tr=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.J_.get(i.timeWeight);void 0===s&&(s=[],this.J_.set(i.timeWeight,s)),s.push({index:n,time:i.time,weight:i.timeWeight,originalTime:i.originalTime})}}su(t,i){const n=Math.ceil(i/t);return null!==this.tr&&this.tr.eu===n||(this.tr={Ha:this.ru(n),eu:n}),this.tr.Ha}nu(t){if(0===t)return void this.J_.clear();const i=[];this.J_.forEach(((n,s)=>{t<=n[0].index?i.push(s):n.splice(Bt(n,t,(i=>i.index<t)),1/0)}));for(const t of i)this.J_.delete(t)}ru(t){let i=[];for(const n of Array.from(this.J_.keys()).sort(((t,i)=>i-t))){if(!this.J_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=m(this.J_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n<l;n++){const l=h[n],_=l.index;for(;r<e;){const t=s[r],n=t.index;if(!(n<_)){a=n;break}r++,i.push(t),o=n,a=1/0}if(a-_>=t&&_-o>=t)i.push(l),o=_;else if(this.Q_)return s}for(;r<e;r++)i.push(s[r])}return i}}class yn{constructor(t){this.hu=t}lu(){return null===this.hu?null:new xn(Math.floor(this.hu.Os()),Math.ceil(this.hu.ui()))}au(){return this.hu}static ou(){return new yn(null)}}function Cn(t,i){return t.weight>i.weight?t:i}class Tn{constructor(t,i,n,s){this.__=0,this._u=null,this.uu=[],this.Mo=null,this.wo=null,this.cu=new kn,this.du=new Map,this.fu=yn.ou(),this.vu=!0,this.pu=new D,this.mu=new D,this.bu=new D,this.wu=null,this.gu=null,this.Mu=[],this.cn=i,this.yo=n,this.xu=i.rightOffset,this.Su=i.barSpacing,this.$i=t,this.q_=s,this.ku(),this.cu.tu(i.uniformDistribution)}W(){return this.cn}yu(t){V(this.yo,t),this.Cu(),this.ku()}$h(t,i){var n;V(this.cn,t),this.cn.fixLeftEdge&&this.Tu(),this.cn.fixRightEdge&&this.Pu(),void 0!==t.barSpacing&&this.$i.Gn(t.barSpacing),void 0!==t.rightOffset&&this.$i.Jn(t.rightOffset),void 0!==t.minBarSpacing&&this.$i.Gn(null!==(n=t.barSpacing)&&void 0!==n?n:this.Su),this.Cu(),this.ku(),this.bu.m()}mn(t){var i,n;return null!==(n=null===(i=this.uu[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.uu[t])&&void 0!==i?i:null}Va(t,i){if(this.uu.length<1)return null;if(this.q_.key(t)>this.q_.key(this.uu[this.uu.length-1].time))return i?this.uu.length-1:null;const n=Bt(this.uu,this.q_.key(t),((t,i)=>this.q_.key(t.time)<i));return this.q_.key(t)<this.q_.key(this.uu[n].time)?i?n:null:n}Ni(){return 0===this.__||0===this.uu.length||null===this._u}Da(){return this.uu.length>0}Xs(){return this.Ru(),this.fu.lu()}Du(){return this.Ru(),this.fu.au()}Vu(){const t=this.Xs();if(null===t)return null;const i={from:t.Os(),to:t.ui()};return this.Ou(i)}Ou(t){const i=Math.round(t.from),n=Math.round(t.to),s=b(this.Bu()),e=b(this.Au());return{from:b(this.Ui(Math.max(s,i))),to:b(this.Ui(Math.min(e,n)))}}Iu(t){return{from:b(this.Va(t.from,!0)),to:b(this.Va(t.to,!0))}}Hi(){return this.__}S_(t){if(!isFinite(t)||t<=0)return;if(this.__===t)return;const i=this.Du(),n=this.__;if(this.__=t,this.vu=!0,this.cn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.Su*t/n;this.Su=i}if(this.cn.fixLeftEdge&&null!==i&&i.Os()<=0){const i=n-t;this.xu-=Math.round(i/this.Su)+1,this.vu=!0}this.zu(),this.Lu()}It(t){if(this.Ni()||!B(t))return 0;const i=this.Eu()+this.xu-t;return this.__-(i+.5)*this.Su-1}Qs(t,i){const n=this.Eu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i].ot,e=n+this.xu-s,r=this.__-(e+.5)*this.Su-1;t[i].nt=r}}Nu(t){return Math.ceil(this.Fu(t))}Jn(t){this.vu=!0,this.xu=t,this.Lu(),this.$i.Wu(),this.$i.Uh()}le(){return this.Su}Gn(t){this.ju(t),this.Lu(),this.$i.Wu(),this.$i.Uh()}Hu(){return this.xu}Ha(){if(this.Ni())return null;if(null!==this.gu)return this.gu;const t=this.Su,i=5*(this.$i.W().layout.fontSize+4)/8*(this.cn.tickMarkMaxCharacterLength||8),n=Math.round(i/t),s=b(this.Xs()),e=Math.max(s.Os(),s.Os()-n),r=Math.max(s.ui(),s.ui()-n),h=this.cu.su(t,i),l=this.Bu()+n,a=this.Au()-n,o=this.$u(),_=this.cn.fixLeftEdge||o,u=this.cn.fixRightEdge||o;let c=0;for(const t of h){if(!(e<=t.index&&t.index<=r))continue;let n;c<this.Mu.length?(n=this.Mu[c],n.coord=this.It(t.index),n.label=this.Uu(t),n.weight=t.weight):(n={needAlignCoordinate:!1,coord:this.It(t.index),label:this.Uu(t),weight:t.weight},this.Mu.push(n)),this.Su>i/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.Mu.length=c,this.gu=this.Mu,this.Mu}qu(){this.vu=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Yu(t){this.vu=!0,this._u=t,this.Lu(),this.Tu()}Zu(t,i){const n=this.Fu(t),s=this.le(),e=s+i*(s/10);this.Gn(e),this.cn.rightBarStaysOnScroll||this.Jn(this.Hu()+(n-this.Fu(t)))}Go(t){this.Mo&&this.n_(),null===this.wo&&null===this.wu&&(this.Ni()||(this.wo=t,this.Xu()))}Jo(t){if(null===this.wu)return;const i=kt(this.__-t,0,this.__),n=kt(this.__-b(this.wo),0,this.__);0!==i&&0!==n&&this.Gn(this.wu.le*i/n)}Qo(){null!==this.wo&&(this.wo=null,this.Ku())}t_(t){null===this.Mo&&null===this.wu&&(this.Ni()||(this.Mo=t,this.Xu()))}i_(t){if(null===this.Mo)return;const i=(this.Mo-t)/this.le();this.xu=b(this.wu).Hu+i,this.vu=!0,this.Lu()}n_(){null!==this.Mo&&(this.Mo=null,this.Ku())}Gu(){this.Ju(this.cn.rightOffset)}Ju(t,i=400){if(!isFinite(t))throw new RangeError(\"offset is required and must be finite number\");if(!isFinite(i)||i<=0)throw new RangeError(\"animationDuration (optional) must be finite positive number\");const n=this.xu,s=performance.now();this.$i.Zn({Qu:t=>(t-s)/i>=1,tc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.vu=!0,this.uu=t,this.cu.iu(t,i),this.Lu()}nc(){return this.pu}sc(){return this.mu}ec(){return this.bu}Eu(){return this._u||0}rc(t){const i=t.G_();this.ju(this.__/i),this.xu=t.ui()-this.Eu(),this.Lu(),this.vu=!0,this.$i.Wu(),this.$i.Uh()}hc(){const t=this.Bu(),i=this.Au();null!==t&&null!==i&&this.rc(new xn(t,i+this.cn.rightOffset))}lc(t){const i=new xn(t.from,t.to);this.rc(i)}qi(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.q_.formatHorzItem(t.time)}$u(){const{handleScroll:t,handleScale:i}=this.$i.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Bu(){return 0===this.uu.length?null:0}Au(){return 0===this.uu.length?null:this.uu.length-1}ac(t){return(this.__-1-t)/this.Su}Fu(t){const i=this.ac(t),n=this.Eu()+this.xu-i;return Math.round(1e6*n)/1e6}ju(t){const i=this.Su;this.Su=t,this.zu(),i!==this.Su&&(this.vu=!0,this.oc())}Ru(){if(!this.vu)return;if(this.vu=!1,this.Ni())return void this._c(yn.ou());const t=this.Eu(),i=this.__/this.Su,n=this.xu+t,s=new xn(n-i+1,n);this._c(new yn(s))}zu(){const t=this.uc();if(this.Su<t&&(this.Su=t,this.vu=!0),0!==this.__){const t=.5*this.__;this.Su>t&&(this.Su=t,this.vu=!0)}}uc(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&0!==this.uu.length?this.__/this.uu.length:this.cn.minBarSpacing}Lu(){const t=this.cc();null!==t&&this.xu<t&&(this.xu=t,this.vu=!0);const i=this.dc();this.xu>i&&(this.xu=i,this.vu=!0)}cc(){const t=this.Bu(),i=this._u;if(null===t||null===i)return null;return t-i-1+(this.cn.fixLeftEdge?this.__/this.Su:Math.min(2,this.uu.length))}dc(){return this.cn.fixRightEdge?0:this.__/this.Su-Math.min(2,this.uu.length)}Xu(){this.wu={le:this.le(),Hu:this.Hu()}}Ku(){this.wu=null}Uu(t){let i=this.du.get(t.weight);return void 0===i&&(i=new Mn((t=>this.fc(t)),this.q_),this.du.set(t.weight,i)),i.Y_(t)}fc(t){return this.q_.formatTickmark(t,this.yo)}_c(t){const i=this.fu;this.fu=t,Sn(i.lu(),this.fu.lu())||this.pu.m(),Sn(i.au(),this.fu.au())||this.mu.m(),this.oc()}oc(){this.gu=null}Cu(){this.oc(),this.du.clear()}ku(){this.q_.updateFormatter(this.yo)}Tu(){if(!this.cn.fixLeftEdge)return;const t=this.Bu();if(null===t)return;const i=this.Xs();if(null===i)return;const n=i.Os()-t;if(n<0){const t=this.xu-n-1;this.Jn(t)}this.zu()}Pu(){this.Lu(),this.zu()}}class Pn{X(t,i,n){t.useMediaCoordinateSpace((t=>this.K(t,i,n)))}gl(t,i,n){t.useMediaCoordinateSpace((t=>this.vc(t,i,n)))}vc(t,i,n){}}class Rn extends Pn{constructor(t){super(),this.mc=new Map,this.zt=t}K(t){}vc(t){if(!this.zt.yt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.zt.bc){if(0===t.Kt.length)continue;i.font=t.R;const e=this.wc(i,t.Kt);e>n.width?t.Zu=n.width/e:t.Zu=1,s+=t.gc*t.Zu}let e=0;switch(this.zt.Mc){case\"top\":e=0;break;case\"center\":e=Math.max((n.height-s)/2,0);break;case\"bottom\":e=Math.max(n.height-s,0)}i.fillStyle=this.zt.V;for(const t of this.zt.bc){i.save();let s=0;switch(this.zt.xc){case\"left\":i.textAlign=\"left\",s=t.gc/2;break;case\"center\":i.textAlign=\"center\",s=n.width/2;break;case\"right\":i.textAlign=\"right\",s=n.width-1-t.gc/2}i.translate(s,e),i.textBaseline=\"top\",i.font=t.R,i.scale(t.Zu,t.Zu),i.fillText(t.Kt,0,t.Sc),i.restore(),e+=t.gc*t.Zu}}wc(t,i){const n=this.kc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}kc(t){let i=this.mc.get(t);return void 0===i&&(i=new Map,this.mc.set(t,i)),i}}class Dn{constructor(t){this.ft=!0,this.Ft={yt:!1,V:\"\",bc:[],Mc:\"center\",xc:\"center\"},this.Wt=new Rn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.yt=t.visible,i.yt&&(i.V=t.color,i.xc=t.horzAlign,i.Mc=t.vertAlign,i.bc=[{Kt:t.text,R:F(t.fontSize,t.fontFamily,t.fontStyle),gc:1.2*t.fontSize,Sc:0,Zu:0}])}}class Vn extends lt{constructor(t,i){super(),this.cn=i,this.wn=new Dn(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}Vn(){this.wn.bt()}}var On,Bn,An,In,zn;!function(t){t[t.OnTouchEnd=0]=\"OnTouchEnd\",t[t.OnNextTap=1]=\"OnNextTap\"}(On||(On={}));class Ln{constructor(t,i,n){this.yc=[],this.Cc=[],this.__=0,this.Tc=null,this.Pc=new D,this.Rc=new D,this.Dc=null,this.Vc=t,this.cn=i,this.q_=n,this.Oc=new W(this),this.yl=new Tn(this,i.timeScale,this.cn.localization,n),this.vt=new ot(this,i.crosshair),this.Bc=new Ji(i.crosshair),this.Ac=new Vn(this,i.watermark),this.Ic(),this.yc[0].x_(2e3),this.zc=this.Lc(0),this.Ec=this.Lc(1)}Kl(){this.Nc(ut.es())}Uh(){this.Nc(ut.ss())}oa(){this.Nc(new ut(1))}Gl(t){const i=this.Fc(t);this.Nc(i)}Wc(){return this.Tc}jc(t){const i=this.Tc;this.Tc=t,null!==i&&this.Gl(i.Hc),null!==t&&this.Gl(t.Hc)}W(){return this.cn}$h(t){V(this.cn,t),this.yc.forEach((i=>i.b_(t))),void 0!==t.timeScale&&this.yl.$h(t.timeScale),void 0!==t.localization&&this.yl.yu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Pc.m(),this.zc=this.Lc(0),this.Ec=this.Lc(1),this.Kl()}$c(t,i){if(\"left\"===t)return void this.$h({leftPriceScale:i});if(\"right\"===t)return void this.$h({rightPriceScale:i});const n=this.Uc(t);null!==n&&(n.Dt.$h(i),this.Pc.m())}Uc(t){for(const i of this.yc){const n=i.w_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.yl}qc(){return this.yc}Yc(){return this.Ac}Zc(){return this.vt}Xc(){return this.Rc}Kc(t,i){t.Lo(i),this.Wu()}S_(t){this.__=t,this.yl.S_(this.__),this.yc.forEach((i=>i.S_(t))),this.Wu()}Ic(t){const i=new gn(this.yl,this);void 0!==t?this.yc.splice(t,0,i):this.yc.push(i);const n=void 0===t?this.yc.length-1:t,s=ut.es();return s.Nn(n,{Fn:0,Wn:!0}),this.Nc(s),i}V_(t,i,n){t.V_(i,n)}O_(t,i,n){t.O_(i,n),this.Jl(),this.Nc(this.Gc(t,2))}B_(t,i){t.B_(i),this.Nc(this.Gc(t,2))}A_(t,i,n){i.Vo()||t.A_(i,n)}I_(t,i,n){i.Vo()||(t.I_(i,n),this.Jl(),this.Nc(this.Gc(t,2)))}z_(t,i){i.Vo()||(t.z_(i),this.Nc(this.Gc(t,2)))}E_(t,i){t.E_(i),this.Nc(this.Gc(t,2))}Jc(t){this.yl.Go(t)}Qc(t,i){const n=this.St();if(n.Ni()||0===i)return;const s=n.Hi();t=Math.max(1,Math.min(t,s)),n.Zu(t,i),this.Wu()}td(t){this.nd(0),this.sd(t),this.ed()}rd(t){this.yl.Jo(t),this.Wu()}hd(){this.yl.Qo(),this.Uh()}nd(t){this.yl.t_(t)}sd(t){this.yl.i_(t),this.Wu()}ed(){this.yl.n_(),this.Uh()}wt(){return this.Cc}ld(t,i,n,s,e){this.vt.gn(t,i);let r=NaN,h=this.yl.Nu(t);const l=this.yl.Xs();null!==l&&(h=Math.min(Math.max(l.Os(),h),l.ui()));const a=s.vn(),o=a.Ct();null!==o&&(r=a.pn(i,o)),r=this.Bc.Oa(r,h,s),this.vt.kn(h,r,s),this.oa(),e||this.Rc.m(this.vt.xt(),{x:t,y:i},n)}ad(t,i,n){const s=n.vn(),e=s.Ct(),r=s.Rt(t,b(e)),h=this.yl.Va(i,!0),l=this.yl.It(b(h));this.ld(l,r,null,n,!0)}od(t){this.Zc().Cn(),this.oa(),t||this.Rc.m(null,null,null)}Jl(){const t=this.vt.Ht();if(null!==t){const i=this.vt.xn(),n=this.vt.Sn();this.ld(i,n,null,t)}this.vt.Vn()}_d(t,i,n){const s=this.yl.mn(0);void 0!==i&&void 0!==n&&this.yl.bt(i,n);const e=this.yl.mn(0),r=this.yl.Eu(),h=this.yl.Xs();if(null!==h&&null!==s&&null!==e){const i=h.Kr(r),l=this.q_.key(s)>this.q_.key(e),a=null!==t&&t>r&&!l,o=this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.yl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.yl.Jn(this.yl.Hu()-i)}}this.yl.Yu(t)}ia(t){null!==t&&t.F_()}dr(t){const i=this.yc.find((i=>i.Uo().includes(t)));return void 0===i?null:i}Wu(){this.Ac.Vn(),this.yc.forEach((t=>t.F_())),this.Jl()}S(){this.yc.forEach((t=>t.S())),this.yc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}ud(){return this.Oc}br(){return this.Oc.W()}g_(){return this.Pc}dd(t,i,n){const s=this.yc[0],e=this.fd(i,t,s,n);return this.Cc.push(e),1===this.Cc.length?this.Kl():this.Uh(),e}vd(t){const i=this.dr(t),n=this.Cc.indexOf(t);p(-1!==n,\"Series not found\"),this.Cc.splice(n,1),b(i).Zo(t),t.S&&t.S()}Xl(t,i){const n=b(this.dr(t));n.Zo(t);const s=this.Uc(i);if(null===s){const s=t.Xi();n.qo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.qo(t,i,e)}}hc(){const t=ut.ss();t.$n(),this.Nc(t)}pd(t){const i=ut.ss();i.Yn(t),this.Nc(i)}Kn(){const t=ut.ss();t.Kn(),this.Nc(t)}Gn(t){const i=ut.ss();i.Gn(t),this.Nc(i)}Jn(t){const i=ut.ss();i.Jn(t),this.Nc(i)}Zn(t){const i=ut.ss();i.Zn(t),this.Nc(i)}Un(){const t=ut.ss();t.Un(),this.Nc(t)}md(){return this.cn.rightPriceScale.visible?\"right\":\"left\"}bd(){return this.Ec}q(){return this.zc}Bt(t){const i=this.Ec,n=this.zc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Dc||this.Dc.Ps!==n||this.Dc.Rs!==i)this.Dc={Ps:n,Rs:i,wd:new Map};else{const i=this.Dc.wd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=T(t),[l,a,o,_]=T(i),u=[M(s+n*(l-s)),M(e+n*(a-e)),M(r+n*(o-r)),x(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Dc.wd.set(t,s),s}Gc(t,i){const n=new ut(i);if(null!==t){const s=this.yc.indexOf(t);n.Nn(s,{Fn:i})}return n}Fc(t,i){return void 0===i&&(i=2),this.Gc(this.dr(t),i)}Nc(t){this.Vc&&this.Vc(t),this.yc.forEach((t=>t.j_().qh().bt()))}fd(t,i,n,s){const e=new Gi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.md();return n.qo(e,r),_t(r)||e.$h(t),e}Lc(t){const i=this.cn.layout;return\"gradient\"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function En(t){return!O(t)&&!A(t)}function Nn(t){return O(t)}!function(t){t[t.Disabled=0]=\"Disabled\",t[t.Continuous=1]=\"Continuous\",t[t.OnDataUpdate=2]=\"OnDataUpdate\"}(Bn||(Bn={})),function(t){t[t.LastBar=0]=\"LastBar\",t[t.LastVisible=1]=\"LastVisible\"}(An||(An={})),function(t){t.Solid=\"solid\",t.VerticalGradient=\"gradient\"}(In||(In={})),function(t){t[t.Year=0]=\"Year\",t[t.Month=1]=\"Month\",t[t.DayOfMonth=2]=\"DayOfMonth\",t[t.Time=3]=\"Time\",t[t.TimeWithSeconds=4]=\"TimeWithSeconds\"}(zn||(zn={}));const Fn=t=>t.getUTCFullYear();function Wn(t,i,n){return i.replace(/yyyy/g,(t=>dt(Fn(t),4))(t)).replace(/yy/g,(t=>dt(Fn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"long\"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"short\"}))(t,n)).replace(/MM/g,(t=>dt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>dt((t=>t.getUTCDate())(t),2))(t))}class jn{constructor(t=\"yyyy-MM-dd\",i=\"default\"){this.gd=t,this.Md=i}Y_(t){return Wn(t,this.gd,this.Md)}}class Hn{constructor(t){this.xd=t||\"%h:%m:%s\"}Y_(t){return this.xd.replace(\"%h\",dt(t.getUTCHours(),2)).replace(\"%m\",dt(t.getUTCMinutes(),2)).replace(\"%s\",dt(t.getUTCSeconds(),2))}}const $n={Sd:\"yyyy-MM-dd\",kd:\"%h:%m:%s\",yd:\" \",Cd:\"default\"};class Un{constructor(t={}){const i=Object.assign(Object.assign({},$n),t);this.Td=new jn(i.Sd,i.Cd),this.Pd=new Hn(i.kd),this.Rd=i.yd}Y_(t){return`${this.Td.Y_(t)}${this.Rd}${this.Pd.Y_(t)}`}}function qn(t){return 60*t*60*1e3}function Yn(t){return 60*t*1e3}const Zn=[{Dd:(Xn=1,1e3*Xn),Vd:10},{Dd:Yn(1),Vd:20},{Dd:Yn(5),Vd:21},{Dd:Yn(30),Vd:22},{Dd:qn(1),Vd:30},{Dd:qn(3),Vd:31},{Dd:qn(6),Vd:32},{Dd:qn(12),Vd:33}];var Xn;function Kn(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Zn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Zn[n].Dd)!==Math.floor(t.getTime()/Zn[n].Dd))return Zn[n].Vd;return 0}function Gn(t){let i=t;if(A(t)&&(i=Qn(t)),!En(i))throw new Error(\"time must be of type BusinessDay\");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Od:Math.round(n.getTime()/1e3),Bd:i}}function Jn(t){if(!Nn(t))throw new Error(\"time must be of type isUTCTimestamp\");return{Od:t}}function Qn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function ts(t){A(t.time)&&(t.time=Qn(t.time))}class is{options(){return this.cn}setOptions(t){this.cn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(ts)}(t):ts(t)}createConverterToInternalObj(t){return b(function(t){return 0===t.length?null:En(t[0].time)||A(t[0].time)?Gn:Jn}(t))}key(t){return\"object\"==typeof t&&\"Od\"in t?t.Od:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Bd?new Date(1e3*i.Od).getTime():new Date(Date.UTC(i.Bd.year,i.Bd.month-1,i.Bd.day)).getTime()}convertHorzItemToInternal(t){return Nn(i=t)?Jn(i):En(i)?Gn(i):Gn(Qn(i));var i}updateFormatter(t){if(!this.cn)return;const i=t.dateFormat;this.cn.timeScale.timeVisible?this.Ad=new Un({Sd:i,kd:this.cn.timeScale.secondsVisible?\"%h:%m:%s\":\"%h:%m\",yd:\" \",Cd:t.locale}):this.Ad=new jn(i,t.locale)}formatHorzItem(t){const i=t;return this.Ad.Y_(new Date(1e3*i.Od))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),s=this.cn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year=\"numeric\";break;case 1:s.month=\"short\";break;case 2:s.day=\"numeric\";break;case 3:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\";break;case 4:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\",s.second=\"2-digit\"}const e=void 0===t.Bd?new Date(1e3*t.Od):new Date(Date.UTC(t.Bd.year,t.Bd.month-1,t.Bd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Cn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Od,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i.time.Od);null!==s&&(i.timeWeight=Kn(h,s)),e+=i.time.Od-(n||i.time.Od),n=i.time.Od,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Od-i));t[0].timeWeight=Kn(new Date(1e3*t[0].time.Od),n)}}(t,i)}static Id(t){return V({localization:{dateFormat:\"dd MMM 'yy\"}},null!=t?t:{})}}const ns=\"undefined\"!=typeof window;function ss(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}function es(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function rs(t){return t+t%2}function hs(t,i){return t.zd-i.zd}function ls(t,i,n){const s=(t.zd-i.zd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class as{constructor(t,i,n,s){this.Ld=null,this.Ed=null,this.Nd=null,this.Fd=null,this.Wd=null,this.jd=0,this.Hd=0,this.$d=t,this.Ud=i,this.qd=n,this.rs=s}Yd(t,i){if(null!==this.Ld){if(this.Ld.ot===i)return void(this.Ld.zd=t);if(Math.abs(this.Ld.zd-t)<this.rs)return}this.Fd=this.Nd,this.Nd=this.Ed,this.Ed=this.Ld,this.Ld={ot:i,zd:t}}Vr(t,i){if(null===this.Ld||null===this.Ed)return;if(i-this.Ld.ot>50)return;let n=0;const s=ls(this.Ld,this.Ed,this.Ud),e=hs(this.Ld,this.Ed),r=[s],h=[e];if(n+=e,null!==this.Nd){const t=ls(this.Ed,this.Nd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Ed,this.Nd);if(r.push(t),h.push(i),n+=i,null!==this.Fd){const t=ls(this.Nd,this.Fd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Nd,this.Fd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.$d||(this.Wd={zd:t,ot:i},this.Hd=l,this.jd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.qd))}tc(t){const i=b(this.Wd),n=t-i.ot;return i.zd+this.Hd*(Math.pow(this.qd,n)-1)/Math.log(this.qd)}Qu(t){return null===this.Wd||this.Zd(t)===this.jd}Zd(t){const i=t-b(this.Wd).ot;return Math.min(i,this.jd)}}class os{constructor(t,i){this.Xd=void 0,this.Kd=void 0,this.Gd=void 0,this.en=!1,this.Jd=t,this.Qd=i,this.tf()}bt(){this.tf()}if(){this.Xd&&this.Jd.removeChild(this.Xd),this.Kd&&this.Jd.removeChild(this.Kd),this.Xd=void 0,this.Kd=void 0}nf(){return this.en!==this.sf()||this.Gd!==this.ef()}ef(){return P(T(this.Qd.W().layout.textColor))>160?\"dark\":\"light\"}sf(){return this.Qd.W().layout.attributionLogo}rf(){const t=new URL(location.href);return t.hostname?\"&utm_source=\"+t.hostname+t.pathname:\"\"}tf(){this.nf()&&(this.if(),this.en=this.sf(),this.en&&(this.Gd=this.ef(),this.Kd=document.createElement(\"style\"),this.Kd.innerText=\"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\",this.Xd=document.createElement(\"a\"),this.Xd.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`,this.Xd.title=\"Charting by TradingView\",this.Xd.id=\"tv-attr-logo\",this.Xd.target=\"_blank\",this.Xd.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 35 19\" width=\"35\" height=\"19\" fill=\"none\"><g fill-rule=\"evenodd\" clip-path=\"url(#a)\" clip-rule=\"evenodd\"><path fill=\"var(--stroke)\" d=\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\"/><path fill=\"var(--fill)\" d=\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"/></g><defs><clipPath id=\"a\"><path fill=\"var(--stroke)\" d=\"M0 0h35v19H0z\"/></clipPath></defs></svg>',this.Xd.toggleAttribute(\"data-dark\",\"dark\"===this.Gd),this.Jd.appendChild(this.Kd),this.Jd.appendChild(this.Xd)))}}function _s(t,n){const s=b(t.ownerDocument).createElement(\"canvas\");t.appendChild(s);const e=i(s,{type:\"device-pixel-content-box\",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function us(t){var i;t.width=1,t.height=1,null===(i=t.getContext(\"2d\"))||void 0===i||i.clearRect(0,0,1,1)}function cs(t,i,n,s){t.gl&&t.gl(i,n,s)}function ds(t,i,n,s){t.X(i,n,s)}function fs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function vs(t){ns&&void 0!==window.chrome&&t.addEventListener(\"mousedown\",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ps{constructor(t,i,n){this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.df=null,this.ff=!1,this.vf=null,this.pf=null,this.mf=!1,this.bf=!1,this.wf=!1,this.gf=null,this.Mf=null,this.xf=null,this.Sf=null,this.kf=null,this.yf=null,this.Cf=null,this.Tf=0,this.Pf=!1,this.Rf=!1,this.Df=!1,this.Vf=0,this.Of=null,this.Bf=!es(),this.Af=t=>{this.If(t)},this.zf=t=>{if(this.Lf(t)){const i=this.Ef(t);if(++this._f,this.uf&&this._f>1){const{Nf:n}=this.Ff(ws(t),this.cf);n<30&&!this.wf&&this.Wf(i,this.Hf.jf),this.$f()}}else{const i=this.Ef(t);if(++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}}},this.Zf=t,this.Hf=i,this.cn=n,this.Xf()}S(){null!==this.gf&&(this.gf(),this.gf=null),null!==this.Mf&&(this.Mf(),this.Mf=null),null!==this.Sf&&(this.Sf(),this.Sf=null),null!==this.kf&&(this.kf(),this.kf=null),null!==this.yf&&(this.yf(),this.yf=null),null!==this.xf&&(this.xf(),this.xf=null),this.Kf(),this.Yf()}Gf(t){this.Sf&&this.Sf();const i=this.Jf.bind(this);if(this.Sf=()=>{this.Zf.removeEventListener(\"mousemove\",i)},this.Zf.addEventListener(\"mousemove\",i),this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.Qf),this.Bf=!0}Yf(){null!==this.lf&&clearTimeout(this.lf),this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}$f(){null!==this.uf&&clearTimeout(this.uf),this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Jf(t){if(this.Df||null!==this.pf)return;if(this.Lf(t))return;const i=this.Ef(t);this.Uf(i,this.Hf.tv),this.Bf=!0}iv(t){const i=Ms(t.changedTouches,b(this.Of));if(null===i)return;if(this.Vf=gs(t),null!==this.Cf)return;if(this.Rf)return;this.Pf=!0;const n=this.Ff(ws(i),b(this.pf)),{nv:s,sv:e,Nf:r}=n;if(this.mf||!(r<5)){if(!this.mf){const t=.5*s,i=e>=t&&!this.cn.ev(),n=t>e&&!this.cn.rv();i||n||(this.Rf=!0),this.mf=!0,this.wf=!0,this.Kf(),this.$f()}if(!this.Rf){const n=this.Ef(t,i);this.Wf(n,this.Hf.hv),bs(t)}}}lv(t){if(0!==t.button)return;const i=this.Ff(ws(t),b(this.vf)),{Nf:n}=i;if(n>=5&&(this.bf=!0,this.Yf()),this.bf){const i=this.Ef(t);this.Uf(i,this.Hf.av)}}Ff(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{nv:n,sv:s,Nf:n+s}}ov(t){let i=Ms(t.changedTouches,b(this.Of));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Of=null,this.Vf=gs(t),this.Kf(),this.pf=null,this.yf&&(this.yf(),this.yf=null);const n=this.Ef(t,i);if(this.Wf(n,this.Hf._v),++this._f,this.uf&&this._f>1){const{Nf:t}=this.Ff(ws(i),this.cf);t<30&&!this.wf&&this.Wf(n,this.Hf.jf),this.$f()}else this.wf||(this.Wf(n,this.Hf.uv),this.Hf.uv&&bs(t));0===this._f&&bs(t),0===t.touches.length&&this.ff&&(this.ff=!1,bs(t))}If(t){if(0!==t.button)return;const i=this.Ef(t);if(this.vf=null,this.Df=!1,this.kf&&(this.kf(),this.kf=null),ss()){this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\",this.Af)}if(!this.Lf(t))if(this.Uf(i,this.Hf.cv),++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}else this.bf||this.Uf(i,this.Hf.dv)}Kf(){null!==this.df&&(clearTimeout(this.df),this.df=null)}fv(t){if(null!==this.Of)return;const i=t.changedTouches[0];this.Of=i.identifier,this.Vf=gs(t);const n=this.Zf.ownerDocument.documentElement;this.wf=!1,this.mf=!1,this.Rf=!1,this.pf=ws(i),this.yf&&(this.yf(),this.yf=null);{const i=this.iv.bind(this),s=this.ov.bind(this);this.yf=()=>{n.removeEventListener(\"touchmove\",i),n.removeEventListener(\"touchend\",s)},n.addEventListener(\"touchmove\",i,{passive:!1}),n.addEventListener(\"touchend\",s,{passive:!1}),this.Kf(),this.df=setTimeout(this.vv.bind(this,t),240)}const s=this.Ef(t,i);this.Wf(s,this.Hf.pv),this.uf||(this._f=0,this.uf=setTimeout(this.$f.bind(this),500),this.cf=ws(i))}mv(t){if(0!==t.button)return;const i=this.Zf.ownerDocument.documentElement;ss()&&i.addEventListener(\"mouseleave\",this.Af),this.bf=!1,this.vf=ws(t),this.kf&&(this.kf(),this.kf=null);{const t=this.lv.bind(this),n=this.If.bind(this);this.kf=()=>{i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseup\",n)},i.addEventListener(\"mousemove\",t),i.addEventListener(\"mouseup\",n)}if(this.Df=!0,this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.bv),this.lf||(this.hf=0,this.lf=setTimeout(this.Yf.bind(this),500),this.af=ws(t))}Xf(){this.Zf.addEventListener(\"mouseenter\",this.Gf.bind(this)),this.Zf.addEventListener(\"touchcancel\",this.Kf.bind(this));{const t=this.Zf.ownerDocument,i=t=>{this.Hf.wv&&(t.composed&&this.Zf.contains(t.composedPath()[0])||t.target&&this.Zf.contains(t.target)||this.Hf.wv())};this.Mf=()=>{t.removeEventListener(\"touchstart\",i)},this.gf=()=>{t.removeEventListener(\"mousedown\",i)},t.addEventListener(\"mousedown\",i),t.addEventListener(\"touchstart\",i,{passive:!0})}es()&&(this.xf=()=>{this.Zf.removeEventListener(\"dblclick\",this.zf)},this.Zf.addEventListener(\"dblclick\",this.zf)),this.Zf.addEventListener(\"mouseleave\",this.gv.bind(this)),this.Zf.addEventListener(\"touchstart\",this.fv.bind(this),{passive:!0}),vs(this.Zf),this.Zf.addEventListener(\"mousedown\",this.mv.bind(this)),this.Mv(),this.Zf.addEventListener(\"touchmove\",(()=>{}),{passive:!1})}Mv(){void 0===this.Hf.xv&&void 0===this.Hf.Sv&&void 0===this.Hf.kv||(this.Zf.addEventListener(\"touchstart\",(t=>this.yv(t.touches)),{passive:!0}),this.Zf.addEventListener(\"touchmove\",(t=>{if(2===t.touches.length&&null!==this.Cf&&void 0!==this.Hf.Sv){const i=ms(t.touches[0],t.touches[1])/this.Tf;this.Hf.Sv(this.Cf,i),bs(t)}}),{passive:!1}),this.Zf.addEventListener(\"touchend\",(t=>{this.yv(t.touches)})))}yv(t){1===t.length&&(this.Pf=!1),2!==t.length||this.Pf||this.ff?this.Cv():this.Tv(t)}Tv(t){const i=this.Zf.getBoundingClientRect()||{left:0,top:0};this.Cf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Tf=ms(t[0],t[1]),void 0!==this.Hf.xv&&this.Hf.xv(),this.Kf()}Cv(){null!==this.Cf&&(this.Cf=null,void 0!==this.Hf.kv&&this.Hf.kv())}gv(t){if(this.Sf&&this.Sf(),this.Lf(t))return;if(!this.Bf)return;const i=this.Ef(t);this.Uf(i,this.Hf.Pv),this.Bf=!es()}vv(t){const i=Ms(t.touches,b(this.Of));if(null===i)return;const n=this.Ef(t,i);this.Wf(n,this.Hf.Rv),this.wf=!0,this.ff=!0}Lf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:gs(t)<this.Vf+500}Wf(t,i){i&&i.call(this.Hf,t)}Uf(t,i){i&&i.call(this.Hf,t)}Ef(t,i){const n=i||t,s=this.Zf.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Dv:!t.type.startsWith(\"mouse\")&&\"contextmenu\"!==t.type&&\"click\"!==t.type,Vv:t.type,Ov:n.target,Bv:t.view,Av:()=>{\"touchstart\"!==t.type&&bs(t)}}}}function ms(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bs(t){t.cancelable&&t.preventDefault()}function ws(t){return{nt:t.pageX,st:t.pageY}}function gs(t){return t.timeStamp||performance.now()}function Ms(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}function xs(t){return{Hc:t.Hc,Iv:{gr:t.zv.externalId},Lv:t.zv.cursorStyle}}function Ss(t,i,n){for(const s of t){const t=s.gt();if(null!==t&&t.wr){const e=t.wr(i,n);if(null!==e)return{Bv:s,Iv:e}}}return null}function ks(t,i){return n=>{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.Pa())&&void 0!==e?e:\"\")!==i?[]:null!==(h=null===(r=n.da)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}function ys(t,i,n,s){if(!t.length)return;let e=0;const r=n/2,h=t[0].At(s,!0);let l=1===i?r-(t[0].Vi()-h/2):t[0].Vi()-h/2-r;l=Math.max(0,l);for(let r=1;r<t.length;r++){const h=t[r],a=t[r-1],o=a.At(s,!1),_=h.Vi(),u=a.Vi();if(1===i?_>u-o:_<u+o){const s=u-o*i;h.Oi(s);const r=s-i*o/2;if((1===i?r<0:r>n)&&l>0){const s=1===i?-1-r:r-n,h=Math.min(s,l);for(let n=e;n<t.length;n++)t[n].Oi(t[n].Vi()+i*h);l-=h}}else e=r,l=1===i?u-o-_:_-(u+o)}}class Cs{constructor(i,n,s,e){this.Li=null,this.Ev=null,this.Nv=!1,this.Fv=new ni(200),this.Qr=null,this.Wv=0,this.jv=!1,this.Hv=()=>{this.jv||this.tn.$v().$t().Uh()},this.Uv=()=>{this.jv||this.tn.$v().$t().Uh()},this.tn=i,this.cn=n,this.ko=n.layout,this.Oc=s,this.qv=\"left\"===e,this.Yv=ks(\"normal\",e),this.Zv=ks(\"top\",e),this.Xv=ks(\"bottom\",e),this.Kv=document.createElement(\"div\"),this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Kv.style.width=\"25px\",this.Kv.style.left=\"0\",this.Kv.style.position=\"relative\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const r=this.Gv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"1\",r.style.left=\"0\",r.style.top=\"0\",this.Jv=_s(this.Kv,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const h=this.Jv.canvasElement;h.style.position=\"absolute\",h.style.zIndex=\"2\",h.style.left=\"0\",h.style.top=\"0\";const l={bv:this.Qv.bind(this),pv:this.Qv.bind(this),av:this.tp.bind(this),hv:this.tp.bind(this),wv:this.ip.bind(this),cv:this.np.bind(this),_v:this.np.bind(this),qf:this.sp.bind(this),jf:this.sp.bind(this),Qf:this.ep.bind(this),Pv:this.rp.bind(this)};this.hp=new ps(this.Jv.canvasElement,l,{ev:()=>!this.cn.handleScroll.vertTouchDrag,rv:()=>!0})}S(){this.hp.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Li&&this.Li.Ko().p(this),this.Li=null}lp(){return this.Kv}P(){return this.ko.fontSize}ap(){const t=this.Oc.W();return this.Qr!==t.R&&(this.Fv.nr(),this.Qr=t.R),t}op(){if(null===this.Li)return 0;let t=0;const i=this.ap(),n=b(this.Gv.canvasElement.getContext(\"2d\"));n.save();const s=this.Li.Ha();n.font=this._p(),s.length>0&&(t=Math.max(this.Fv.xi(n,s[0].so),this.Fv.xi(n,s[s.length-1].so)));const e=this.up();for(let i=e.length;i--;){const s=this.Fv.xi(n,e[i].Kt());s>t&&(t=s)}const r=this.Li.Ct();if(null!==r&&null!==this.Ev&&(2!==(h=this.cn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Li.pn(1,r),s=this.Li.pn(this.Ev.height-2,r);t=Math.max(t,this.Fv.xi(n,this.Li.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Fv.xi(n,this.Li.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const l=t||34;return rs(Math.ceil(i.C+i.T+i.A+i.I+5+l))}cp(t){null!==this.Ev&&n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`)}dp(){return b(this.Ev).width}Gi(t){this.Li!==t&&(null!==this.Li&&this.Li.Ko().p(this),this.Li=t,t.Ko().l(this.fo.bind(this),this))}Dt(){return this.Li}nr(){const t=this.tn.fp();this.tn.$v().$t().E_(t,b(this.Dt()))}vp(t){if(null===this.Ev)return;if(1!==t){this.pp(),this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)})),this.tn.bp(t,this.Xv),this.wp(t),this.tn.bp(t,this.Yv),this.gp(t))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Mp(i),this.tn.bp(i,this.Zv))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}bt(){var t;null===(t=this.Li)||void 0===t||t.Ha()}Qv(t){if(null===this.Li||this.Li.Ni()||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!0,i.V_(n,this.Li,t.localY)}tp(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp(),s=this.Li;i.O_(n,s,t.localY)}ip(){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const t=this.tn.$v().$t(),i=this.tn.fp(),n=this.Li;this.Nv&&(this.Nv=!1,t.B_(i,n))}np(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!1,i.B_(n,this.Li)}sp(t){this.cn.handleScale.axisDoubleClickReset.price&&this.nr()}ep(t){if(null===this.Li)return;!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price||this.Li.Mh()||this.Li.Oo()||this.kp(1)}rp(t){this.kp(0)}up(){const t=[],i=null===this.Li?void 0:this.Li;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Rn(this.tn.fp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.fp().Uo()),t}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.fp().$t(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,r):tt(t,0,0,n,s,r,h)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Ev||null===this.Li||!this.Li.W().borderVisible)return;t.fillStyle=this.Li.W().borderColor;const s=Math.max(1,Math.floor(this.ap().C*n));let e;e=this.qv?i.width-s:0,t.fillRect(e,0,s,i.height)}wp(t){if(null===this.Ev||null===this.Li)return;const i=this.Li.Ha(),n=this.Li.W(),s=this.ap(),e=this.qv?this.Ev.width-s.T:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Ea*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this._p(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.ko.textColor,t.textAlign=this.qv?\"right\":\"left\",t.textBaseline=\"middle\";const h=this.qv?Math.round(e-s.A):Math.round(e+s.T+s.A),l=i.map((i=>this.Fv.Mi(t,i.so)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.so,h,s.Ea+l[n])}}))}pp(){if(null===this.Ev||null===this.Li)return;const t=[],i=this.Li.Uo().slice(),n=this.tn.fp(),s=this.ap();this.Li===n.pr()&&this.tn.fp().Uo().forEach((t=>{n.vr(t)&&i.push(t)}));const e=this.Li;i.forEach((i=>{i.Rn(n,e).forEach((i=>{i.Oi(null),i.Bi()&&t.push(i)}))})),t.forEach((t=>t.Oi(t.ki())));this.Li.W().alignLabels&&this.yp(t,s)}yp(t,i){if(null===this.Ev)return;const n=this.Ev.height/2,s=t.filter((t=>t.ki()<=n)),e=t.filter((t=>t.ki()>n));s.sort(((t,i)=>i.ki()-t.ki())),e.sort(((t,i)=>t.ki()-i.ki()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.ki();s>-t&&s<t&&n.Oi(t),s>this.Ev.height-t&&s<this.Ev.height+t&&n.Oi(this.Ev.height-t)}ys(s,1,this.Ev.height,i),ys(e,-1,this.Ev.height,i)}gp(t){if(null===this.Ev)return;const i=this.up(),n=this.ap(),s=this.qv?\"right\":\"left\";i.forEach((i=>{if(i.Ai()){i.gt(b(this.Li)).X(t,n,this.Fv,s)}}))}Mp(t){if(null===this.Ev||null===this.Li)return;const i=this.tn.$v().$t(),n=[],s=this.tn.fp(),e=i.Zc().Rn(s,this.Li);e.length&&n.push(e);const r=this.ap(),h=this.qv?\"right\":\"left\";n.forEach((i=>{i.forEach((i=>{i.gt(b(this.Li)).X(t,r,this.Fv,h)}))}))}kp(t){this.Kv.style.cursor=1===t?\"ns-resize\":\"default\"}fo(){const t=this.op();this.Wv<t&&this.tn.$v().$t().Kl(),this.Wv=t}_p(){return F(this.ko.fontSize,this.ko.fontFamily)}}function Ts(t,i){var n,s;return null!==(s=null===(n=t.ua)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ps(t,i){var n,s;return null!==(s=null===(n=t.Pn)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Rs(t,i){var n,s;return null!==(s=null===(n=t.Ji)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ds(t,i){var n,s;return null!==(s=null===(n=t.aa)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}class Vs{constructor(i,n){this.Ev=t({width:0,height:0}),this.Cp=null,this.Tp=null,this.Pp=null,this.Rp=null,this.Dp=!1,this.Vp=new D,this.Op=new D,this.Bp=0,this.Ap=!1,this.Ip=null,this.zp=!1,this.Lp=null,this.Ep=null,this.jv=!1,this.Hv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Uv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Qd=i,this.Np=n,this.Np.W_().l(this.Fp.bind(this),this,!0),this.Wp=document.createElement(\"td\"),this.Wp.style.padding=\"0\",this.Wp.style.position=\"relative\";const s=document.createElement(\"div\");s.style.width=\"100%\",s.style.height=\"100%\",s.style.position=\"relative\",s.style.overflow=\"hidden\",this.jp=document.createElement(\"td\"),this.jp.style.padding=\"0\",this.Hp=document.createElement(\"td\"),this.Hp.style.padding=\"0\",this.Wp.appendChild(s),this.Gv=_s(s,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const e=this.Gv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"1\",e.style.left=\"0\",e.style.top=\"0\",this.Jv=_s(s,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const r=this.Jv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"2\",r.style.left=\"0\",r.style.top=\"0\",this.$p=document.createElement(\"tr\"),this.$p.appendChild(this.jp),this.$p.appendChild(this.Wp),this.$p.appendChild(this.Hp),this.Up(),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>null===this.Ip&&!this.Qd.W().handleScroll.vertTouchDrag,rv:()=>null===this.Ip&&!this.Qd.W().handleScroll.horzTouchDrag})}S(){null!==this.Cp&&this.Cp.S(),null!==this.Tp&&this.Tp.S(),this.Pp=null,this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Np&&this.Np.W_().p(this),this.hp.S()}fp(){return b(this.Np)}qp(t){var i,n;null!==this.Np&&this.Np.W_().p(this),this.Np=t,null!==this.Np&&this.Np.W_().l(Vs.prototype.Fp.bind(this),this,!0),this.Up(),this.Qd.Yp().indexOf(this)===this.Qd.Yp().length-1?(this.Pp=null!==(i=this.Pp)&&void 0!==i?i:new os(this.Wp,this.Qd),this.Pp.bt()):(null===(n=this.Pp)||void 0===n||n.if(),this.Pp=null)}$v(){return this.Qd}lp(){return this.$p}Up(){if(null!==this.Np&&(this.Zp(),0!==this.$i().wt().length)){if(null!==this.Cp){const t=this.Np.R_();this.Cp.Gi(b(t))}if(null!==this.Tp){const t=this.Np.D_();this.Tp.Gi(b(t))}}}Xp(){null!==this.Cp&&this.Cp.bt(),null!==this.Tp&&this.Tp.bt()}M_(){return null!==this.Np?this.Np.M_():0}x_(t){this.Np&&this.Np.x_(t)}Qf(t){if(!this.Np)return;this.Kp();const i=t.localX,n=t.localY;this.Gp(i,n,t)}bv(t){this.Kp(),this.Jp(),this.Gp(t.localX,t.localY,t)}tv(t){var i;if(!this.Np)return;this.Kp();const n=t.localX,s=t.localY;this.Gp(n,s,t);const e=this.wr(n,s);this.Qd.Qp(null!==(i=null==e?void 0:e.Lv)&&void 0!==i?i:null),this.$i().jc(e&&{Hc:e.Hc,Iv:e.Iv})}dv(t){null!==this.Np&&(this.Kp(),this.tm(t))}qf(t){null!==this.Np&&this.im(this.Op,t)}jf(t){this.qf(t)}av(t){this.Kp(),this.nm(t),this.Gp(t.localX,t.localY,t)}cv(t){null!==this.Np&&(this.Kp(),this.Ap=!1,this.sm(t))}uv(t){null!==this.Np&&this.tm(t)}Rv(t){if(this.Ap=!0,null===this.Ip){const i={x:t.localX,y:t.localY};this.rm(i,i,t)}}Pv(t){null!==this.Np&&(this.Kp(),this.Np.$t().jc(null),this.hm())}lm(){return this.Vp}am(){return this.Op}xv(){this.Bp=1,this.$i().Un()}Sv(t,i){if(!this.Qd.W().handleScale.pinch)return;const n=5*(i-this.Bp);this.Bp=i,this.$i().Qc(t.nt,n)}pv(t){this.Ap=!1,this.zp=null!==this.Ip,this.Jp();const i=this.$i().Zc();null!==this.Ip&&i.yt()&&(this.Lp={x:i.Yt(),y:i.Zt()},this.Ip={x:t.localX,y:t.localY})}hv(t){if(null===this.Np)return;const i=t.localX,n=t.localY;if(null===this.Ip)this.nm(t);else{this.zp=!1;const s=b(this.Lp),e=s.x+(i-this.Ip.x),r=s.y+(n-this.Ip.y);this.Gp(e,r,t)}}_v(t){0===this.$v().W().trackingMode.exitMode&&(this.zp=!0),this.om(),this.sm(t)}wr(t,i){const n=this.Np;return null===n?null:function(t,i,n){const s=t.Uo(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.va)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||\"top\"===l&&\"top\"!==a||\"normal\"===l&&\"bottom\"===a)&&(r=i,h=o)}var l,a;return r&&h?{zv:r,Hc:h}:null}(s,i,n);if(\"top\"===(null==e?void 0:e.zv.zOrder))return xs(e);for(const r of s){if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&!e.zv.isBackground)return xs(e);const s=Ss(r.Pn(t),i,n);if(null!==s)return{Hc:r,Bv:s.Bv,Iv:s.Iv};if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&e.zv.isBackground)return xs(e)}return(null==e?void 0:e.zv)?xs(e):null}(n,t,i)}_m(i,n){b(\"left\"===n?this.Cp:this.Tp).cp(t({width:i,height:this.Ev.height}))}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Wp.style.width=t.width+\"px\",this.Wp.style.height=t.height+\"px\")}dm(){const t=b(this.Np);t.P_(t.R_()),t.P_(t.D_());for(const i of t.Ba())if(t.vr(i)){const n=i.Dt();null!==n&&t.P_(n),i.Vn()}}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(null===this.Np)return;if(t>1&&this.dm(),null!==this.Cp&&this.Cp.vp(t),null!==this.Tp&&this.Tp.vp(t),1!==t){this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t)})),this.Np&&(this.fm(t,Ts),this.vm(t),this.pm(t),this.fm(t,Ps),this.fm(t,Rs)))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bm(i),this.fm(i,Ds))}wm(){return this.Cp}gm(){return this.Tp}bp(t,i){this.fm(t,i)}Fp(){null!==this.Np&&this.Np.W_().p(this),this.Np=null}tm(t){this.im(this.Vp,t)}im(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.$i().St().Nu(n),{x:n,y:s},i)}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.$i(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,h):tt(t,0,0,n,s,r,h)}vm(t){const i=b(this.Np).j_().qh().gt();null!==i&&i.X(t,!1)}pm(t){const i=this.$i().Yc();this.Mm(t,Ps,cs,i),this.Mm(t,Ps,ds,i)}bm(t){this.Mm(t,Ps,ds,this.$i().Zc())}fm(t,i){const n=b(this.Np).Uo();for(const s of n)this.Mm(t,i,cs,s);for(const s of n)this.Mm(t,i,ds,s)}Mm(t,i,n,s){const e=b(this.Np),r=e.$t().Wc(),h=null!==r&&r.Hc===s,l=null!==r&&h&&void 0!==r.Iv?r.Iv.Mr:void 0;fs(i,(i=>n(i,t,h,l)),s,e)}Zp(){if(null===this.Np)return;const t=this.Qd,i=this.Np.R_().W().visible,n=this.Np.D_().W().visible;i||null===this.Cp||(this.jp.removeChild(this.Cp.lp()),this.Cp.S(),this.Cp=null),n||null===this.Tp||(this.Hp.removeChild(this.Tp.lp()),this.Tp.S(),this.Tp=null);const s=t.$t().ud();i&&null===this.Cp&&(this.Cp=new Cs(this,t.W(),s,\"left\"),this.jp.appendChild(this.Cp.lp())),n&&null===this.Tp&&(this.Tp=new Cs(this,t.W(),s,\"right\"),this.Hp.appendChild(this.Tp.lp()))}xm(t){return t.Dv&&this.Ap||null!==this.Ip}Sm(t){return Math.max(0,Math.min(t,this.Ev.width-1))}km(t){return Math.max(0,Math.min(t,this.Ev.height-1))}Gp(t,i,n){this.$i().ld(this.Sm(t),this.km(i),n,b(this.Np))}hm(){this.$i().od()}om(){this.zp&&(this.Ip=null,this.hm())}rm(t,i,n){this.Ip=t,this.zp=!1,this.Gp(i.x,i.y,n);const s=this.$i().Zc();this.Lp={x:s.Yt(),y:s.Zt()}}$i(){return this.Qd.$t()}sm(t){if(!this.Dp)return;const i=this.$i(),n=this.fp();if(i.z_(n,n.vn()),this.Rp=null,this.Dp=!1,i.ed(),null!==this.Ep){const t=performance.now(),n=i.St();this.Ep.Vr(n.Hu(),t),this.Ep.Qu(t)||i.Zn(this.Ep)}}Kp(){this.Ip=null}Jp(){if(!this.Np)return;if(this.$i().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Np.vn().Ni()&&this.$i().St().Ni()}nm(t){if(null===this.Np)return;const i=this.$i(),n=i.St();if(n.Ni())return;const s=this.Qd.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Dv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Dv))return;const h=this.Np.vn(),l=performance.now();if(null!==this.Rp||this.xm(t)||(this.Rp={x:t.clientX,y:t.clientY,Od:l,ym:t.localX,Cm:t.localY}),null!==this.Rp&&!this.Dp&&(this.Rp.x!==t.clientX||this.Rp.y!==t.clientY)){if(t.Dv&&r.touch||!t.Dv&&r.mouse){const t=n.le();this.Ep=new as(.2/t,7/t,.997,15/t),this.Ep.Yd(n.Hu(),this.Rp.Od)}else this.Ep=null;h.Ni()||i.A_(this.Np,h,t.localY),i.nd(t.localX),this.Dp=!0}this.Dp&&(h.Ni()||i.I_(this.Np,h,t.localY),i.sd(t.localX),null!==this.Ep&&this.Ep.Yd(n.Hu(),l))}}class Os{constructor(i,n,s,e,r){this.ft=!0,this.Ev=t({width:0,height:0}),this.Hv=()=>this.vp(3),this.qv=\"left\"===i,this.Oc=s.ud,this.cn=n,this.Tm=e,this.Pm=r,this.Kv=document.createElement(\"div\"),this.Kv.style.width=\"25px\",this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv)}S(){this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Kv}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.Gv.resizeCanvasElement(t),this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`,this.ft=!0)}vp(t){if(t<3&&!this.ft)return;if(0===this.Ev.width||0===this.Ev.height)return;this.ft=!1,this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)}))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tm())return;t.fillStyle=this.cn.timeScale.borderColor;const e=Math.floor(this.Oc.W().C*n),r=Math.floor(this.Oc.W().C*s),h=this.qv?i.width-e:0;t.fillRect(h,0,e,r)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Pm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.fa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const As=Bs(\"normal\"),Is=Bs(\"top\"),zs=Bs(\"bottom\");class Ls{constructor(i,n){this.Rm=null,this.Dm=null,this.k=null,this.Vm=!1,this.Ev=t({width:0,height:0}),this.Om=new D,this.Fv=new ni(5),this.jv=!1,this.Hv=()=>{this.jv||this.Qd.$t().Uh()},this.Uv=()=>{this.jv||this.Qd.$t().Uh()},this.Qd=i,this.q_=n,this.cn=i.W().layout,this.Xd=document.createElement(\"tr\"),this.Bm=document.createElement(\"td\"),this.Bm.style.padding=\"0\",this.Am=document.createElement(\"td\"),this.Am.style.padding=\"0\",this.Kv=document.createElement(\"td\"),this.Kv.style.height=\"25px\",this.Kv.style.padding=\"0\",this.Im=document.createElement(\"div\"),this.Im.style.width=\"100%\",this.Im.style.height=\"100%\",this.Im.style.position=\"relative\",this.Im.style.overflow=\"hidden\",this.Kv.appendChild(this.Im),this.Gv=_s(this.Im,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const s=this.Gv.canvasElement;s.style.position=\"absolute\",s.style.zIndex=\"1\",s.style.left=\"0\",s.style.top=\"0\",this.Jv=_s(this.Im,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const e=this.Jv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"2\",e.style.left=\"0\",e.style.top=\"0\",this.Xd.appendChild(this.Bm),this.Xd.appendChild(this.Kv),this.Xd.appendChild(this.Am),this.zm(),this.Qd.$t().g_().l(this.zm.bind(this),this),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>!0,rv:()=>!this.Qd.W().handleScroll.horzTouchDrag})}S(){this.hp.S(),null!==this.Rm&&this.Rm.S(),null!==this.Dm&&this.Dm.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Xd}Lm(){return this.Rm}Em(){return this.Dm}bv(t){if(this.Vm)return;this.Vm=!0;const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.Jc(t.localX)}pv(t){this.bv(t)}wv(){const t=this.Qd.$t();!t.St().Ni()&&this.Vm&&(this.Vm=!1,this.Qd.W().handleScale.axisPressedMouseMove.time&&t.hd())}av(t){const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.rd(t.localX)}hv(t){this.av(t)}cv(){this.Vm=!1;const t=this.Qd.$t();t.St().Ni()&&!this.Qd.W().handleScale.axisPressedMouseMove.time||t.hd()}_v(){this.cv()}qf(){this.Qd.W().handleScale.axisDoubleClickReset.time&&this.Qd.$t().Kn()}jf(){this.qf()}Qf(){this.Qd.$t().W().handleScale.axisPressedMouseMove.time&&this.kp(1)}Pv(){this.kp(0)}um(){return this.Ev}Nm(){return this.Om}Fm(i,s,e){n(this.Ev,i)||(this.Ev=i,this.jv=!0,this.Gv.resizeCanvasElement(i),this.Jv.resizeCanvasElement(i),this.jv=!1,this.Kv.style.width=`${i.width}px`,this.Kv.style.height=`${i.height}px`,this.Om.m(i)),null!==this.Rm&&this.Rm.cp(t({width:s,height:i.height})),null!==this.Dm&&this.Dm.cp(t({width:e,height:i.height}))}Wm(){const t=this.jm();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.Hm)}bt(){this.Qd.$t().St().Ha()}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(1!==t){this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t),this.$m(i,zs)})),this.wp(i),this.$m(i,As)),null!==this.Rm&&this.Rm.vp(t),null!==this.Dm&&this.Dm.vp(t)}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Um([...this.Qd.$t().wt(),this.Qd.$t().Zc()],i),this.$m(i,Is))}$m(t,i){const n=this.Qd.$t().wt();for(const s of n)fs(i,(i=>cs(i,t,!1,void 0)),s,void 0);for(const s of n)fs(i,(i=>ds(i,t,!1,void 0)),s,void 0)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Qd.$t().bd())}Ie({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Qd.W().timeScale.borderVisible){t.fillStyle=this.qm();const s=Math.max(1,Math.floor(this.jm().C*n));t.fillRect(0,0,i.width,s)}}wp(t){const i=this.Qd.$t().St(),n=i.Ha();if(!n||0===n.length)return;const s=this.q_.maxTickMarkWeight(n),e=this.jm(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.qm(),t.fillStyle=this.qm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=this.$(),t.font=this._p();for(const e of n)if(e.weight<s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}this.Qd.W().timeScale.allowBoldLabels&&(t.font=this.Zm());for(const e of n)if(e.weight>=s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Ym(t,i,n){const s=this.Fv.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Ev.width&&(i-=Math.abs(this.Ev.width-(r+s))),i}Um(t,i){const n=this.jm();for(const s of t)for(const t of s.Qi())t.gt().X(i,n)}qm(){return this.Qd.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}_p(){return F(this.j(),this.cn.fontFamily)}Zm(){return F(this.j(),this.cn.fontFamily,\"bold\")}jm(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,ji:NaN,T:5,P:NaN,R:\"\",Wi:new ni,Hm:0});const t=this.k,i=this._p();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.N=0,t.Hm=4*n/12,t.Wi.nr()}return this.k}kp(t){this.Kv.style.cursor=1===t?\"ew-resize\":\"default\"}zm(){const t=this.Qd.$t(),i=t.W();i.leftPriceScale.visible||null===this.Rm||(this.Bm.removeChild(this.Rm.lp()),this.Rm.S(),this.Rm=null),i.rightPriceScale.visible||null===this.Dm||(this.Am.removeChild(this.Dm.lp()),this.Dm.S(),this.Dm=null);const n={ud:this.Qd.$t().ud()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t.bd();i.leftPriceScale.visible&&null===this.Rm&&(this.Rm=new Os(\"left\",i,n,s,e),this.Bm.appendChild(this.Rm.lp())),i.rightPriceScale.visible&&null===this.Dm&&(this.Dm=new Os(\"right\",i,n,s,e),this.Am.appendChild(this.Dm.lp()))}}const Es=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes(\"Chromium\")))&&!!ns&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?\"Windows\"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf(\"win\")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Xm=[],this.Km=0,this.ho=0,this.__=0,this.Gm=0,this.Jm=0,this.Qm=null,this.tb=!1,this.Vp=new D,this.Op=new D,this.Rc=new D,this.ib=null,this.nb=null,this.Jd=t,this.cn=i,this.q_=n,this.Xd=document.createElement(\"div\"),this.Xd.classList.add(\"tv-lightweight-charts\"),this.Xd.style.overflow=\"hidden\",this.Xd.style.direction=\"ltr\",this.Xd.style.width=\"100%\",this.Xd.style.height=\"100%\",(s=this.Xd).style.userSelect=\"none\",s.style.webkitUserSelect=\"none\",s.style.msUserSelect=\"none\",s.style.MozUserSelect=\"none\",s.style.webkitTapHighlightColor=\"transparent\",this.sb=document.createElement(\"table\"),this.sb.setAttribute(\"cellspacing\",\"0\"),this.Xd.appendChild(this.sb),this.eb=this.rb.bind(this),Ws(this.cn)&&this.hb(!0),this.$i=new Ln(this.Vc.bind(this),this.cn,n),this.$t().Xc().l(this.lb.bind(this),this),this.ab=new Ls(this,this.q_),this.sb.appendChild(this.ab.lp());const e=i.autoSize&&this.ob();let r=this.cn.width,h=this.cn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this._b(r,h),this.ub(),t.appendChild(this.Xd),this.cb(),this.$i.St().ec().l(this.$i.Kl.bind(this.$i),this),this.$i.g_().l(this.$i.Kl.bind(this.$i),this)}$t(){return this.$i}W(){return this.cn}Yp(){return this.Xm}fb(){return this.ab}S(){this.hb(!1),0!==this.Km&&window.cancelAnimationFrame(this.Km),this.$i.Xc().p(this),this.$i.St().ec().p(this),this.$i.g_().p(this),this.$i.S();for(const t of this.Xm)this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S();this.Xm=[],b(this.ab).S(),null!==this.Xd.parentElement&&this.Xd.parentElement.removeChild(this.Xd),this.Rc.S(),this.Vp.S(),this.Op.S(),this.pb()}_b(i,n,s=!1){if(this.ho===n&&this.__===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.__=e.width;const r=this.ho+\"px\",h=this.__+\"px\";b(this.Xd).style.height=r,b(this.Xd).style.width=h,this.sb.style.height=r,this.sb.style.width=h,s?this.mb(ut.es(),performance.now()):this.$i.Kl()}vp(t){void 0===t&&(t=ut.es());for(let i=0;i<this.Xm.length;i++)this.Xm[i].vp(t.Hn(i).Fn);this.cn.timeScale.visible&&this.ab.vp(t.jn())}$h(t){const i=Ws(this.cn);this.$i.$h(t);const n=Ws(this.cn);n!==i&&this.hb(n),this.cb(),this.bb(t)}lm(){return this.Vp}am(){return this.Op}Xc(){return this.Rc}wb(){null!==this.Qm&&(this.mb(this.Qm,performance.now()),this.Qm=null);const t=this.gb(null),i=document.createElement(\"canvas\");i.width=t.width,i.height=t.height;const n=b(i.getContext(\"2d\"));return this.gb(n),i}Mb(t){if(\"left\"===t&&!this.xb())return 0;if(\"right\"===t&&!this.Sb())return 0;if(0===this.Xm.length)return 0;return b(\"left\"===t?this.Xm[0].wm():this.Xm[0].gm()).dp()}kb(){return this.cn.autoSize&&null!==this.ib}yb(){return this.Xd}Qp(t){this.nb=t,this.nb?this.yb().style.setProperty(\"cursor\",t):this.yb().style.removeProperty(\"cursor\")}Cb(){return this.nb}Tb(){return m(this.Xm[0]).um()}bb(t){(void 0!==t.autoSize||!this.ib||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.ib&&this.ob(),!1===t.autoSize&&null!==this.ib&&this.pb(),t.autoSize||void 0===t.width&&void 0===t.height||this._b(t.width||this.__,t.height||this.ho))}gb(i){let n=0,s=0;const e=this.Xm[0],r=(t,n)=>{let s=0;for(let e=0;e<this.Xm.length;e++){const r=this.Xm[e],h=b(\"left\"===t?r.wm():r.gm()),l=h.xp();null!==i&&h.Sp(i,n,s),s+=l.height}};if(this.xb()){r(\"left\",0);n+=b(e.wm()).xp().width}for(let t=0;t<this.Xm.length;t++){const e=this.Xm[t],r=e.xp();null!==i&&e.Sp(i,n,s),s+=r.height}if(n+=e.xp().width,this.Sb()){r(\"right\",n);n+=b(e.gm()).xp().width}const h=(t,n,s)=>{b(\"left\"===t?this.ab.Lm():this.ab.Em()).Sp(b(i),n,s)};if(this.cn.timeScale.visible){const t=this.ab.xp();if(null!==i){let n=0;this.xb()&&(h(\"left\",n,s),n=b(e.wm()).xp().width),this.ab.Sp(i,n,s),n+=t.width,this.Sb()&&h(\"right\",n,s)}s+=t.height}return t({width:n,height:s})}Pb(){let i=0,n=0,s=0;for(const t of this.Xm)this.xb()&&(n=Math.max(n,b(t.wm()).op(),this.cn.leftPriceScale.minimumWidth)),this.Sb()&&(s=Math.max(s,b(t.gm()).op(),this.cn.rightPriceScale.minimumWidth)),i+=t.M_();n=rs(n),s=rs(s);const e=this.__,r=this.ho,h=Math.max(e-n-s,0),l=this.cn.timeScale.visible;let a=l?Math.max(this.ab.Wm(),this.cn.timeScale.minimumHeight):0;var o;a=(o=a)+o%2;const _=0+a,u=r<_?0:r-_,c=u/i;let d=0;for(let i=0;i<this.Xm.length;++i){const e=this.Xm[i];e.qp(this.$i.qc()[i]);let r=0,l=0;l=i===this.Xm.length-1?u-d:Math.round(e.M_()*c),r=Math.max(l,2),d+=r,e.cp(t({width:h,height:r})),this.xb()&&e._m(n,\"left\"),this.Sb()&&e._m(s,\"right\"),e.fp()&&this.$i.Kc(e.fp(),r)}this.ab.Fm(t({width:l?h:0,height:a}),l?n:0,l?s:0),this.$i.S_(h),this.Gm!==n&&(this.Gm=n),this.Jm!==s&&(this.Jm=s)}hb(t){t?this.Xd.addEventListener(\"wheel\",this.eb,{passive:!1}):this.Xd.removeEventListener(\"wheel\",this.eb)}Rb(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Es?1/window.devicePixelRatio:1}rb(t){if(!(0!==t.deltaX&&this.cn.handleScroll.mouseWheel||0!==t.deltaY&&this.cn.handleScale.mouseWheel))return;const i=this.Rb(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.cn.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.Xd.getBoundingClientRect().left;this.$t().Qc(n,i)}0!==n&&this.cn.handleScroll.mouseWheel&&this.$t().td(-80*n)}mb(t,i){var n;const s=t.jn();3===s&&this.Db(),3!==s&&2!==s||(this.Vb(t),this.Ob(t,i),this.ab.bt(),this.Xm.forEach((t=>{t.Xp()})),3===(null===(n=this.Qm)||void 0===n?void 0:n.jn())&&(this.Qm.ts(t),this.Db(),this.Vb(this.Qm),this.Ob(this.Qm,i),t=this.Qm,this.Qm=null)),this.vp(t)}Ob(t,i){for(const n of t.Qn())this.ns(n,i)}Vb(t){const i=this.$i.qc();for(let n=0;n<i.length;n++)t.Hn(n).Wn&&i[n].N_()}ns(t,i){const n=this.$i.St();switch(t.qn){case 0:n.hc();break;case 1:n.lc(t.Vt);break;case 2:n.Gn(t.Vt);break;case 3:n.Jn(t.Vt);break;case 4:n.qu();break;case 5:t.Vt.Qu(i)||n.Jn(t.Vt.tc(i))}}Vc(t){null!==this.Qm?this.Qm.ts(t):this.Qm=t,this.tb||(this.tb=!0,this.Km=window.requestAnimationFrame((t=>{if(this.tb=!1,this.Km=0,null!==this.Qm){const i=this.Qm;this.Qm=null,this.mb(i,t);for(const n of i.Qn())if(5===n.qn&&!n.Vt.Qu(t)){this.$t().Zn(n.Vt);break}}})))}Db(){this.ub()}ub(){const t=this.$i.qc(),i=t.length,n=this.Xm.length;for(let t=i;t<n;t++){const t=m(this.Xm.pop());this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S()}for(let s=n;s<i;s++){const i=new Vs(this,t[s]);i.lm().l(this.Bb.bind(this),this),i.am().l(this.Ab.bind(this),this),this.Xm.push(i),this.sb.insertBefore(i.lp(),this.ab.lp())}for(let n=0;n<i;n++){const i=t[n],s=this.Xm[n];s.fp()!==i?s.qp(i):s.Up()}this.cb(),this.Pb()}Ib(t,i,n){var s;const e=new Map;if(null!==t){this.$i.wt().forEach((i=>{const n=i.In().ll(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.$i.St().Ui(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Wc(),l=null!==h&&h.Hc instanceof Gi?h.Hc:void 0,a=null!==h&&void 0!==h.Iv?h.Iv.gr:void 0;return{zb:r,ee:null!=t?t:void 0,Lb:null!=i?i:void 0,Eb:l,Nb:e,Fb:a,Wb:null!=n?n:void 0}}Bb(t,i,n){this.Vp.m((()=>this.Ib(t,i,n)))}Ab(t,i,n){this.Op.m((()=>this.Ib(t,i,n)))}lb(t,i,n){this.Rc.m((()=>this.Ib(t,i,n)))}cb(){const t=this.cn.timeScale.visible?\"\":\"none\";this.ab.lp().style.display=t}xb(){return this.Xm[0].fp().R_().W().visible}Sb(){return this.Xm[0].fp().D_().W().visible}ob(){return\"ResizeObserver\"in window&&(this.ib=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Jd));i&&this._b(i.contentRect.width,i.contentRect.height)})),this.ib.observe(this.Jd,{box:\"border-box\"}),!0)}pb(){null!==this.ib&&this.ib.disconnect(),this.ib=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Hs(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}function $s(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.color&&(r.V=n.color),r}function Us(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.lineColor&&(r.lt=n.lineColor),void 0!==n.topColor&&(r.Ps=n.topColor),void 0!==n.bottomColor&&(r.Rs=n.bottomColor),r}function qs(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.topLineColor&&(r.Re=n.topLineColor),void 0!==n.bottomLineColor&&(r.De=n.bottomLineColor),void 0!==n.topFillColor1&&(r.ke=n.topFillColor1),void 0!==n.topFillColor2&&(r.ye=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.Ce=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.Te=n.bottomFillColor2),r}function Ys(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),e}function Zs(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),void 0!==n.borderColor&&(e.Ot=n.borderColor),void 0!==n.wickColor&&(e.Xh=n.wickColor),e}function Xs(t,i,n,s,e){const r=m(e)(n),h=Math.max(...r),l=Math.min(...r),a=r[r.length-1],o=[a,h,l,a],_=n,{time:u,color:c}=_;return{ee:i,ot:t,Vt:o,zb:s,$e:Hs(_,[\"time\",\"color\"]),V:c}}function Ks(t){return void 0!==t.Vt}function Gs(t,i){return void 0!==i.customValues&&(t.jb=i.customValues),t}function Js(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Gs({ot:i,ee:n,zb:e},s):Gs(t(i,n,s,e,r),s)}function Qs(t){return{Candlestick:Js(Zs),Bar:Js(Ys),Area:Js(Us),Baseline:Js(qs),Histogram:Js($s),Line:Js($s),Custom:Js(Xs)}[t]}function te(t){return{ee:0,Hb:new Map,la:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{$b:i.key(t[0].ot),Ub:i.key(t[t.length-1].ot)}}function ne(t){let i;return t.forEach((t=>{void 0===i&&(i=t.zb)})),m(i)}class se{constructor(t){this.qb=new Map,this.Yb=new Map,this.Zb=new Map,this.Xb=[],this.q_=t}S(){this.qb.clear(),this.Yb.clear(),this.Zb.clear(),this.Xb=[]}Kb(t,i){let n=0!==this.qb.size,s=!1;const e=this.Yb.get(t);if(void 0!==e)if(1===this.Yb.size)n=!1,s=!0,this.qb.clear();else for(const i of this.Xb)i.pointData.Hb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.q_.createConverterToInternalObj(i),h=Qs(t.Qh()),l=t.Ca(),a=t.Ta();r=i.map(((i,r)=>{const o=e(i.time),_=this.q_.key(o);let u=this.qb.get(_);void 0===u&&(u=te(o),this.qb.set(_,u),s=!0);const c=h(o,u.ee,i,n[r],l,a);return u.Hb.set(t,c),c}))}n&&this.Gb(),this.Jb(t,r);let h=-1;if(s){const t=[];this.qb.forEach((i=>{t.push({timeWeight:0,time:i.la,pointData:i,originalTime:ne(i.Hb)})})),t.sort(((t,i)=>this.q_.key(t.time)-this.q_.key(i.time))),h=this.Qb(t)}return this.tw(t,h,function(t,i,n){const s=ie(t,n),e=ie(i,n);if(void 0!==s&&void 0!==e)return{ta:s.Ub>=e.Ub&&s.$b>=e.$b}}(this.Yb.get(t),e,this.q_))}vd(t){return this.Kb(t,[])}iw(t,i){const n=i;!function(t){void 0===t.zb&&(t.zb=t.time)}(n),this.q_.preprocessData(i);const s=this.q_.createConverterToInternalObj([i])(i.time),e=this.Zb.get(t);if(void 0!==e&&this.q_.key(s)<this.q_.key(e))throw new Error(`Cannot update oldest data, last time=${e}, new time=${s}`);let r=this.qb.get(this.q_.key(s));const h=void 0===r;void 0===r&&(r=te(s),this.qb.set(this.q_.key(s),r));const l=Qs(t.Qh()),a=t.Ca(),o=t.Ta(),_=l(s,r.ee,i,n.zb,a,o);r.Hb.set(t,_),this.nw(t,_);const u={ta:Ks(_)};if(!h)return this.tw(t,-1,u);const c={timeWeight:0,time:r.la,pointData:r,originalTime:ne(r.Hb)},d=Bt(this.Xb,this.q_.key(c.time),((t,i)=>this.q_.key(t.time)<i));this.Xb.splice(d,0,c);for(let t=d;t<this.Xb.length;++t)ee(this.Xb[t].pointData,t);return this.q_.fillWeightsForPoints(this.Xb,d),this.tw(t,d,u)}nw(t,i){let n=this.Yb.get(t);void 0===n&&(n=[],this.Yb.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||this.q_.key(i.ot)>this.q_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Zb.set(t,i.ot)}Jb(t,i){0!==i.length?(this.Yb.set(t,i.filter(Ks)),this.Zb.set(t,i[i.length-1].ot)):(this.Yb.delete(t),this.Zb.delete(t))}Gb(){for(const t of this.Xb)0===t.pointData.Hb.size&&this.qb.delete(this.q_.key(t.time))}Qb(t){let i=-1;for(let n=0;n<this.Xb.length&&n<t.length;++n){const s=this.Xb[n],e=t[n];if(this.q_.key(s.time)!==this.q_.key(e.time)){i=n;break}e.timeWeight=s.timeWeight,ee(e.pointData,n)}if(-1===i&&this.Xb.length!==t.length&&(i=Math.min(this.Xb.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ee(t[n].pointData,n);return this.q_.fillWeightsForPoints(t,i),this.Xb=t,i}sw(){if(0===this.Yb.size)return null;let t=0;return this.Yb.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].ee))})),t}tw(t,i,n){const s={ew:new Map,St:{Eu:this.sw()}};if(-1!==i)this.Yb.forEach(((i,e)=>{s.ew.set(e,{$e:i,rw:e===t?n:void 0})})),this.Yb.has(t)||s.ew.set(t,{$e:[],rw:n}),s.St.hw=this.Xb,s.St.lw=i;else{const i=this.Yb.get(t);s.ew.set(t,{$e:i||[],rw:n})}return s}}function ee(t,i){t.ee=i,t.Hb.forEach((t=>{t.ee=i}))}function re(t){const i={value:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function he(t){const i=re(t);return void 0!==t.V&&(i.color=t.V),i}function le(t){const i=re(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.Ps&&(i.topColor=t.Ps),void 0!==t.Rs&&(i.bottomColor=t.Rs),i}function ae(t){const i=re(t);return void 0!==t.Re&&(i.topLineColor=t.Re),void 0!==t.De&&(i.bottomLineColor=t.De),void 0!==t.ke&&(i.topFillColor1=t.ke),void 0!==t.ye&&(i.topFillColor2=t.ye),void 0!==t.Ce&&(i.bottomFillColor1=t.Ce),void 0!==t.Te&&(i.bottomFillColor2=t.Te),i}function oe(t){const i={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function _e(t){const i=oe(t);return void 0!==t.V&&(i.color=t.V),i}function ue(t){const i=oe(t),{V:n,Ot:s,Xh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ce(t){return{Area:le,Line:he,Baseline:ae,Histogram:he,Bar:_e,Candlestick:ue,Custom:de}[t]}function de(t){const i=t.zb;return Object.assign(Object.assign({},t.$e),{time:i})}const fe={vertLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},horzLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},mode:1},ve={vertLines:{color:\"#D6DCDE\",style:0,visible:!0},horzLines:{color:\"#D6DCDE\",style:0,visible:!0}},pe={background:{type:\"solid\",color:\"#FFFFFF\"},textColor:\"#191919\",fontSize:12,fontFamily:N,attributionLogo:!0},me={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:\"#2B2B43\",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},be={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:\"#2B2B43\",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},we={color:\"rgba(0, 0, 0, 0)\",visible:!1,fontSize:48,fontFamily:N,fontStyle:\"\",text:\"\",horzAlign:\"center\",vertAlign:\"center\"};function ge(){return{width:0,height:0,autoSize:!1,layout:pe,crosshair:fe,grid:ve,overlayPriceScales:Object.assign({},me),leftPriceScale:Object.assign(Object.assign({},me),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},me),{visible:!0}),timeScale:be,watermark:we,localization:{locale:ns?navigator.language:\"\",dateFormat:\"dd MMM 'yy\"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Me{constructor(t,i){this.aw=t,this.ow=i}applyOptions(t){this.aw.$t().$c(this.ow,t)}options(){return this.Li().W()}width(){return _t(this.ow)?this.aw.Mb(this.ow):0}Li(){return b(this.aw.$t().Uc(this.ow)).Dt}}function xe(t,i,n){const s=Hs(t,[\"time\",\"originalTime\"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const Se={color:\"#FF0000\",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:\"\",axisLabelColor:\"\",axisLabelTextColor:\"\"};class ke{constructor(t){this.Nh=t}applyOptions(t){this.Nh.$h(t)}options(){return this.Nh.W()}_w(){return this.Nh}}class ye{constructor(t,i,n,s,e){this.uw=new D,this.Es=t,this.cw=i,this.dw=n,this.q_=e,this.fw=s}S(){this.uw.S()}priceFormatter(){return this.Es.ba()}priceToCoordinate(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().Rt(t,i.Vt)}coordinateToPrice(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().pn(t,i.Vt)}barsInLogicalRange(t){if(null===t)return null;const i=new yn(new xn(t.from,t.to)).lu(),n=this.Es.In();if(n.Ni())return null;const s=n.ll(i.Os(),1),e=n.ll(i.ui(),-1),r=b(n.el()),h=b(n.An());if(null!==s&&null!==e&&s.ee>e.ee)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ee===r?t.from-r:s.ee-r,barsAfter:null===e||e.ee===h?h-t.to:h-e.ee};return null!==s&&null!==e&&(l.from=s.zb,l.to=e.zb),l}setData(t){this.q_,this.Es.Qh(),this.cw.pw(this.Es,t),this.mw(\"full\")}update(t){this.Es.Qh(),this.cw.bw(this.Es,t),this.mw(\"update\")}dataByIndex(t,i){const n=this.Es.In().ll(t,i);if(null===n)return null;return ce(this.seriesType())(n)}data(){const t=ce(this.seriesType());return this.Es.In().ne().map((i=>t(i)))}subscribeDataChanged(t){this.uw.l(t)}unsubscribeDataChanged(t){this.uw.v(t)}setMarkers(t){this.q_;const i=t.map((t=>xe(t,this.q_.convertHorzItemToInternal(t.time),t.time)));this.Es.na(i)}markers(){return this.Es.sa().map((t=>xe(t,t.originalTime,void 0)))}applyOptions(t){this.Es.$h(t)}options(){return z(this.Es.W())}priceScale(){return this.dw.priceScale(this.Es.Dt().Pa())}createPriceLine(t){const i=V(z(Se),t),n=this.Es.ea(i);return new ke(n)}removePriceLine(t){this.Es.ra(t._w())}seriesType(){return this.Es.Qh()}attachPrimitive(t){this.Es.ka(t),t.attached&&t.attached({chart:this.fw,series:this,requestUpdate:()=>this.Es.$t().Kl()})}detachPrimitive(t){this.Es.ya(t),t.detached&&t.detached()}mw(t){this.uw.M()&&this.uw.m(t)}}class Ce{constructor(t,i,n){this.ww=new D,this.mu=new D,this.Om=new D,this.$i=t,this.yl=t.St(),this.ab=i,this.yl.nc().l(this.gw.bind(this)),this.yl.sc().l(this.Mw.bind(this)),this.ab.Nm().l(this.xw.bind(this)),this.q_=n}S(){this.yl.nc().p(this),this.yl.sc().p(this),this.ab.Nm().p(this),this.ww.S(),this.mu.S(),this.Om.S()}scrollPosition(){return this.yl.Hu()}scrollToPosition(t,i){i?this.yl.Ju(t,1e3):this.$i.Jn(t)}scrollToRealTime(){this.yl.Gu()}getVisibleRange(){const t=this.yl.Vu();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.q_.convertHorzItemToInternal(t.from),to:this.q_.convertHorzItemToInternal(t.to)},n=this.yl.Iu(i);this.$i.pd(n)}getVisibleLogicalRange(){const t=this.yl.Du();return null===t?null:{from:t.Os(),to:t.ui()}}setVisibleLogicalRange(t){p(t.from<=t.to,\"The from index cannot be after the to index.\"),this.$i.pd(t)}resetTimeScale(){this.$i.Kn()}fitContent(){this.$i.hc()}logicalToCoordinate(t){const i=this.$i.St();return i.Ni()?null:i.It(t)}coordinateToLogical(t){return this.yl.Ni()?null:this.yl.Nu(t)}timeToCoordinate(t){const i=this.q_.convertHorzItemToInternal(t),n=this.yl.Va(i,!1);return null===n?null:this.yl.It(n)}coordinateToTime(t){const i=this.$i.St(),n=i.Nu(t),s=i.Ui(n);return null===s?null:s.originalTime}width(){return this.ab.um().width}height(){return this.ab.um().height}subscribeVisibleTimeRangeChange(t){this.ww.l(t)}unsubscribeVisibleTimeRangeChange(t){this.ww.v(t)}subscribeVisibleLogicalRangeChange(t){this.mu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.mu.v(t)}subscribeSizeChange(t){this.Om.l(t)}unsubscribeSizeChange(t){this.Om.v(t)}applyOptions(t){this.yl.$h(t)}options(){return Object.assign(Object.assign({},z(this.yl.W())),{barSpacing:this.yl.le()})}gw(){this.ww.M()&&this.ww.m(this.getVisibleRange())}Mw(){this.mu.M()&&this.mu.m(this.getVisibleLogicalRange())}xw(t){this.Om.m(t.width,t.height)}}function Te(t){if(void 0===t||\"custom\"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Pe(t){return function(t){if(I(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;I(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),I(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;I(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Re{constructor(t,i,n){this.Sw=new Map,this.kw=new Map,this.yw=new D,this.Cw=new D,this.Tw=new D,this.Pw=new se(i);const s=void 0===n?z(ge()):V(z(ge()),Pe(n));this.q_=i,this.aw=new Fs(t,s,i),this.aw.lm().l((t=>{this.yw.M()&&this.yw.m(this.Rw(t()))}),this),this.aw.am().l((t=>{this.Cw.M()&&this.Cw.m(this.Rw(t()))}),this),this.aw.Xc().l((t=>{this.Tw.M()&&this.Tw.m(this.Rw(t()))}),this);const e=this.aw.$t();this.Dw=new Ce(e,this.aw.fb(),this.q_)}remove(){this.aw.lm().p(this),this.aw.am().p(this),this.aw.Xc().p(this),this.Dw.S(),this.aw.S(),this.Sw.clear(),this.kw.clear(),this.yw.S(),this.Cw.S(),this.Tw.S(),this.Pw.S()}resize(t,i,n){this.autoSizeActive()||this.aw._b(t,i,n)}addCustomSeries(t,i){const n=w(t),s=Object.assign(Object.assign({},_),n.defaultOptions());return this.Vw(\"Custom\",s,i,n)}addAreaSeries(t){return this.Vw(\"Area\",l,t)}addBaselineSeries(t){return this.Vw(\"Baseline\",a,t)}addBarSeries(t){return this.Vw(\"Bar\",r,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Vw(\"Candlestick\",e,t)}addHistogramSeries(t){return this.Vw(\"Histogram\",o,t)}addLineSeries(t){return this.Vw(\"Line\",h,t)}removeSeries(t){const i=m(this.Sw.get(t)),n=this.Pw.vd(i);this.aw.$t().vd(i),this.Ow(n),this.Sw.delete(t),this.kw.delete(i)}pw(t,i){this.Ow(this.Pw.Kb(t,i))}bw(t,i){this.Ow(this.Pw.iw(t,i))}subscribeClick(t){this.yw.l(t)}unsubscribeClick(t){this.yw.v(t)}subscribeCrosshairMove(t){this.Tw.l(t)}unsubscribeCrosshairMove(t){this.Tw.v(t)}subscribeDblClick(t){this.Cw.l(t)}unsubscribeDblClick(t){this.Cw.v(t)}priceScale(t){return new Me(this.aw,t)}timeScale(){return this.Dw}applyOptions(t){this.aw.$h(Pe(t))}options(){return this.aw.W()}takeScreenshot(){return this.aw.wb()}autoSizeActive(){return this.aw.kb()}chartElement(){return this.aw.yb()}paneSize(){const t=this.aw.Tb();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.Sw.get(n);if(void 0===s)return;const e=this.aw.$t().dr(s);null!==e&&this.aw.$t().ad(t,i,e)}clearCrosshairPosition(){this.aw.$t().od(!0)}Vw(t,i,n={},s){Te(n.priceFormat);const e=V(z(u),z(i),n),r=this.aw.$t().dd(t,e,s),h=new ye(r,this,this,this,this.q_);return this.Sw.set(h,r),this.kw.set(r,h),h}Ow(t){const i=this.aw.$t();i._d(t.St.Eu,t.St.hw,t.St.lw),t.ew.forEach(((t,i)=>i.J(t.$e,t.rw))),i.Wu()}Bw(t){return m(this.kw.get(t))}Rw(t){const i=new Map;t.Nb.forEach(((t,n)=>{const s=n.Qh(),e=ce(s)(t);if(\"Custom\"!==s)p(js(e));else{const t=n.Ta();p(!t||!1===t(e))}i.set(this.Bw(n),e)}));const n=void 0!==t.Eb&&this.kw.has(t.Eb)?this.Bw(t.Eb):void 0;return{time:t.zb,logical:t.ee,point:t.Lb,hoveredSeries:n,hoveredObjectId:t.Fb,seriesData:i,sourceEvent:t.Wb}}}function De(t,i,n){let s;if(A(t)){const i=document.getElementById(t);p(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Re(s,i,n);return i.setOptions(e.options()),e}function Ve(t,i){return De(t,new is,is.Id(i))}function Oe(){return is}const Be=Object.assign(Object.assign({},u),_);function Ae(){return\"4.2.3\"}export{In as ColorType,at as CrosshairMode,Bn as LastPriceAnimationMode,d as LineStyle,c as LineType,Li as MismatchDirection,An as PriceLineSource,pn as PriceScaleMode,zn as TickMarkType,On as TrackingModeExitMode,Ve as createChart,De as createChartEx,Be as customSeriesDefaultOptions,Oe as defaultHorzScaleBehavior,En as isBusinessDay,Nn as isUTCTimestamp,Ae as version};\n","/**\r\n * ChartRenderer - Manages the lightweight-charts instance and rendering\r\n */\r\nimport { createChart, IChartApi, ISeriesApi, CrosshairMode, Time } from 'lightweight-charts';\r\nimport { CandleData, TimeFrame } from './types';\r\n\r\nexport interface ChartOptions {\r\n ticker?: string;\r\n mint: string;\r\n formatPrice: (value: number) => string;\r\n height?: number;\r\n}\r\n\r\nexport class ChartRenderer {\r\n private chart: IChartApi | null = null;\r\n private series: ISeriesApi<\"Candlestick\"> | null = null;\r\n private container: HTMLDivElement | null = null;\r\n private options: ChartOptions;\r\n\r\n constructor(container: HTMLDivElement, options: ChartOptions) {\r\n this.container = container;\r\n this.options = options;\r\n }\r\n\r\n /**\r\n * Initializes the chart\r\n */\r\n initialize(): void {\r\n if (!this.container) {\r\n throw new Error('Chart container is not set');\r\n }\r\n\r\n this.chart = createChart(this.container, {\r\n layout: {\r\n background: { color: '#ffffff' },\r\n textColor: '#333333',\r\n },\r\n grid: {\r\n vertLines: { color: '#f0f0f0' },\r\n horzLines: { color: '#f0f0f0' },\r\n },\r\n crosshair: {\r\n mode: CrosshairMode.Normal,\r\n },\r\n rightPriceScale: {\r\n borderColor: '#cccccc',\r\n },\r\n timeScale: {\r\n borderColor: '#cccccc',\r\n timeVisible: true,\r\n secondsVisible: false,\r\n rightOffset: 12,\r\n barSpacing: 8,\r\n minBarSpacing: 4,\r\n },\r\n height: this.options.height || 384,\r\n localization: {\r\n priceFormatter: this.options.formatPrice,\r\n },\r\n watermark: {\r\n visible: true,\r\n fontSize: 64,\r\n horzAlign: 'center',\r\n vertAlign: 'center',\r\n color: 'rgba(0, 0, 0, 0.03)',\r\n text: this.options.ticker \r\n ? `${this.options.ticker}/USDC` \r\n : `${this.options.mint.substring(0, 4)}...${this.options.mint.substring(this.options.mint.length - 4)}/USDC`,\r\n },\r\n });\r\n\r\n this.series = this.chart.addCandlestickSeries({\r\n upColor: '#26a69a',\r\n downColor: '#ef5350',\r\n borderVisible: true,\r\n borderUpColor: '#26a69a',\r\n borderDownColor: '#ef5350',\r\n wickUpColor: '#26a69a',\r\n wickDownColor: '#ef5350',\r\n priceFormat: { \r\n type: 'price', \r\n precision: 12, \r\n minMove: 0.000000000001 \r\n } \r\n });\r\n\r\n // Handle resize\r\n const handleResize = () => {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n }\r\n\r\n /**\r\n * Updates chart data\r\n */\r\n updateData(candles: CandleData[]): void {\r\n if (!this.series) return;\r\n\r\n // Validate candles before displaying\r\n const validCandles = candles.filter(candle => \r\n candle && \r\n candle.open > 0 && \r\n candle.high > 0 && \r\n candle.low > 0 && \r\n candle.close > 0 &&\r\n isFinite(candle.open) &&\r\n isFinite(candle.high) &&\r\n isFinite(candle.low) &&\r\n isFinite(candle.close)\r\n );\r\n\r\n if (validCandles.length > 0) {\r\n this.series.setData(validCandles.map(c => ({ ...c, time: c.time as Time })));\r\n \r\n // Scroll to real-time\r\n requestAnimationFrame(() => {\r\n if (this.chart) {\r\n this.chart.timeScale().scrollToRealTime();\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Sets the current timeframe (for future use if needed)\r\n */\r\n setTimeframe(timeframe: TimeFrame): void {\r\n // Can be extended to update chart settings based on timeframe\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n if (this.container && this.chart) {\r\n this.chart.applyOptions({ width: this.container.clientWidth });\r\n }\r\n }\r\n\r\n /**\r\n * Destroys the chart instance\r\n */\r\n destroy(): void {\r\n if (this.chart) {\r\n this.chart.remove();\r\n this.chart = null;\r\n this.series = null;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the chart instance (for advanced operations)\r\n */\r\n getChart(): IChartApi | null {\r\n return this.chart;\r\n }\r\n\r\n /**\r\n * Gets the series instance (for advanced operations)\r\n */\r\n getSeries(): ISeriesApi<\"Candlestick\"> | null {\r\n return this.series;\r\n }\r\n}\r\n\r\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.13.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\r\n * Environment Configuration for Funhi Chart\r\n * \r\n * This file provides configuration for the chart component\r\n * Users can override these values by passing them as props\r\n */\r\n\r\nexport const API_CONFIG = {\r\n // Backend API base URL - users should provide this\r\n BASE_URL: typeof window !== 'undefined' && (window as any).FUNHI_CHART_API_URL \r\n ? (window as any).FUNHI_CHART_API_URL \r\n : (typeof process !== 'undefined' && process.env?.NEXT_PUBLIC_BACKEND_URL) || '',\r\n\r\n // API request timeout in milliseconds\r\n TIMEOUT: 10000,\r\n\r\n // Retry configuration\r\n MAX_RETRIES: 3,\r\n RETRY_DELAY: 1000,\r\n} as const;\r\n\r\n","/**\r\n * Candle Storage Service\r\n * Handles saving and retrieving candles from database via API\r\n * Replaces localStorage with database storage for persistent candle data\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { API_CONFIG } from '../config/environment';\r\n\r\nexport interface CandleData {\r\n time: number; // Unix timestamp in seconds\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface SaveCandlesRequest {\r\n mint: string;\r\n candles: CandleData[];\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nexport interface GetCandlesRequest {\r\n mint: string;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n limit?: number; // max number of candles to retrieve, defaults to 200\r\n}\r\n\r\nexport interface SaveCandleRequest {\r\n mint: string;\r\n candle: CandleData;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nclass CandleStorageService {\r\n private readonly baseURL = `${API_CONFIG.BASE_URL}/api/ohlcv`;\r\n private savingQueue: Map<string, { candles: CandleData[], timeout: ReturnType<typeof setTimeout> }> = new Map();\r\n private readonly BATCH_DELAY = 5000; // 5 seconds - batch candles before saving\r\n private readonly BATCH_SIZE = 50; // Save when we reach this many candles\r\n\r\n /**\r\n * Save multiple candles to database\r\n * Uses batching to reduce API calls\r\n */\r\n async saveCandles(request: SaveCandlesRequest): Promise<boolean> {\r\n try {\r\n const { mint, candles, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candles || candles.length === 0) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n const response = await axios.post(`${this.baseURL}/candles/save`, {\r\n mint,\r\n candles,\r\n timeFrame\r\n });\r\n\r\n if (response.data.success) {\r\n console.log(`💾 [CandleStorage] Saved ${candles.length} candles for ${mint}`);\r\n return true;\r\n }\r\n\r\n return false;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error saving candles:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Save a single candle to database\r\n * Batches candles to reduce API calls\r\n */\r\n async saveCandle(request: SaveCandleRequest): Promise<boolean> {\r\n try {\r\n const { mint, candle, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candle) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n // Add to batching queue\r\n const queueKey = `${mint}_${timeFrame}`;\r\n const existingQueue = this.savingQueue.get(queueKey);\r\n\r\n if (existingQueue) {\r\n // Clear existing timeout\r\n clearTimeout(existingQueue.timeout);\r\n \r\n // Add candle to queue\r\n existingQueue.candles.push(candle);\r\n\r\n // If we've reached batch size, save immediately\r\n if (existingQueue.candles.length >= this.BATCH_SIZE) {\r\n await this.flushQueue(queueKey, mint, timeFrame);\r\n } else {\r\n // Otherwise, set new timeout\r\n existingQueue.timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n }\r\n } else {\r\n // Create new queue entry\r\n const timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n\r\n this.savingQueue.set(queueKey, {\r\n candles: [candle],\r\n timeout\r\n });\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error queuing candle:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Flush the batching queue and save to database\r\n */\r\n private async flushQueue(queueKey: string, mint: string, timeFrame: number): Promise<void> {\r\n const queue = this.savingQueue.get(queueKey);\r\n \r\n if (!queue || queue.candles.length === 0) {\r\n return;\r\n }\r\n\r\n // Remove from queue\r\n this.savingQueue.delete(queueKey);\r\n\r\n // Save to database\r\n await this.saveCandles({\r\n mint,\r\n candles: queue.candles,\r\n timeFrame\r\n });\r\n }\r\n\r\n /**\r\n * Get candles from database\r\n */\r\n async getCandles(request: GetCandlesRequest): Promise<CandleData[]> {\r\n try {\r\n const { mint, timeFrame = 60, limit = 50000 } = request;\r\n\r\n if (!mint) {\r\n console.warn('⚠️ [CandleStorage] Invalid get request:', request);\r\n return [];\r\n }\r\n\r\n const response = await axios.get(`${this.baseURL}/candles/${mint}`, {\r\n params: {\r\n timeFrame,\r\n limit\r\n },\r\n // Add timeout to prevent hanging requests\r\n timeout: 8000, // 8 seconds\r\n // Validate response status\r\n validateStatus: (status) => status >= 200 && status < 500\r\n });\r\n\r\n if (response.data.success && response.data.data && response.data.data.candles) {\r\n const candleCount = response.data.data.candles.length;\r\n if (candleCount > 0) {\r\n console.log(`✅ [CandleStorage] Retrieved ${candleCount} candles for ${mint}`);\r\n } else {\r\n console.log(`ℹ️ [CandleStorage] No candles found for ${mint} in database`);\r\n }\r\n return response.data.data.candles;\r\n }\r\n\r\n // Handle warning from backend\r\n if (response.data.warning) {\r\n console.warn(`⚠️ [CandleStorage] ${response.data.warning}`);\r\n }\r\n\r\n return [];\r\n } catch (error: any) {\r\n // Log more detailed error information\r\n if (error.code === 'ECONNABORTED') {\r\n console.error('❌ [CandleStorage] Request timeout getting candles for', request.mint);\r\n } else if (error.response) {\r\n console.error('❌ [CandleStorage] Server error getting candles:', error.response.status, error.response.data);\r\n } else if (error.request) {\r\n console.error('❌ [CandleStorage] Network error getting candles - no response received');\r\n } else {\r\n console.error('❌ [CandleStorage] Error getting candles:', error.message);\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Flush all pending queues before component unmount\r\n */\r\n async flushAll(): Promise<void> {\r\n const flushPromises: Promise<void>[] = [];\r\n\r\n for (const [queueKey, queue] of this.savingQueue.entries()) {\r\n clearTimeout(queue.timeout);\r\n const [mint, timeFrameStr] = queueKey.split('_');\r\n const timeFrame = parseInt(timeFrameStr);\r\n flushPromises.push(this.flushQueue(queueKey, mint, timeFrame));\r\n }\r\n\r\n await Promise.all(flushPromises);\r\n }\r\n}\r\n\r\n// Export singleton instance\r\nexport const candleStorageService = new CandleStorageService();\r\n\r\n","/**\r\n * CandleStorageAdapter - Handles loading/saving candles (wrapper around existing service)\r\n */\r\nimport { CandleData } from '../core/types';\r\nimport { candleStorageService } from '../services/candleStorage';\r\n\r\nexport class CandleStorageAdapter {\r\n /**\r\n * Loads candles from storage\r\n */\r\n async loadCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n limit?: number\r\n ): Promise<CandleData[]> {\r\n try {\r\n const effectiveLimit = limit ?? Number.MAX_SAFE_INTEGER;\r\n \r\n const candles = await candleStorageService.getCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n limit: effectiveLimit\r\n });\r\n\r\n // Remove duplicates and validate\r\n const uniqueCandles = candles.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n\r\n return uniqueCandles.sort((a, b) => a.time - b.time);\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error loading candles:`, error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Saves candles to storage (if needed in future)\r\n */\r\n async saveCandles(\r\n mint: string, \r\n timeframeSeconds: number, \r\n candles: CandleData[]\r\n ): Promise<void> {\r\n try {\r\n await candleStorageService.saveCandles({\r\n mint,\r\n timeFrame: timeframeSeconds,\r\n candles\r\n });\r\n } catch (error: any) {\r\n console.error(`❌ [CandleStorageAdapter] Error saving candles:`, error);\r\n }\r\n }\r\n}\r\n\r\n","/**\r\n * RealTimeUpdateHandler - Handles real-time price updates and WebSocket events\r\n */\r\nimport { TimeframeManager } from '../core/TimeframeManager';\r\nimport { CandleData } from '../core/types';\r\n\r\nexport class RealTimeUpdateHandler {\r\n private timeframeManager: TimeframeManager;\r\n private debounceMs: number = 50;\r\n private lastUpdate: number = 0;\r\n\r\n constructor(timeframeManager: TimeframeManager) {\r\n this.timeframeManager = timeframeManager;\r\n }\r\n\r\n /**\r\n * Handles price update from real-time data\r\n */\r\n handlePriceUpdate(price: number, timestamp: number, tradeSize: number = 0): void { // CHANGED\r\n // Debounce check\r\n if (!this.debounce(timestamp)) {\r\n return;\r\n }\r\n\r\n // Update all timeframes\r\n this.timeframeManager.updateAll(price, timestamp, tradeSize); // CHANGED\r\n }\r\n\r\n /**\r\n * Handles WebSocket update with pre-calculated candles\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }, mint: string): void {\r\n if (data.mint !== mint) return;\r\n\r\n if (data.candles) {\r\n // Update each timeframe from backend data\r\n Object.entries(data.candles).forEach(([timeframeKey, backendCandle]) => {\r\n const timeframeSeconds = this.getTimeframeSeconds(timeframeKey);\r\n if (timeframeSeconds) {\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(currentTime / timeframeSeconds) * timeframeSeconds;\r\n \r\n // Only update if it's the current bucket\r\n if (backendCandle.time === currentBucket) {\r\n const candleData: CandleData = { // CHANGED\r\n time: backendCandle.time, // CHANGED\r\n open: backendCandle.open, // CHANGED\r\n high: backendCandle.high || backendCandle.open, // CHANGED\r\n low: backendCandle.low || backendCandle.open, // CHANGED\r\n close: backendCandle.close, // CHANGED\r\n volume: backendCandle.volume || 0, // CHANGED\r\n tradeCount: backendCandle.tradeCount, // ADDED\r\n isSingleTrade: backendCandle.isSingleTrade, // ADDED\r\n isWeakSignal: backendCandle.isWeakSignal // ADDED\r\n }; // CHANGED\r\n\r\n this.timeframeManager.updateFromExternal(timeframeSeconds, candleData, currentBucket);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Debounce check\r\n */\r\n private debounce(timestamp: number): boolean {\r\n const now = Date.now();\r\n if (this.lastUpdate && (now - this.lastUpdate) < this.debounceMs) {\r\n return false;\r\n }\r\n this.lastUpdate = now;\r\n return true;\r\n }\r\n\r\n /**\r\n * Converts timeframe key to seconds\r\n */\r\n private getTimeframeSeconds(key: string): number | null {\r\n const map: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n return map[key] || null;\r\n }\r\n}\r\n\r\n","/**\r\n * FunhiChartController - Main orchestrator that coordinates all components\r\n */\r\nimport { ChartRenderer, ChartOptions } from './ChartRenderer';\r\nimport { TimeframeManager } from './TimeframeManager';\r\nimport { CandleStorageAdapter } from '../adapters/CandleStorageAdapter';\r\nimport { RealTimeUpdateHandler } from '../handlers/RealTimeUpdateHandler';\r\nimport { CandleData, TimeFrame } from './types';\r\nimport { candleAggregation } from '../utils/candleAggregation';\r\n\r\nexport interface ControllerConfig {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n timeframes: TimeFrame[];\r\n container: HTMLDivElement;\r\n formatPrice: (value: number) => string;\r\n}\r\n\r\nexport class FunhiChartController {\r\n private chartRenderer: ChartRenderer;\r\n private timeframeManager: TimeframeManager;\r\n private storageAdapter: CandleStorageAdapter;\r\n private updateHandler: RealTimeUpdateHandler;\r\n private currentTimeframe: TimeFrame;\r\n private config: ControllerConfig;\r\n\r\n\r\n constructor(config: ControllerConfig) {\r\n this.config = config;\r\n this.currentTimeframe = config.timeframes[0];\r\n\r\n // Initialize components\r\n this.timeframeManager = new TimeframeManager(config.timeframes);\r\n this.storageAdapter = new CandleStorageAdapter();\r\n this.updateHandler = new RealTimeUpdateHandler(this.timeframeManager);\r\n\r\n // Initialize chart renderer\r\n const chartOptions: ChartOptions = {\r\n mint: config.mint,\r\n ticker: config.ticker,\r\n formatPrice: config.formatPrice\r\n };\r\n this.chartRenderer = new ChartRenderer(config.container, chartOptions);\r\n }\r\n\r\n /**\r\n * Initializes the chart and loads initial data\r\n */\r\n async initialize(): Promise<void> {\r\n // Initialize chart\r\n this.chartRenderer.initialize();\r\n\r\n // Load candles for all timeframes to ensure complete data\r\n console.log(`🔄 [FunhiChartController] Loading candles for all timeframes...`);\r\n for (const timeframe of this.config.timeframes) {\r\n await this.loadTimeframeData(timeframe.seconds);\r\n }\r\n\r\n // Update chart with loaded data for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Loads candles for a specific timeframe\r\n * Safeguard: Only loads if we don't have candles, or merges with existing ones\r\n */\r\n async loadTimeframeData(timeframeSeconds: number): Promise<void> {\r\n const existingCandles = this.timeframeManager.getCandles(timeframeSeconds);\r\n const existingCount = existingCandles.length;\r\n\r\n const candles = await this.storageAdapter.loadCandles( // CHANGED\r\n this.config.mint,\r\n timeframeSeconds\r\n );\r\n\r\n if (candles.length > 0) {\r\n this.timeframeManager.loadCandles(timeframeSeconds, candles); // CHANGED\r\n\r\n const newCount = this.timeframeManager.getCandles(timeframeSeconds).length; // CHANGED\r\n if (existingCount > 0 && newCount < existingCount) {\r\n console.warn(\r\n `⚠️ [FunhiChartController] Candle count decreased after load: ${existingCount} -> ${newCount}. ` +\r\n `This might indicate data loss. Database returned ${candles.length} candles.`\r\n );\r\n } else if (newCount > existingCount) {\r\n console.log(\r\n `✅ [FunhiChartController] Loaded ${candles.length} candles from database. ` +\r\n `Total candles: ${existingCount} -> ${newCount} (merged)`\r\n );\r\n }\r\n } else if (existingCount === 0) {\r\n console.warn(\r\n `⚠️ [FunhiChartController] No candles loaded from database for timeframe ${timeframeSeconds}s`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Updates price for all timeframes\r\n */\r\n updatePrice(price: number, tradeSize: number = 0): void { // CHANGED\r\n const timestamp = Date.now(); // CHANGED\r\n this.updateHandler.handlePriceUpdate(price, timestamp, tradeSize); // CHANGED\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Handles WebSocket update\r\n */\r\n handleSocketUpdate(data: { mint: string; candles: Record<string, any> }): void {\r\n this.updateHandler.handleSocketUpdate(data, this.config.mint);\r\n\r\n // Update chart for current timeframe\r\n const candles = this.getCurrentCandles();\r\n if (candles.length > 0) {\r\n this.chartRenderer.updateData(candles);\r\n }\r\n }\r\n\r\n /**\r\n * Switches to a different timeframe\r\n */\r\n async switchTimeframe(seconds: number): Promise<void> {\r\n const timeframe = this.config.timeframes.find(tf => tf.seconds === seconds);\r\n if (!timeframe) {\r\n console.warn(`⚠️ [FunhiChartController] Timeframe ${seconds}s not found`);\r\n return;\r\n }\r\n\r\n // Always load data to ensure we have all candles (not just when empty)\r\n // This ensures gaps are filled when switching timeframes\r\n console.log(`🔄 [FunhiChartController] Loading candles for timeframe ${seconds}s`);\r\n await this.loadTimeframeData(seconds);\r\n\r\n\r\n\r\n // Update current timeframe\r\n this.currentTimeframe = timeframe;\r\n\r\n // Update chart\r\n const updatedCandles = this.getCurrentCandles();\r\n if (updatedCandles.length > 0) {\r\n this.chartRenderer.updateData(updatedCandles);\r\n console.log(\r\n `📊 [FunhiChartController] Updated chart with ${updatedCandles.length} candles for ${timeframe.label}`\r\n );\r\n } else {\r\n console.warn(\r\n `⚠️ [FunhiChartController] No candles available to display for timeframe ${timeframe.label}`\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Gets candles for current timeframe\r\n */\r\n getCurrentCandles(): CandleData[] {\r\n return this.timeframeManager.getCandles(this.currentTimeframe.seconds);\r\n }\r\n\r\n /**\r\n * Gets current timeframe\r\n */\r\n getCurrentTimeframe(): TimeFrame {\r\n return this.currentTimeframe;\r\n }\r\n\r\n /**\r\n * Gets current candle for a specific timeframe\r\n */\r\n getCurrentCandle(seconds: number): CandleData | null {\r\n return this.timeframeManager.getCurrentCandle(seconds);\r\n }\r\n\r\n /**\r\n * Resizes the chart\r\n */\r\n resize(): void {\r\n this.chartRenderer.resize();\r\n }\r\n\r\n\r\n\r\n /**\r\n * Destroys the controller and cleans up resources\r\n */\r\n destroy(): void {\r\n\r\n this.chartRenderer.destroy();\r\n this.timeframeManager.reset();\r\n }\r\n}\r\n\r\n","import { useCallback, useState, useEffect } from 'react';\r\nimport { Socket } from 'socket.io-client';\r\n\r\ninterface OHLCVCandle {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface OHLCVInitialData {\r\n mint: string;\r\n timeFrame: number;\r\n data: OHLCVCandle[];\r\n timestamp: number;\r\n error?: string;\r\n}\r\n\r\ninterface OHLCVUpdateData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\ninterface OHLCVNewCandleData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Hook to manage socket connection\r\n * This is a simplified version for the NPM package\r\n * Users should provide their own socket instance via props\r\n */\r\nexport const useSocket = (socketInstance?: Socket | null) => {\r\n const [socket] = useState<Socket | null>(socketInstance || null);\r\n const [isConnected, setIsConnected] = useState(false);\r\n const [isConnecting, setIsConnecting] = useState(false);\r\n\r\n // Track connection state\r\n useEffect(() => {\r\n if (!socket) {\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n return;\r\n }\r\n\r\n setIsConnecting(true);\r\n\r\n const handleConnect = () => {\r\n console.log('✅ [useSocket] Connected to Socket.IO server');\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleDisconnect = () => {\r\n console.log('🔌 [useSocket] Disconnected from Socket.IO server');\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleConnectError = (error: any) => {\r\n console.error('❌ [useSocket] Connection error:', error);\r\n setIsConnecting(false);\r\n };\r\n\r\n // Set initial state\r\n if (socket.connected) {\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n }\r\n\r\n // Add event listeners\r\n socket.on('connect', handleConnect);\r\n socket.on('disconnect', handleDisconnect);\r\n socket.on('connect_error', handleConnectError);\r\n\r\n return () => {\r\n socket.off('connect', handleConnect);\r\n socket.off('disconnect', handleDisconnect);\r\n socket.off('connect_error', handleConnectError);\r\n };\r\n }, [socket]);\r\n\r\n // Connect function (no-op since connection is managed by provider)\r\n const connect = useCallback(() => {\r\n console.log('🔍 [useSocket] Connect called - connection managed by provider');\r\n }, []);\r\n\r\n // Disconnect function (no-op since connection is managed by provider)\r\n const disconnect = useCallback(() => {\r\n console.log('🔍 [useSocket] Disconnect called - connection managed by provider');\r\n }, []);\r\n\r\n // Subscribe to OHLCV updates\r\n const subscribeToOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to OHLCV updates\r\n socket.emit('ohlcv:subscribe', { mint, timeFrame });\r\n\r\n // Listen for initial data\r\n if (onInitialData) {\r\n socket.on('ohlcv:initial', onInitialData);\r\n }\r\n\r\n // Listen for updates\r\n if (onUpdate) {\r\n socket.on('ohlcv:update', onUpdate);\r\n }\r\n\r\n // Listen for new candles\r\n if (onNewCandle) {\r\n socket.on('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Subscribed to OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from OHLCV updates\r\n const unsubscribeFromOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from OHLCV updates\r\n socket.emit('ohlcv:unsubscribe', { mint, timeFrame });\r\n\r\n // Remove listeners\r\n if (onInitialData) {\r\n socket.off('ohlcv:initial', onInitialData);\r\n }\r\n if (onUpdate) {\r\n socket.off('ohlcv:update', onUpdate);\r\n }\r\n if (onNewCandle) {\r\n socket.off('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Unsubscribed from OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Subscribe to price updates\r\n const subscribeToPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to price updates\r\n socket.emit('price:subscribe', { mint });\r\n\r\n // Listen for price updates\r\n if (onPriceUpdate) {\r\n socket.on('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Subscribed to price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from price updates\r\n const unsubscribeFromPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from price updates\r\n socket.emit('price:unsubscribe', { mint });\r\n\r\n // Remove listener\r\n if (onPriceUpdate) {\r\n socket.off('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Unsubscribed from price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Test socket connection\r\n const testConnection = useCallback((message: string) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot send test message');\r\n return false;\r\n }\r\n\r\n try {\r\n socket.emit('test-message', {\r\n message,\r\n timestamp: Date.now()\r\n });\r\n\r\n // Listen for test response\r\n socket.once('test-response', (response) => {\r\n console.log('🧪 [useSocket] Test response received:', response);\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to send test message:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n return {\r\n socket,\r\n isConnected,\r\n isConnecting,\r\n connect,\r\n disconnect,\r\n subscribeToOHLCV,\r\n unsubscribeFromOHLCV,\r\n subscribeToPrice,\r\n unsubscribeFromPrice,\r\n testConnection,\r\n };\r\n};\r\n\r\n","import { useState, useEffect, useCallback, useMemo } from 'react';\r\n\r\ninterface ComprehensiveAnalytics {\r\n // Performance metrics\r\n performance: {\r\n '24H': { gain: number; percentage: string; isPositive: boolean };\r\n '7D': { gain: number; percentage: string; isPositive: boolean };\r\n '1M': { gain: number; percentage: string; isPositive: boolean };\r\n 'All Time': { gain: number; percentage: string; isPositive: boolean };\r\n };\r\n \r\n // Market data\r\n market: {\r\n marketValue: string;\r\n price: string;\r\n marketCap: string;\r\n circulating: string;\r\n totalSupply: string;\r\n };\r\n \r\n // 24H statistics\r\n '24H': {\r\n high: string;\r\n low: string;\r\n volume: string;\r\n return: string;\r\n };\r\n \r\n // Volume data\r\n volume: {\r\n current: string;\r\n '24h': string;\r\n unit: string;\r\n };\r\n \r\n // Blockchain data\r\n blockchain: {\r\n currentRealSol: string;\r\n realSolReserves: number;\r\n virtualSolReserves: number;\r\n tokenReserves: number;\r\n };\r\n \r\n // Additional data\r\n additional: {\r\n solUsdPrice: string;\r\n timestamp: number;\r\n };\r\n}\r\n\r\ninterface EnhancedTokenAnalytics {\r\n // Real-time analytics from backend\r\n analytics: ComprehensiveAnalytics | null;\r\n \r\n // Current market data\r\n currentPrice: number;\r\n currentMarketCap: number;\r\n currentVolume: number;\r\n \r\n // Performance metrics (formatted for display)\r\n performance24h: { value: string; isPositive: boolean; raw: number };\r\n performance7d: { value: string; isPositive: boolean; raw: number };\r\n performance1m: { value: string; isPositive: boolean; raw: number };\r\n performanceAllTime: { value: string; isPositive: boolean; raw: number };\r\n \r\n // 24H statistics\r\n high24h: number;\r\n low24h: number;\r\n volume24h: number;\r\n return24h: number;\r\n \r\n // Loading and error states\r\n loading: boolean;\r\n error: string | null;\r\n \r\n // Connection status\r\n connected: boolean;\r\n \r\n // Last update timestamp\r\n lastUpdate: number | null;\r\n \r\n // Helper functions\r\n isRealVolume: (volume: number) => boolean;\r\n}\r\n\r\n/**\r\n * Simplified hook for token analytics\r\n * This is a stub version for the NPM package\r\n * Users should provide their own analytics data or implement their own hook\r\n */\r\nexport function useOptimizedTokenAnalytics(\r\n mint: string | undefined,\r\n analyticsData?: any\r\n): EnhancedTokenAnalytics {\r\n const [analytics, setAnalytics] = useState<ComprehensiveAnalytics | null>(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [lastUpdate, setLastUpdate] = useState<number | null>(null);\r\n const [connected, setConnected] = useState(false);\r\n\r\n // Update analytics when provided\r\n useEffect(() => {\r\n if (analyticsData) {\r\n setAnalytics(analyticsData);\r\n setLastUpdate(Date.now());\r\n setConnected(true);\r\n setLoading(false);\r\n }\r\n }, [analyticsData]);\r\n\r\n // Calculate derived values from analytics data\r\n const derivedValues = useMemo(() => {\r\n if (!analytics || !analytics.market) {\r\n return {\r\n currentPrice: 0,\r\n currentMarketCap: 0,\r\n currentVolume: 0,\r\n performance24h: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance7d: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance1m: { value: '0.00%', isPositive: false, raw: 0 },\r\n performanceAllTime: { value: '0.00%', isPositive: false, raw: 0 },\r\n high24h: 0,\r\n low24h: 0,\r\n volume24h: 0,\r\n return24h: 0\r\n };\r\n }\r\n\r\n // Extract current values with safe access\r\n const currentPrice = parseFloat(analytics.market?.price || '0') || 0;\r\n const currentMarketCap = parseFloat(analytics.market?.marketCap || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let currentVolume = parseFloat(analytics.volume?.current || '0') || 0;\r\n if (currentVolume <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n currentVolume = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n\r\n // Extract performance metrics with safe access\r\n const performance24h = {\r\n value: analytics.performance?.['24H']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['24H']?.isPositive || false,\r\n raw: analytics.performance?.['24H']?.gain || 0\r\n };\r\n\r\n const performance7d = {\r\n value: analytics.performance?.['7D']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['7D']?.isPositive || false,\r\n raw: analytics.performance?.['7D']?.gain || 0\r\n };\r\n\r\n const performance1m = {\r\n value: analytics.performance?.['1M']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['1M']?.isPositive || false,\r\n raw: analytics.performance?.['1M']?.gain || 0\r\n };\r\n\r\n const performanceAllTime = {\r\n value: analytics.performance?.['All Time']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['All Time']?.isPositive || false,\r\n raw: analytics.performance?.['All Time']?.gain || 0\r\n };\r\n\r\n // Extract 24H statistics with safe access\r\n const high24h = parseFloat(analytics['24H']?.high || '0') || 0;\r\n const low24h = parseFloat(analytics['24H']?.low || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let volume24h = parseFloat(analytics.volume?.['24h'] || '0') || 0;\r\n if (volume24h <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n volume24h = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n \r\n const return24h = parseFloat(analytics['24H']?.return || '0') || 0;\r\n\r\n return {\r\n currentPrice,\r\n currentMarketCap,\r\n currentVolume,\r\n performance24h,\r\n performance7d,\r\n performance1m,\r\n performanceAllTime,\r\n high24h,\r\n low24h,\r\n volume24h,\r\n return24h\r\n };\r\n }, [analytics]);\r\n\r\n // Helper function to check if volume is real (not fake 0.01)\r\n const isRealVolume = useCallback((volume: number) => volume > 0.01, []);\r\n\r\n const result = {\r\n // Raw analytics data from backend\r\n analytics,\r\n \r\n // Derived values for easy consumption\r\n ...derivedValues,\r\n \r\n // Helper functions\r\n isRealVolume,\r\n \r\n // State management\r\n loading,\r\n error,\r\n connected,\r\n lastUpdate\r\n };\r\n \r\n return result;\r\n}\r\n\r\n","\"use client\";\r\n\r\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { FunhiChartController, ControllerConfig, TimeFrame } from '../core';\r\nimport { useSocket } from '../hooks/useSocket';\r\nimport { useOptimizedTokenAnalytics } from '../hooks/useOptimizedTokenAnalytics';\r\n\r\n// Chart Props Interface\r\nexport interface ChartProps {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n socket?: any;\r\n isConnected?: boolean;\r\n currentPrice?: number;\r\n currentVolume?: number; // ADDED: real trade size (USDC volume)\r\n analyticsConnected?: boolean;\r\n analyticsLoading?: boolean;\r\n}\r\n\r\n/**\r\n * FunhiChart - OOP-based implementation using FunhiChartController\r\n * This version eliminates code duplication and uses clean OOP architecture\r\n */\r\nconst FunhiChart: React.FC<ChartProps> = ({\r\n mint,\r\n ticker,\r\n tokenName,\r\n socket: externalSocket,\r\n isConnected: externalIsConnected,\r\n currentPrice: externalPrice,\r\n currentVolume: externalVolume, // ADDED\r\n analyticsConnected: externalAnalyticsConnected,\r\n analyticsLoading: externalAnalyticsLoading\r\n}) => {\r\n // Refs\r\n const chartContainerRef = useRef<HTMLDivElement>(null);\r\n const controllerRef = useRef<FunhiChartController | null>(null);\r\n\r\n // State\r\n const [loading, setLoading] = useState<boolean>(true);\r\n const [timeframeLoading, setTimeframeLoading] = useState<boolean>(false);\r\n const [loadingTimeframe, setLoadingTimeframe] = useState<string | null>(null);\r\n const [error, setError] = useState<string | null>(null);\r\n const [currentTimeframe, setCurrentTimeframe] = useState<TimeFrame | null>(null);\r\n\r\n // Socket\r\n const internalSocketData = useSocket();\r\n const socket = externalSocket || internalSocketData.socket;\r\n const isConnected = externalIsConnected !== undefined ? externalIsConnected : internalSocketData.isConnected;\r\n\r\n // Analytics\r\n const internalAnalytics = useOptimizedTokenAnalytics(mint);\r\n const realTimePrice = externalPrice !== undefined ? externalPrice : internalAnalytics.currentPrice;\r\n const analyticsConnected = externalAnalyticsConnected !== undefined ? externalAnalyticsConnected : internalAnalytics.connected; // CHANGED\r\n const analyticsLoading = externalAnalyticsLoading !== undefined ? externalAnalyticsLoading : internalAnalytics.loading; // CHANGED\r\n const realTimeVolume = externalVolume !== undefined ? externalVolume : internalAnalytics.currentVolume; // ADDED\r\n\r\n // Timeframes\r\n const timeFrames: TimeFrame[] = useMemo(() => [\r\n { label: '1m', value: '1m', seconds: 60 },\r\n { label: '5m', value: '5m', seconds: 300 },\r\n { label: '15m', value: '15m', seconds: 900 },\r\n { label: '1h', value: '1h', seconds: 3600 },\r\n { label: '4h', value: '4h', seconds: 14400 },\r\n { label: '1d', value: '1d', seconds: 86400 }\r\n ], []);\r\n\r\n // Format token price (handles very small prices like $0.00007)\r\n const formatTokenPrice = useCallback((value: number): string => {\r\n if (value >= 1_000) {\r\n // Large prices: show with K notation\r\n return `$${(value / 1_000).toFixed(2)}K`;\r\n } else if (value >= 1) {\r\n // Prices >= $1: show 2-4 decimal places\r\n return `$${value.toFixed(value >= 10 ? 2 : 4)}`;\r\n } else if (value >= 0.01) {\r\n // Prices $0.01 - $1: show 4-6 decimal places\r\n return `$${value.toFixed(value >= 0.1 ? 4 : 6)}`;\r\n } else if (value >= 0.0001) {\r\n // Prices $0.0001 - $0.01: show 6-8 decimal places\r\n return `$${value.toFixed(value >= 0.001 ? 6 : 8)}`;\r\n } else {\r\n // Very small prices: show up to 10 decimal places\r\n return `$${value.toFixed(10)}`;\r\n }\r\n }, []);\r\n\r\n // Initialize controller\r\n useEffect(() => {\r\n if (!chartContainerRef.current || !mint) return;\r\n\r\n try {\r\n const config: ControllerConfig = {\r\n mint,\r\n ticker,\r\n tokenName,\r\n timeframes: timeFrames,\r\n container: chartContainerRef.current,\r\n formatPrice: formatTokenPrice\r\n };\r\n\r\n const controller = new FunhiChartController(config);\r\n controllerRef.current = controller;\r\n\r\n // Initialize and load data\r\n controller.initialize().then(() => {\r\n setCurrentTimeframe(controller.getCurrentTimeframe());\r\n setLoading(false);\r\n }).catch((err) => {\r\n console.error('❌ [FunhiChart] Initialization error:', err);\r\n setError(err.message || 'Failed to initialize chart');\r\n setLoading(false);\r\n });\r\n\r\n // Cleanup\r\n return () => {\r\n controller.destroy();\r\n controllerRef.current = null;\r\n };\r\n } catch (err: any) {\r\n console.error('❌ [FunhiChart] Controller creation error:', err);\r\n setError(err.message || 'Failed to create chart controller');\r\n setLoading(false);\r\n }\r\n }, [mint, ticker, tokenName, timeFrames, formatTokenPrice]);\r\n\r\n // Track previous price to detect changes\r\n const previousPriceRef = useRef<number>(0);\r\n\r\n // Handle real-time price updates - only update when price actually changes\r\n useEffect(() => {\r\n if (!controllerRef.current || realTimePrice <= 0) return;\r\n\r\n if (!isFinite(realTimePrice) || realTimePrice <= 0) {\r\n console.warn(`⚠️ [FunhiChart] Invalid price data: ${realTimePrice}`);\r\n return;\r\n }\r\n\r\n // CRITICAL: Only update if price has actually changed\r\n const priceChanged = Math.abs(previousPriceRef.current - realTimePrice) > 0.00000001; // Small threshold for floating point comparison // CHANGED\r\n const tradeSize = Number(realTimeVolume || 0); // ADDED\r\n \r\n if (!priceChanged && previousPriceRef.current > 0 && tradeSize <= 0) { // CHANGED\r\n console.log(`⏭️ [FunhiChart] Price unchanged and no trade volume, skipping chart update`); // CHANGED\r\n return; // Don't update chart if price hasn't changed and no trade occurred // CHANGED\r\n } // CHANGED\r\n\r\n // Update previous price\r\n previousPriceRef.current = realTimePrice;\r\n\r\n controllerRef.current.updatePrice(realTimePrice, tradeSize); // CHANGED: trade size drives candle creation\r\n }, [realTimePrice, realTimeVolume]); // CHANGED\r\n\r\n // Handle WebSocket updates\r\n useEffect(() => {\r\n if (!socket || !isConnected || !mint || !controllerRef.current) return;\r\n\r\n const handleMultiTimeframeCandles = (data: any) => {\r\n if (data.mint !== mint) return;\r\n controllerRef.current?.handleSocketUpdate(data);\r\n };\r\n\r\n socket.on('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n\r\n return () => {\r\n socket.off('multiTimeframeCandleUpdate', handleMultiTimeframeCandles);\r\n };\r\n }, [socket, isConnected, mint]);\r\n\r\n // Handle timeframe switching\r\n const handleTimeFrameChange = useCallback(async (timeFrameValue: string) => {\r\n if (!controllerRef.current) return;\r\n\r\n const newTimeFrame = timeFrames.find(tf => tf.value === timeFrameValue);\r\n if (!newTimeFrame || newTimeFrame.value === currentTimeframe?.value) return;\r\n\r\n // Prevent multiple simultaneous switches\r\n if (timeframeLoading) {\r\n console.log(`⚠️ [FunhiChart] Timeframe switch already in progress`);\r\n return;\r\n }\r\n\r\n console.log(`🔄 [FunhiChart] Switching to ${newTimeFrame.label}`);\r\n setTimeframeLoading(true);\r\n setLoadingTimeframe(newTimeFrame.label);\r\n setLoading(true);\r\n\r\n try {\r\n await controllerRef.current.switchTimeframe(newTimeFrame.seconds);\r\n setCurrentTimeframe(newTimeFrame);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n console.log(`✅ [FunhiChart] Switched to ${newTimeFrame.label}`);\r\n } catch (error) {\r\n console.error(`❌ [FunhiChart] Switch error:`, error);\r\n setLoading(false);\r\n setTimeframeLoading(false);\r\n setLoadingTimeframe(null);\r\n }\r\n }, [timeFrames, currentTimeframe, timeframeLoading]);\r\n\r\n // Handle resize\r\n useEffect(() => {\r\n const handleResize = () => {\r\n controllerRef.current?.resize();\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n // Loading timeout\r\n useEffect(() => {\r\n if ((loading || analyticsLoading) && controllerRef.current) {\r\n const candles = controllerRef.current.getCurrentCandles();\r\n if (candles.length === 0) {\r\n const timeout = setTimeout(() => setLoading(false), 10000);\r\n return () => clearTimeout(timeout);\r\n }\r\n }\r\n }, [loading, analyticsLoading]);\r\n\r\n if (error) {\r\n return (\r\n <div className=\"p-4 bg-red-50 border border-red-200 rounded-lg\">\r\n <div className=\"text-red-800 font-medium\">Chart Error</div>\r\n <div className=\"text-red-600 text-sm\">{error}</div>\r\n <button\r\n onClick={() => setError(null)}\r\n className=\"mt-2 px-3 py-1 bg-red-100 text-red-700 rounded text-sm hover:bg-red-200\"\r\n >\r\n Dismiss\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n const currentCandles = controllerRef.current?.getCurrentCandles() || [];\r\n const currentPrice = realTimePrice || 0;\r\n\r\n return (\r\n <div className=\"w-full\">\r\n {/* Timeframe Selector */}\r\n <div className=\"mb-4 flex flex-wrap gap-2 items-center\">\r\n <div className=\"flex flex-wrap gap-2\">\r\n {timeFrames.map((tf) => {\r\n const isCurrentTimeframe = currentTimeframe?.value === tf.value;\r\n const isCurrentlyLoading = timeframeLoading && loadingTimeframe === tf.label;\r\n const isDisabled = timeframeLoading;\r\n\r\n return (\r\n <button\r\n key={tf.value}\r\n onClick={() => handleTimeFrameChange(tf.value)}\r\n disabled={isDisabled}\r\n className={`\r\n px-3 py-2 rounded-lg text-sm font-medium transition-all duration-200 relative\r\n ${isCurrentTimeframe\r\n ? 'bg-blue-600 text-white'\r\n : isDisabled\r\n ? 'bg-gray-100 text-gray-400 cursor-not-allowed'\r\n : 'bg-gray-100 text-gray-700 hover:bg-gray-200'\r\n }\r\n ${isCurrentlyLoading ? 'animate-pulse' : ''}\r\n `}\r\n >\r\n {isCurrentlyLoading && (\r\n <div className=\"absolute inset-0 flex items-center justify-center\">\r\n <div className=\"flex space-x-1\">\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\"></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-1 h-1 bg-white rounded-full animate-pulse\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n )}\r\n <span className={isCurrentlyLoading ? 'opacity-0' : 'opacity-100'}>\r\n {tf.label}\r\n </span>\r\n </button>\r\n );\r\n })}\r\n </div>\r\n\r\n {/* Status */}\r\n <div className=\"ml-auto flex items-center gap-2 text-sm\">\r\n <div className={`w-2 h-2 rounded-full ${analyticsConnected ? 'bg-green-500' : 'bg-red-500'}`}></div>\r\n <span className={analyticsConnected ? 'text-green-600' : 'text-red-600'}>\r\n {analyticsConnected ? 'Connected' : 'Disconnected'}\r\n </span>\r\n {timeframeLoading && loadingTimeframe && (\r\n <span className=\"text-blue-600\">• Switching to {loadingTimeframe}...</span>\r\n )}\r\n {!timeframeLoading && loading && !analyticsLoading && (\r\n <span className=\"text-blue-600\">• Loading candles...</span>\r\n )}\r\n {analyticsLoading && (\r\n <span className=\"text-blue-600\">• Connecting to analytics...</span>\r\n )}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length > 0 && (\r\n <span className=\"text-green-600\">\r\n • {currentCandles.length} {currentTimeframe?.label} candles • {formatTokenPrice(currentPrice)}\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {/* Chart Container */}\r\n <div\r\n ref={chartContainerRef}\r\n className={`relative w-full h-96 transition-all duration-300 ${\r\n timeframeLoading\r\n ? 'opacity-75 scale-[0.98]'\r\n : 'opacity-100 scale-100'\r\n }`}\r\n >\r\n {/* Loading Overlay */}\r\n {(timeframeLoading || (loading && !analyticsLoading)) && (\r\n <div className=\"absolute inset-0 bg-gradient-to-br from-white via-blue-50 to-white bg-opacity-90 flex items-center justify-center rounded-lg z-10 backdrop-blur-sm\">\r\n <div className=\"text-center\">\r\n <div className=\"flex justify-center items-center mb-4\">\r\n <div className=\"relative\">\r\n <div className=\"w-12 h-12 border-4 border-blue-200 rounded-full\"></div>\r\n <div className=\"absolute top-0 left-0 w-12 h-12 border-4 border-blue-600 rounded-full border-t-transparent animate-spin\"></div>\r\n </div>\r\n </div>\r\n <div className=\"text-gray-700 font-medium text-lg\">\r\n {timeframeLoading && loadingTimeframe\r\n ? `Switching to ${loadingTimeframe} timeframe...`\r\n : 'Loading real-time data...'\r\n }\r\n </div>\r\n <div className=\"mt-3 flex justify-center space-x-1\">\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\"></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.1s'}}></div>\r\n <div className=\"w-2 h-2 bg-blue-600 rounded-full animate-bounce\" style={{animationDelay: '0.2s'}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* No Data State */}\r\n {!timeframeLoading && !loading && !analyticsLoading && currentCandles.length === 0 && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"text-gray-600 mb-2\">No {currentTimeframe?.label} market data available</div>\r\n <div className=\"text-sm text-gray-500\">Waiting for real-time data...</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default FunhiChart;\r\n\r\n","/**\r\n * Candle Aggregation Utility\r\n * \r\n * Client-side aggregation of 1-minute candles into larger timeframes\r\n * This provides real-time aggregation without waiting for server responses\r\n */\r\n\r\nexport interface CandleData {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nclass CandleAggregation {\r\n private timeframes: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '30m': 1800,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n\r\n /**\r\n * Aggregate 1-minute candles into a larger timeframe\r\n */\r\n aggregateCandles(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData[] {\r\n try {\r\n // If requesting 1-minute data, return as-is\r\n if (targetTimeframe === 60) {\r\n return oneMinuteCandles;\r\n }\r\n\r\n // Validate input\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n console.warn('⚠️ [CandleAggregation] No candles to aggregate');\r\n return [];\r\n }\r\n\r\n // Sort candles by time ascending\r\n const sortedCandles = [...oneMinuteCandles].sort((a, b) => a.time - b.time);\r\n\r\n // Group candles by target timeframe\r\n const aggregatedCandles: CandleData[] = [];\r\n let currentGroup: CandleData[] = [];\r\n let groupStartTime: number | null = null;\r\n\r\n for (const candle of sortedCandles) {\r\n // Calculate which timeframe bucket this candle belongs to\r\n const bucketTime = Math.floor(candle.time / targetTimeframe) * targetTimeframe;\r\n\r\n if (groupStartTime === null) {\r\n groupStartTime = bucketTime;\r\n }\r\n\r\n if (bucketTime === groupStartTime) {\r\n // Add to current group\r\n currentGroup.push(candle);\r\n } else {\r\n // Process current group and start new one\r\n if (currentGroup.length > 0) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n // Start new group\r\n currentGroup = [candle];\r\n groupStartTime = bucketTime;\r\n }\r\n }\r\n\r\n // Process last group\r\n if (currentGroup.length > 0 && groupStartTime !== null) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n console.log(`📊 [CandleAggregation] Aggregated ${oneMinuteCandles.length} 1m candles into ${aggregatedCandles.length} ${this.getTimeframeLabel(targetTimeframe)} candles`);\r\n\r\n return aggregatedCandles;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error aggregating candles:', error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Aggregate a group of candles into a single candle\r\n */\r\n private aggregateGroup(candles: CandleData[], time: number): CandleData {\r\n // Sort by time to ensure proper OHLC calculation\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n\r\n // Calculate OHLC\r\n const open = sorted[0].open;\r\n const close = sorted[sorted.length - 1].close;\r\n const high = Math.max(...sorted.map(c => c.high));\r\n const low = Math.min(...sorted.map(c => c.low));\r\n const volume = sorted.reduce((sum, c) => sum + (c.volume || 0), 0);\r\n\r\n return {\r\n time,\r\n open,\r\n high,\r\n low,\r\n close,\r\n volume\r\n };\r\n }\r\n\r\n /**\r\n * Get human-readable timeframe label\r\n */\r\n getTimeframeLabel(seconds: number): string {\r\n for (const [label, value] of Object.entries(this.timeframes)) {\r\n if (value === seconds) {\r\n return label;\r\n }\r\n }\r\n return `${seconds}s`;\r\n }\r\n\r\n /**\r\n * Get timeframe in seconds from label\r\n */\r\n getTimeframeSeconds(label: string): number {\r\n return this.timeframes[label] || 60;\r\n }\r\n\r\n\r\n\r\n /**\r\n * Get the current incomplete candle for a timeframe\r\n * This is used for real-time updates\r\n */\r\n getCurrentCandle(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData | null {\r\n try {\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n return null;\r\n }\r\n\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / targetTimeframe) * targetTimeframe;\r\n\r\n // Get all candles in the current bucket\r\n const currentGroup = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / targetTimeframe) * targetTimeframe;\r\n return bucket === currentBucket;\r\n });\r\n\r\n if (currentGroup.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.aggregateGroup(currentGroup, currentBucket);\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error getting current candle:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Update real-time candle with new 1-minute candle\r\n * Returns updated array of aggregated candles\r\n */\r\n updateRealtimeCandle(\r\n aggregatedCandles: CandleData[],\r\n newOneMinuteCandle: CandleData,\r\n targetTimeframe: number\r\n ): CandleData[] {\r\n try {\r\n if (!newOneMinuteCandle) {\r\n return aggregatedCandles;\r\n }\r\n\r\n // Calculate which bucket this 1m candle belongs to\r\n const bucketTime = Math.floor(newOneMinuteCandle.time / targetTimeframe) * targetTimeframe;\r\n\r\n // Find if we already have a candle for this bucket\r\n const existingIndex = aggregatedCandles.findIndex(c => c.time === bucketTime);\r\n\r\n if (existingIndex >= 0) {\r\n // Update existing candle\r\n const existing = aggregatedCandles[existingIndex];\r\n const updated: CandleData = {\r\n time: bucketTime,\r\n open: existing.open, // Keep original open\r\n high: Math.max(existing.high, newOneMinuteCandle.high),\r\n low: Math.min(existing.low, newOneMinuteCandle.low),\r\n close: newOneMinuteCandle.close, // Use latest close\r\n volume: existing.volume + (newOneMinuteCandle.volume || 0)\r\n };\r\n\r\n // Replace the candle\r\n const newCandles = [...aggregatedCandles];\r\n newCandles[existingIndex] = updated;\r\n return newCandles;\r\n } else {\r\n // Add new candle\r\n const newCandle: CandleData = {\r\n time: bucketTime,\r\n open: newOneMinuteCandle.open,\r\n high: newOneMinuteCandle.high,\r\n low: newOneMinuteCandle.low,\r\n close: newOneMinuteCandle.close,\r\n volume: newOneMinuteCandle.volume || 0\r\n };\r\n\r\n return [...aggregatedCandles, newCandle].sort((a, b) => a.time - b.time);\r\n }\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error updating realtime candle:', error);\r\n return aggregatedCandles;\r\n }\r\n }\r\n\r\n /**\r\n * Validate candle data structure\r\n */\r\n isValidCandle(candle: any): candle is CandleData {\r\n return (\r\n candle &&\r\n typeof candle.time === 'number' &&\r\n typeof candle.open === 'number' &&\r\n typeof candle.high === 'number' &&\r\n typeof candle.low === 'number' &&\r\n typeof candle.close === 'number' &&\r\n candle.high >= candle.low &&\r\n candle.high >= candle.open &&\r\n candle.high >= candle.close &&\r\n candle.low <= candle.open &&\r\n candle.low <= candle.close\r\n );\r\n }\r\n\r\n /**\r\n * Clean invalid candles from array\r\n */\r\n cleanCandles(candles: CandleData[]): CandleData[] {\r\n if (!Array.isArray(candles)) {\r\n return [];\r\n }\r\n\r\n const cleaned = candles.filter(c => this.isValidCandle(c));\r\n\r\n if (cleaned.length < candles.length) {\r\n console.warn(`⚠️ [CandleAggregation] Removed ${candles.length - cleaned.length} invalid candles`);\r\n }\r\n\r\n return cleaned;\r\n }\r\n\r\n /**\r\n * Get the minimum number of 1-minute candles needed for a timeframe\r\n */\r\n getRequiredOneMinuteCandles(targetTimeframe: number, targetCount: number = 200): number {\r\n const ratio = targetTimeframe / 60; // How many 1m candles per target candle\r\n return Math.ceil(targetCount * ratio);\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const candleAggregation = new CandleAggregation();\r\n\r\n"],"names":["CandleValidator","validate","candle","time","open","high","low","close","isFinite","Math","max","min","ensureMinimumBodySize","minBodySize","volume","computedMin","MIN_BODY_PERCENTAGE","minBody","MIN_BODY_ABSOLUTE","adjustedClose","validateOHLC","isCurrentBucket","timeframeSeconds","timestamp","currentTime","floor","currentBucket","validatePrice","price","calculateMinBodySize","CandleManager","constructor","this","candles","currentCandle","lastCandleTime","lastProcessedTimestamp","debounceMs","createOrUpdate","tradeSize","now","Date","console","warn","normalizedTradeSize","Number","bucketStart","calculateBucketStart","createNewCandle","updateCurrentCandle","isValidCandle","finalizedCandle","addCandleToHistory","openPrice","getPreviousCandleClose","newCandle","buildNewCandle","adjustedNewCandle","finalNewCandle","log","toFixed","isNewCandle","wasUpdated","recreatedCandle","tradeCount","isSingleTrade","isWeakSignal","updateCandleInHistory","updatedCandle","updateCandlePrice","adjustedCandle","validatedCandle","currentPrice","closePrice","length","sortedCandles","sort","a","b","lastCandle","find","c","getPreviousCandleDirection","existingIndex","findIndex","push","getCandles","getCurrentCandle","getLastCandleTime","detectGaps","gaps","i","current","next","expectedNextTime","gapSize","missingCount","startTime","endTime","loadCandles","existingCandlesMap","Map","forEach","set","validated","get","mergedCandles","Array","from","values","prev","adjusted","updateFromExternal","continuityCandle","finalCandle","reset","TimeframeManager","timeframes","managers","tf","seconds","getManager","updateAll","manager","getTimeframes","size","_a","width","height","Error","equalSizes","first","second","Observable","win","_this","_resolutionListener","_onResolutionChanged","_resolutionMediaQueryList","_observers","_window","_installResolutionListener","prototype","dispose","_uninstallResolutionListener","Object","defineProperty","devicePixelRatio","enumerable","configurable","subscribe","observer","unsubscribe","filter","o","dppx","matchMedia","concat","addListener","removeListener","_reinstallResolutionListener","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_canvasElement","_bitmapSizeChangedListeners","_suggestedBitmapSize","_suggestedBitmapSizeChangedListeners","_devicePixelRatioObservable","_canvasElementResizeObserver","_canvasElementClientSize","clientWidth","clientHeight","_transformBitmapSize","_allowResizeObserver","allowResizeObserver","_chooseAndInitObserver","_b","disconnect","resizeCanvasElement","clientSize","style","_invalidateBitmapSize","subscribeBitmapSizeChanged","listener","unsubscribeBitmapSizeChanged","l","subscribeSuggestedBitmapSizeChanged","unsubscribeSuggestedBitmapSizeChanged","applySuggestedBitmapSize","oldSuggestedSize","_resizeBitmap","_emitSuggestedBitmapSizeChanged","newSize","oldSize","bitmapSize","_emitBitmapSizeChanged","call","_suggestNewBitmapSize","finalNewSize","newSuggestedSize","Promise","resolve","ro","ResizeObserver","entries","every","entry","observe","document","body","box","catch","then","isSupported","_initResizeObserver","_initDevicePixelRatioObservable","canvasElementWindow","createDevicePixelRatioObservable","ratio","value","canvasRects","getClientRects","undefined","canvasRect","round","left","top","predictedBitmapSize","target","devicePixelContentBoxSize","entrySize","inlineSize","blockSize","ownerDocument","defaultView","CanvasRenderingTarget2D","context","mediaSize","TypeError","_mediaSize","_bitmapSize","_context","useMediaCoordinateSpace","f","save","setTransform","scale","_horizontalPixelRatio","_verticalPixelRatio","restore","useBitmapCoordinateSpace","horizontalPixelRatio","verticalPixelRatio","tryCreateCanvasRenderingTarget2D","binding","contextOptions","canvasElementClientSize","getContext","e","upColor","downColor","wickVisible","borderVisible","borderColor","borderUpColor","borderDownColor","wickColor","wickUpColor","wickDownColor","r","openVisible","thinBars","h","color","lineStyle","lineWidth","lineType","lineVisible","crosshairMarkerVisible","crosshairMarkerRadius","crosshairMarkerBorderColor","crosshairMarkerBorderWidth","crosshairMarkerBackgroundColor","lastPriceAnimation","pointMarkersVisible","topColor","bottomColor","invertFilledArea","lineColor","baseValue","type","topFillColor1","topFillColor2","topLineColor","bottomFillColor1","bottomFillColor2","bottomLineColor","base","_","u","title","visible","lastValueVisible","priceLineVisible","priceLineSource","priceLineWidth","priceLineColor","priceLineStyle","baseLineVisible","baseLineWidth","baseLineColor","baseLineStyle","priceFormat","precision","minMove","d","t","n","setLineDash","v","s","beginPath","moveTo","lineTo","stroke","p","m","w","Simple","WithSteps","Curved","Solid","Dotted","Dashed","LargeDashed","SparseDotted","g","khaki","azure","aliceblue","ghostwhite","gold","goldenrod","gainsboro","gray","green","honeydew","floralwhite","lightblue","lightcoral","lemonchiffon","hotpink","lightyellow","greenyellow","lightgoldenrodyellow","limegreen","linen","lightcyan","magenta","maroon","olive","orange","oldlace","mediumblue","transparent","lime","lightpink","mistyrose","moccasin","midnightblue","orchid","mediumorchid","mediumturquoise","orangered","royalblue","powderblue","red","coral","turquoise","white","whitesmoke","wheat","teal","steelblue","bisque","aquamarine","aqua","sienna","silver","springgreen","antiquewhite","burlywood","brown","beige","chocolate","chartreuse","cornflowerblue","cornsilk","crimson","cadetblue","tomato","fuchsia","blue","salmon","blanchedalmond","slateblue","slategray","thistle","tan","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","blueviolet","black","darkmagenta","darkslateblue","darkkhaki","darkorchid","darkorange","darkgreen","darkred","dodgerblue","darkslategray","dimgray","deepskyblue","firebrick","forestgreen","indigo","ivory","lavenderblush","feldspar","indianred","lightgreen","lightgrey","lightskyblue","lightslategray","lightslateblue","snow","lightseagreen","lightsalmon","darksalmon","darkviolet","mediumpurple","mediumaquamarine","skyblue","lavender","lightsteelblue","mediumvioletred","mintcream","navajowhite","navy","olivedrab","palevioletred","violetred","yellow","yellowgreen","lawngreen","pink","paleturquoise","palegoldenrod","darkolivegreen","darkseagreen","darkturquoise","peachpuff","deeppink","violet","palegreen","mediumseagreen","peru","saddlebrown","sandybrown","rosybrown","purple","seagreen","seashell","papayawhip","mediumslateblue","plum","mediumspringgreen","M","x","S","k","y","C","T","toLowerCase","exec","parseInt","parseFloat","P","R","D","splice","V","hasOwnProperty","includes","isArray","O","B","A","I","z","L","E","N","F","W","NaN","j","H","$","U","layout","textColor","q","fontSize","fontFamily","Y","Z","X","K","super","arguments","G","J","tt","to","it","nt","st","arc","PI","fill","et","fillStyle","rt","ht","lt","ot","_t","ut","ct","dt","ft","vt","bt","wt","map","gt","Mt","mode","xt","St","kt","yt","Ct","Tt","Pt","Dt","Rt","Vt","Ot","Bt","At","It","zt","Lt","Et","lineCap","strokeStyle","Nt","Ft","Wt","jt","Ht","$t","crosshair","Ut","qt","horzLine","vertLine","Yt","Zt","fillRect","globalCompositeOperation","roundRect","arcTo","Q","closePath","createLinearGradient","addColorStop","Xt","Kt","font","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","textAlign","textBaseline","fillText","fi","pi","mi","bi","wi","gi","Mi","ceil","xi","Si","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","ticksVisible","Ii","zi","Li","Ei","labelVisible","Ni","labelBackgroundColor","Fi","Wi","ji","Hi","abs","translate","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","at","Normal","Magnet","Hidden","tn","nn","sn","en","rn","hn","ln","an","_n","un","cn","dn","fn","vn","pn","mn","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","clear","Dn","Vn","On","Bn","isNaN","In","An","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Jn","Qn","ts","ns","ss","es","toString","slice","rs","hs","format","ls","_s","pt","us","cs","pow","replace","String","mt","bezierCurveTo","ds","fs","vs","ps","lineJoin","bs","bind","ws","gs","Ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","assign","Us","$s","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","pointMarkersRadius","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","Oe","atan","Be","Ae","Ie","ze","Le","Ee","Ne","Fe","draw","renderer","We","priceValueBuilder","je","isWhitespace","He","$e","update","bars","barSpacing","visibleRange","originalData","barColor","Ue","qe","Ye","Ze","Xe","Ke","Ge","Je","Qe","tr","ir","nr","sr","actualBoundingBoxAscent","actualBoundingBoxDescent","has","er","delete","measureText","rr","hr","lr","ar","_r","ur","cr","dr","vr","pr","mr","br","wr","gr","Mr","Sr","kr","yr","Cr","Tr","Pr","Rr","Dr","Vr","Or","Br","Ar","Ir","zr","Lr","Er","Nr","Fr","performance","Wr","jr","Hr","$r","Ur","qr","Yr","Zr","Xr","Kr","Gr","vi","Jr","Qr","th","ih","nh","sqrt","position","sh","eh","rh","hh","ah","oh","_h","uh","dh","fh","above","aboveBar","inBar","below","belowBar","reduce","shape","id","text","ph","mh","bh","seriesLastValueMode","wh","gh","Mh","xh","Sh","trim","kh","yh","Ch","Th","Ph","Rh","Dh","Vh","Oh","Bh","minValue","maxValue","Ah","Ih","zh","Lh","Eh","priceRange","margins","Nh","Fh","axisLabelVisible","Wh","axisLabelColor","axisLabelTextColor","jh","Hh","$h","Uh","qh","Yh","Zh","Bar","Candlestick","Xh","Custom","Area","Baseline","Line","Histogram","Kh","Gh","Jh","Qh","NearestLeft","None","NearestRight","tl","il","nl","sl","el","rl","hl","ll","al","ol","_l","ul","cl","dl","fl","vl","pl","ml","bl","wl","gl","drawBackground","Ml","xl","Sl","zOrder","coordinate","fixedCoordinate","backColor","tickVisible","kl","yl","Cl","Tl","Pl","Rl","Dl","Vl","Ol","updateAllViews","paneViews","timeAxisViews","priceAxisViews","Bl","priceAxisPaneViews","Al","timeAxisPaneViews","Il","autoscaleInfo","hitTest","zl","Ll","El","Nl","Fl","Wl","jl","Hl","$l","Ul","ql","clearTimeout","Yl","Zl","priceScaleId","Xl","Kl","Gl","Jl","Ql","ta","ia","na","sa","ea","ra","indexOf","ha","la","aa","setTimeout","oa","unshift","ua","ca","da","fa","va","autoscaleInfoProvider","pa","ma","ba","wa","ga","Ma","xa","Sa","ka","ya","Ca","Ta","Pa","formatter","Ra","Da","Va","originalTime","Oa","Ba","Aa","Ia","za","La","Ea","Na","Fa","Wa","ja","grid","horzLines","vertLines","Ha","coord","$a","Ua","log10","on","qa","Ya","Za","Xa","Ka","Ga","Ja","Qa","io","entireTextOnly","no","so","eo","Logarithmic","Percentage","IndexedTo100","ho","lo","ao","oo","_o","uo","co","do","fo","vo","po","mo","bo","wo","Mo","xo","So","ko","yo","Co","To","Po","Ro","scaleMargins","bottom","Do","Vo","autoScale","Oo","Bo","invertScale","Ao","Io","zo","Lo","Eo","No","Fo","Wo","jo","Ho","$o","Uo","qo","Yo","Zo","Xo","Ko","Go","Jo","Qo","t_","i_","n_","s_","e_","r_","h_","l_","a_","priceFormatter","percentageFormatter","o_","__","u_","c_","d_","f_","v_","leftPriceScale","p_","rightPriceScale","m_","b_","localization","overlayPriceScales","w_","g_","M_","x_","S_","k_","C_","y_","T_","P_","R_","D_","V_","O_","B_","A_","I_","z_","L_","E_","N_","F_","W_","j_","H_","U_","q_","Y_","cacheKey","Z_","X_","K_","G_","J_","Q_","tu","iu","nu","timeWeight","index","weight","su","eu","ru","keys","hu","lu","au","ou","_u","uu","cu","du","fu","vu","pu","mu","bu","wu","gu","Mu","xu","rightOffset","Su","ku","uniformDistribution","yu","Cu","fixLeftEdge","Tu","fixRightEdge","Pu","minBarSpacing","key","Ru","Du","Vu","Ou","Bu","Au","Iu","lockVisibleTimeRangeOnResize","zu","Lu","Eu","Nu","Fu","Wu","ju","Hu","tickMarkMaxCharacterLength","$u","label","Uu","needAlignCoordinate","qu","Yu","Zu","rightBarStaysOnScroll","Xu","Ku","Gu","Ju","RangeError","Qu","tc","nc","sc","ec","rc","hc","lc","timeFormatter","formatHorzItem","handleScroll","handleScale","horzTouchDrag","mouseWheel","pressedMouseMove","vertTouchDrag","axisDoubleClickReset","axisPressedMouseMove","pinch","ac","oc","_c","uc","cc","dc","fc","formatTickmark","updateFormatter","vc","mc","bc","wc","gc","Mc","xc","Sc","kc","horzAlign","vertAlign","fontStyle","OnTouchEnd","OnNextTap","yc","Cc","Tc","Pc","Rc","Dc","Vc","Oc","timeScale","Bc","Ac","watermark","Ic","zc","Lc","Ec","Nc","Fc","Wc","jc","Hc","$c","Uc","qc","Yc","Zc","Xc","Kc","Gc","Jc","Qc","td","nd","sd","ed","rd","hd","ld","ad","od","_d","allowShiftVisibleRangeOnWhitespaceReplacement","shiftVisibleRangeOnNewBar","ud","dd","fd","vd","pd","md","bd","wd","background","Disabled","Continuous","OnDataUpdate","LastBar","LastVisible","VerticalGradient","Year","Month","DayOfMonth","Time","TimeWithSeconds","getUTCFullYear","gd","Md","getUTCMonth","toLocaleString","month","getUTCDate","xd","getUTCHours","getUTCMinutes","getUTCSeconds","Sd","kd","yd","Cd","Td","Pd","Rd","Dd","Vd","getTime","UTC","year","day","Od","Bd","is","setOptions","preprocessData","createConverterToInternalObj","convertHorzItemToInternal","dateFormat","timeVisible","Ad","secondsVisible","locale","tickMarkFormatter","hour12","hour","minute","getUTCMilliseconds","maxTickMarkWeight","fillWeightsForPoints","Id","window","navigator","userAgent","test","platform","zd","sign","as","Ld","Ed","Nd","Fd","Wd","jd","Hd","$d","Ud","qd","Yd","Zd","os","Xd","Kd","Gd","Jd","Qd","removeChild","nf","sf","ef","attributionLogo","rf","URL","location","href","hostname","pathname","if","createElement","innerText","innerHTML","toggleAttribute","appendChild","transform","clearRect","hf","lf","af","NEGATIVE_INFINITY","POSITIVE_INFINITY","_f","uf","cf","df","ff","vf","pf","mf","bf","wf","gf","Mf","xf","Sf","kf","yf","Cf","Tf","Pf","Rf","Df","Vf","Of","Bf","Af","If","zf","Lf","Ef","Nf","Ff","Wf","Hf","jf","$f","Uf","qf","Yf","Zf","Xf","Kf","Gf","Jf","removeEventListener","addEventListener","Qf","tv","iv","changedTouches","nv","sv","ev","rv","hv","lv","button","av","ov","touches","_v","uv","documentElement","cv","dv","fv","identifier","passive","vv","pv","mv","bv","wv","composed","contains","composedPath","gv","chrome","preventDefault","Mv","xv","Sv","kv","yv","ms","Cv","Tv","getBoundingClientRect","clientX","clientY","Pv","Rv","sourceCapabilities","firesTouchEvents","pageX","pageY","screenX","screenY","localX","localY","ctrlKey","altKey","shiftKey","metaKey","Dv","startsWith","Vv","Ov","Bv","view","Av","cancelable","timeStamp","Iv","zv","externalId","Lv","cursorStyle","Ev","Nv","Fv","Wv","jv","Hv","$v","Uv","qv","Yv","Zv","Xv","Kv","overflow","Gv","zIndex","Jv","Qv","tp","ip","np","sp","ep","rp","hp","lp","ap","op","_p","up","cp","dp","fp","vp","pp","mp","bp","wp","gp","Mp","xp","Sp","drawImage","kp","rect","alignLabels","yp","cursor","Cp","Tp","Pp","Rp","Dp","Vp","Op","Bp","Ap","Ip","zp","Lp","Ep","Np","Fp","Wp","padding","jp","Hp","$p","Up","qp","Yp","Zp","Xp","Kp","Gp","Jp","Qp","tm","im","nm","sm","rm","hm","lm","am","trackingMode","exitMode","om","isBackground","_m","um","dm","fm","vm","pm","bm","wm","gm","Mm","xm","Sm","km","activeElement","blur","getSelection","removeAllRanges","kineticScroll","ym","Cm","touch","mouse","Tm","Pm","Rm","Dm","Vm","Om","Bm","Am","Im","zm","Lm","Em","Nm","Fm","Wm","jm","Hm","$m","Um","qm","Ym","allowBoldLabels","Zm","userAgentData","brands","some","brand","Xm","Km","Gm","Jm","Qm","tb","ib","nb","classList","add","direction","userSelect","webkitUserSelect","msUserSelect","MozUserSelect","webkitTapHighlightColor","sb","setAttribute","eb","rb","hb","lb","ab","autoSize","ob","ub","cb","fb","cancelAnimationFrame","parentElement","pb","mb","bb","wb","gb","Mb","xb","Sb","kb","yb","setProperty","removeProperty","Cb","Tb","Pb","minimumWidth","minimumHeight","Rb","deltaMode","DOM_DELTA_PAGE","DOM_DELTA_LINE","deltaX","deltaY","Db","Vb","Ob","requestAnimationFrame","pop","Bb","Ab","insertBefore","Ib","zb","Lb","Eb","Nb","Fb","Wb","display","contentRect","Boolean","getOwnPropertySymbols","propertyIsEnumerable","customValues","jb","Hb","$b","Ub","qb","Yb","Zb","Xb","Kb","pointData","Gb","Jb","Qb","tw","iw","nw","sw","ew","rw","hw","lw","language","aw","ow","applyOptions","_w","uw","cw","dw","fw","priceToCoordinate","coordinateToPrice","barsInLogicalRange","barsBefore","barsAfter","setData","pw","mw","bw","dataByIndex","seriesType","data","subscribeDataChanged","unsubscribeDataChanged","setMarkers","markers","priceScale","createPriceLine","removePriceLine","attachPrimitive","attached","chart","series","requestUpdate","detachPrimitive","detached","ww","gw","Mw","xw","scrollPosition","scrollToPosition","scrollToRealTime","getVisibleRange","setVisibleRange","getVisibleLogicalRange","setVisibleLogicalRange","resetTimeScale","fitContent","logicalToCoordinate","coordinateToLogical","timeToCoordinate","coordinateToTime","subscribeVisibleTimeRangeChange","unsubscribeVisibleTimeRangeChange","subscribeVisibleLogicalRangeChange","unsubscribeVisibleLogicalRangeChange","subscribeSizeChange","unsubscribeSizeChange","Sw","kw","yw","Cw","Tw","Pw","Rw","Dw","remove","resize","autoSizeActive","addCustomSeries","defaultOptions","Vw","addAreaSeries","addBaselineSeries","addBarSeries","addCandlestickSeries","addHistogramSeries","addLineSeries","removeSeries","Ow","subscribeClick","unsubscribeClick","subscribeCrosshairMove","unsubscribeCrosshairMove","subscribeDblClick","unsubscribeDblClick","takeScreenshot","chartElement","paneSize","setCrosshairPosition","clearCrosshairPosition","Bw","logical","point","hoveredSeries","hoveredObjectId","seriesData","sourceEvent","getElementById","ChartRenderer","container","initialize","createChart","CrosshairMode","formatPrice","ticker","mint","substring","handleResize","updateData","validCandles","setTimeframe","timeframe","destroy","getChart","getSeries","thisArg","apply","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","obj","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","random","callbacks","source","shift","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","isStream","pipe","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","charCodeAt","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","toArray","arr","forEachEntry","_iterator","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","isIterable","AxiosError","message","code","config","request","response","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","error","customProps","axiosError","msg","errCode","cause","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","exposedHelpers","build","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","dest","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","getSetCookie","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","reject","ERR_BAD_REQUEST","mapped","headerValue","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","speedometer","lastArgs","timer","threshold","invoke","args","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","host","port","cookies","write","expires","domain","secure","sameSite","cookie","toUTCString","read","RegExp","decodeURIComponent","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","xhrAdapter","XMLHttpRequest","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","return","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","res","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","getAdapter","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","default","API_CONFIG","BASE_URL","FUNHI_CHART_API_URL","NEXT_PUBLIC_BACKEND_URL","TIMEOUT","MAX_RETRIES","RETRY_DELAY","candleStorageService","savingQueue","BATCH_DELAY","BATCH_SIZE","saveCandles","timeFrame","post","success","saveCandle","queueKey","existingQueue","flushQueue","queue","limit","candleCount","warning","flushAll","flushPromises","timeFrameStr","CandleStorageAdapter","effectiveLimit","MAX_SAFE_INTEGER","uniqueCandles","acc","RealTimeUpdateHandler","timeframeManager","lastUpdate","handlePriceUpdate","debounce","handleSocketUpdate","timeframeKey","backendCandle","getTimeframeSeconds","candleData","FunhiChartController","currentTimeframe","storageAdapter","updateHandler","chartOptions","chartRenderer","loadTimeframeData","getCurrentCandles","existingCount","newCount","updatePrice","switchTimeframe","updatedCandles","getCurrentTimeframe","useSocket","socketInstance","socket","useState","isConnected","setIsConnected","isConnecting","setIsConnecting","useEffect","handleConnect","handleDisconnect","handleConnectError","connected","off","connect","useCallback","subscribeToOHLCV","onInitialData","onUpdate","onNewCandle","emit","unsubscribeFromOHLCV","subscribeToPrice","onPriceUpdate","unsubscribeFromPrice","testConnection","once","useOptimizedTokenAnalytics","analyticsData","analytics","setAnalytics","loading","setLoading","setError","setLastUpdate","setConnected","derivedValues","useMemo","market","currentMarketCap","currentVolume","performance24h","isPositive","raw","performance7d","performance1m","performanceAllTime","high24h","low24h","volume24h","return24h","marketCap","blockchain","currentRealSol","percentage","gain","isRealVolume","FunhiChart","tokenName","externalSocket","externalIsConnected","externalPrice","externalVolume","analyticsConnected","externalAnalyticsConnected","analyticsLoading","externalAnalyticsLoading","chartContainerRef","useRef","controllerRef","timeframeLoading","setTimeframeLoading","loadingTimeframe","setLoadingTimeframe","setCurrentTimeframe","internalSocketData","internalAnalytics","realTimePrice","realTimeVolume","timeFrames","formatTokenPrice","previousPriceRef","priceChanged","handleMultiTimeframeCandles","handleTimeFrameChange","timeFrameValue","newTimeFrame","React","className","onClick","currentCandles","isCurrentTimeframe","isCurrentlyLoading","isDisabled","disabled","animationDelay","ref","candleAggregation","aggregateCandles","oneMinuteCandles","targetTimeframe","aggregatedCandles","currentGroup","groupStartTime","bucketTime","aggregated","aggregateGroup","getTimeframeLabel","sorted","sum","updateRealtimeCandle","newOneMinuteCandle","existing","updated","newCandles","cleanCandles","cleaned","getRequiredOneMinuteCandles","targetCount"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]}