@cedros/trade-react 0.1.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/context/CedrosTradeProvider.tsx","../src/hooks/useSwap.ts","../src/hooks/useTransfer.ts","../src/hooks/usePositions.ts","../src/hooks/useOpenOrders.ts","../src/hooks/usePrices.ts","../src/hooks/useTokens.ts","../src/hooks/useLimitOrder.ts","../src/hooks/useActionQueue.ts","../src/hooks/useOrderbook.ts","../src/components/swap/TokenSelector.tsx","../src/components/swap/SlippageControl.tsx","../src/components/shared/LoadingSpinner.tsx","../src/components/shared/ErrorMessage.tsx","../src/components/swap/SwapForm.tsx","../src/components/swap/SwapPage.tsx","../src/components/transfer/TransferForm.tsx","../src/components/transfer/TransferPage.tsx","../src/components/trading/TradingViewChart.tsx","../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/components/trading/LightweightChart.tsx","../src/components/trading/ChartContainer.tsx","../src/components/trading/AutoFeatures.tsx","../src/components/trading/OrderForm.tsx","../src/components/trading/Orderbook.tsx","../src/components/trading/OpenOrdersTable.tsx","../src/components/trading/PositionsTable.tsx","../src/components/trading/TradingPage.tsx","../src/components/portfolio/PortfolioPage.tsx","../src/components/orders/ActionQueue.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport { TradeApiClient } from '../utils/apiClient';\nimport type { CedrosTradeConfig } from '../types';\n\ninterface TradeContextValue {\n api: TradeApiClient;\n config: CedrosTradeConfig;\n}\n\nconst TradeContext = createContext<TradeContextValue | null>(null);\n\nexport interface CedrosTradeProviderProps {\n config: CedrosTradeConfig;\n children: React.ReactNode;\n}\n\nexport function CedrosTradeProvider({ config, children }: CedrosTradeProviderProps) {\n const value = useMemo(() => ({\n api: new TradeApiClient(config.serverUrl, config.getAccessToken, config.apiKey),\n config,\n }), [config.serverUrl, config.apiKey]);\n\n return (\n <TradeContext.Provider value={value}>\n {children}\n </TradeContext.Provider>\n );\n}\n\nexport function useTradeContext(): TradeContextValue {\n const ctx = useContext(TradeContext);\n if (!ctx) {\n throw new Error('useTradeContext must be used within <CedrosTradeProvider>');\n }\n return ctx;\n}\n\nexport function useTradeApi(): TradeApiClient {\n return useTradeContext().api;\n}\n","import { useCallback, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { SwapQuote, SwapTransaction, ExecuteResult } from '../types';\n\nexport interface UseSwapReturn {\n quote: SwapQuote | null;\n transaction: SwapTransaction | null;\n result: ExecuteResult | null;\n isLoading: boolean;\n error: string | null;\n getQuote: (inputMint: string, outputMint: string, amount: string, slippageBps?: number) => Promise<SwapQuote>;\n buildTransaction: (quote: SwapQuote, userPublicKey: string) => Promise<SwapTransaction>;\n execute: (signedTransaction: string, provider: string, requestId?: string) => Promise<ExecuteResult>;\n compareProviders: (inputMint: string, outputMint: string, amount: string) => Promise<SwapQuote[]>;\n reset: () => void;\n}\n\nexport function useSwap(): UseSwapReturn {\n const api = useTradeApi();\n const [quote, setQuote] = useState<SwapQuote | null>(null);\n const [transaction, setTransaction] = useState<SwapTransaction | null>(null);\n const [result, setResult] = useState<ExecuteResult | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const getQuote = useCallback(async (inputMint: string, outputMint: string, amount: string, slippageBps?: number) => {\n setIsLoading(true);\n setError(null);\n try {\n const q = await api.getQuote({ inputMint, outputMint, amount, slippageBps });\n setQuote(q);\n return q;\n } catch (e: any) {\n setError(e.message);\n throw e;\n } finally {\n setIsLoading(false);\n }\n }, [api]);\n\n const buildTransaction = useCallback(async (q: SwapQuote, userPublicKey: string) => {\n setIsLoading(true);\n setError(null);\n try {\n const tx = await api.buildSwap(q, userPublicKey);\n setTransaction(tx);\n return tx;\n } catch (e: any) {\n setError(e.message);\n throw e;\n } finally {\n setIsLoading(false);\n }\n }, [api]);\n\n const execute = useCallback(async (signedTransaction: string, provider: string, requestId?: string) => {\n setIsLoading(true);\n setError(null);\n try {\n const r = await api.executeSwap(signedTransaction, provider, requestId);\n setResult(r);\n return r;\n } catch (e: any) {\n setError(e.message);\n throw e;\n } finally {\n setIsLoading(false);\n }\n }, [api]);\n\n const compareProviders = useCallback(async (inputMint: string, outputMint: string, amount: string) => {\n setIsLoading(true);\n setError(null);\n try {\n return await api.compareQuotes(inputMint, outputMint, amount);\n } catch (e: any) {\n setError(e.message);\n throw e;\n } finally {\n setIsLoading(false);\n }\n }, [api]);\n\n const reset = useCallback(() => {\n setQuote(null);\n setTransaction(null);\n setResult(null);\n setError(null);\n }, []);\n\n return { quote, transaction, result, isLoading, error, getQuote, buildTransaction, execute, compareProviders, reset };\n}\n","import { useCallback, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { TransferBuildResponse, ExecuteResult } from '../types';\n\nexport interface UseTransferReturn {\n buildResult: TransferBuildResponse | null;\n executeResult: ExecuteResult | null;\n isLoading: boolean;\n error: string | null;\n build: (sender: string, recipient: string, mint: string, amount: string, memo?: string) => Promise<TransferBuildResponse>;\n execute: (signedTransaction: string) => Promise<ExecuteResult>;\n resolveAddress: (address: string) => Promise<{ input: string; resolved: string; type: string }>;\n reset: () => void;\n}\n\nexport function useTransfer(): UseTransferReturn {\n const api = useTradeApi();\n const [buildResult, setBuildResult] = useState<TransferBuildResponse | null>(null);\n const [executeResult, setExecuteResult] = useState<ExecuteResult | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const build = useCallback(async (sender: string, recipient: string, mint: string, amount: string, memo?: string) => {\n setIsLoading(true); setError(null);\n try {\n const r = await api.buildTransfer({ sender, recipient, mint, amount, memo });\n setBuildResult(r);\n return r;\n } catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n const execute = useCallback(async (signedTransaction: string) => {\n setIsLoading(true); setError(null);\n try {\n const r = await api.executeTransfer(signedTransaction);\n setExecuteResult(r);\n return r;\n } catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n const resolveAddress = useCallback(async (address: string) => {\n return api.resolveAddress(address);\n }, [api]);\n\n const reset = useCallback(() => {\n setBuildResult(null); setExecuteResult(null); setError(null);\n }, []);\n\n return { buildResult, executeResult, isLoading, error, build, execute, resolveAddress, reset };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { PositionsResponse } from '../types';\n\nexport interface UsePositionsReturn {\n positions: PositionsResponse | null;\n isLoading: boolean;\n error: string | null;\n refresh: () => Promise<void>;\n}\n\nexport function usePositions(walletAddress: string | null): UsePositionsReturn {\n const api = useTradeApi();\n const [positions, setPositions] = useState<PositionsResponse | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const refresh = useCallback(async () => {\n if (!walletAddress) return;\n setIsLoading(true); setError(null);\n try {\n setPositions(await api.getPositions(walletAddress));\n } catch (e: any) { setError(e.message); }\n finally { setIsLoading(false); }\n }, [api, walletAddress]);\n\n useEffect(() => { refresh(); }, [refresh]);\n\n return { positions, isLoading, error, refresh };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { OpenOrder, DcaOrder } from '../types';\n\nexport interface UseOpenOrdersReturn {\n limitOrders: OpenOrder[];\n dcaOrders: DcaOrder[];\n isLoading: boolean;\n error: string | null;\n refresh: () => Promise<void>;\n cancelOrder: (orderId: string, maker: string) => Promise<{ transaction: string }>;\n}\n\nexport function useOpenOrders(walletAddress: string | null): UseOpenOrdersReturn {\n const api = useTradeApi();\n const [limitOrders, setLimitOrders] = useState<OpenOrder[]>([]);\n const [dcaOrders, setDcaOrders] = useState<DcaOrder[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const refresh = useCallback(async () => {\n if (!walletAddress) return;\n setIsLoading(true); setError(null);\n try {\n const r = await api.getOpenOrders(walletAddress);\n setLimitOrders(r.limitOrders);\n setDcaOrders(r.dcaOrders);\n } catch (e: any) { setError(e.message); }\n finally { setIsLoading(false); }\n }, [api, walletAddress]);\n\n useEffect(() => { refresh(); }, [refresh]);\n\n const cancelOrder = useCallback(async (orderId: string, maker: string) => {\n const result = await api.cancelOrder(orderId, maker);\n await refresh();\n return result;\n }, [api, refresh]);\n\n return { limitOrders, dcaOrders, isLoading, error, refresh, cancelOrder };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { PriceSnapshot } from '../types';\n\nexport interface UsePricesReturn {\n prices: Record<string, PriceSnapshot>;\n isLoading: boolean;\n error: string | null;\n getPrice: (mint: string) => Promise<PriceSnapshot>;\n subscribe: (mints: string[]) => void;\n unsubscribe: (mints: string[]) => void;\n}\n\nexport function usePrices(): UsePricesReturn {\n const api = useTradeApi();\n const [prices, setPrices] = useState<Record<string, PriceSnapshot>>({});\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const subscribedMints = useRef<Set<string>>(new Set());\n const intervalRef = useRef<ReturnType<typeof setInterval>>();\n\n const fetchPrices = useCallback(async () => {\n const mints = Array.from(subscribedMints.current);\n if (mints.length === 0) return;\n try {\n const { prices: snapshots } = await api.getBatchPrices(mints);\n setPrices(prev => {\n const next = { ...prev };\n for (const s of snapshots) next[s.mint] = s;\n return next;\n });\n } catch (e: any) { setError(e.message); }\n }, [api]);\n\n const subscribe = useCallback((mints: string[]) => {\n for (const m of mints) subscribedMints.current.add(m);\n fetchPrices();\n }, [fetchPrices]);\n\n const unsubscribe = useCallback((mints: string[]) => {\n for (const m of mints) subscribedMints.current.delete(m);\n }, []);\n\n useEffect(() => {\n intervalRef.current = setInterval(fetchPrices, 10_000);\n return () => clearInterval(intervalRef.current);\n }, [fetchPrices]);\n\n const getPrice = useCallback(async (mint: string) => {\n setIsLoading(true);\n try {\n const p = await api.getPrice(mint);\n setPrices(prev => ({ ...prev, [mint]: p }));\n return p;\n } catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n return { prices, isLoading, error, getPrice, subscribe, unsubscribe };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { TokenRecord } from '../types';\n\nexport interface UseTokensReturn {\n tokens: TokenRecord[];\n isLoading: boolean;\n error: string | null;\n refresh: () => Promise<void>;\n getByMint: (mint: string) => TokenRecord | undefined;\n getBySymbol: (symbol: string) => TokenRecord | undefined;\n}\n\nexport function useTokens(): UseTokensReturn {\n const api = useTradeApi();\n const [tokens, setTokens] = useState<TokenRecord[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const refresh = useCallback(async () => {\n setIsLoading(true); setError(null);\n try {\n const { tokens: list } = await api.getTokens();\n setTokens(list);\n } catch (e: any) { setError(e.message); }\n finally { setIsLoading(false); }\n }, [api]);\n\n useEffect(() => { refresh(); }, [refresh]);\n\n const getByMint = useCallback((mint: string) => tokens.find(t => t.mint === mint), [tokens]);\n const getBySymbol = useCallback((symbol: string) => {\n const upper = symbol.toUpperCase();\n return tokens.find(t => t.symbol.toUpperCase() === upper);\n }, [tokens]);\n\n return { tokens, isLoading, error, refresh, getByMint, getBySymbol };\n}\n","import { useCallback, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\n\nexport interface UseLimitOrderReturn {\n isLoading: boolean;\n error: string | null;\n createLimit: (params: { maker: string; inputMint: string; outputMint: string; inAmount: string; outAmount: string; expiry?: string }) => Promise<{ transaction: string; orderId: string }>;\n createStopLoss: (params: { maker: string; inputMint: string; outputMint: string; inAmount: string; triggerPrice: string; slippageBps?: number }) => Promise<{ transaction: string; orderId: string }>;\n createTakeProfit: (params: { maker: string; inputMint: string; outputMint: string; inAmount: string; triggerPrice: string; slippageBps?: number }) => Promise<{ transaction: string; orderId: string }>;\n createDca: (params: { maker: string; inputMint: string; outputMint: string; totalInAmount: string; perCycleAmount: string; cycleInterval: number }) => Promise<{ transaction: string; orderId: string }>;\n}\n\nexport function useLimitOrder(): UseLimitOrderReturn {\n const api = useTradeApi();\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const wrap = useCallback(<T,>(fn: () => Promise<T>) => {\n return async () => {\n setIsLoading(true); setError(null);\n try { return await fn(); }\n catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n };\n }, []);\n\n const createLimit = useCallback(async (params: Parameters<typeof api.createLimitOrder>[0]) => {\n setIsLoading(true); setError(null);\n try { return await api.createLimitOrder(params); }\n catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n const createStopLoss = useCallback(async (params: Parameters<typeof api.createStopLoss>[0]) => {\n setIsLoading(true); setError(null);\n try { return await api.createStopLoss(params); }\n catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n const createTakeProfit = useCallback(async (params: Parameters<typeof api.createTakeProfit>[0]) => {\n setIsLoading(true); setError(null);\n try { return await api.createTakeProfit(params); }\n catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n const createDca = useCallback(async (params: Parameters<typeof api.createDca>[0]) => {\n setIsLoading(true); setError(null);\n try { return await api.createDca(params); }\n catch (e: any) { setError(e.message); throw e; }\n finally { setIsLoading(false); }\n }, [api]);\n\n return { isLoading, error, createLimit, createStopLoss, createTakeProfit, createDca };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useTradeApi } from '../context/CedrosTradeProvider';\nimport type { PendingAction } from '../types';\nimport type { CedrosTradeConfig } from '../types';\n\nexport interface UseActionQueueReturn {\n actions: PendingAction[];\n count: number;\n isLoading: boolean;\n error: string | null;\n refresh: () => Promise<void>;\n complete: (actionId: string, signedTransaction: string) => Promise<void>;\n dismiss: (actionId: string) => Promise<void>;\n}\n\nexport function useActionQueue(walletAddress: string | null): UseActionQueueReturn {\n const api = useTradeApi();\n const [actions, setActions] = useState<PendingAction[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const eventSourceRef = useRef<EventSource | null>(null);\n\n const refresh = useCallback(async () => {\n if (!walletAddress) return;\n setIsLoading(true); setError(null);\n try {\n setActions(await api.getPendingActions(walletAddress));\n } catch (e: any) { setError(e.message); }\n finally { setIsLoading(false); }\n }, [api, walletAddress]);\n\n // SSE streaming for real-time updates\n useEffect(() => {\n if (!walletAddress) return;\n refresh();\n\n // Fallback to polling if SSE isn't supported\n const pollInterval = setInterval(refresh, 10_000);\n return () => clearInterval(pollInterval);\n }, [walletAddress, refresh]);\n\n const complete = useCallback(async (actionId: string, signedTransaction: string) => {\n await api.completeAction(actionId, signedTransaction);\n await refresh();\n }, [api, refresh]);\n\n const dismiss = useCallback(async (actionId: string) => {\n await api.dismissAction(actionId);\n await refresh();\n }, [api, refresh]);\n\n return {\n actions,\n count: actions.length,\n isLoading,\n error,\n refresh,\n complete,\n dismiss,\n };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useTradeContext } from '../context/CedrosTradeProvider';\n\nexport interface OrderbookLevel {\n price: number;\n size: number;\n total: number;\n}\n\nexport interface OrderbookData {\n market: string;\n baseMint: string;\n quoteMint: string;\n bids: OrderbookLevel[];\n asks: OrderbookLevel[];\n spread: number;\n midPrice: number;\n}\n\nexport interface UseOrderbookReturn {\n data: OrderbookData | null;\n isLoading: boolean;\n error: string | null;\n isStreaming: boolean;\n}\n\nexport function useOrderbook(marketAddress: string | null, streaming = true): UseOrderbookReturn {\n const { config } = useTradeContext();\n const [data, setData] = useState<OrderbookData | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [isStreaming, setIsStreaming] = useState(false);\n const wsRef = useRef<WebSocket | null>(null);\n\n // REST fallback\n const fetchOnce = useCallback(async () => {\n if (!marketAddress) return;\n setIsLoading(true);\n try {\n const resp = await fetch(`${config.serverUrl}/orderbook/${marketAddress}`);\n if (!resp.ok) throw new Error('Failed to fetch orderbook');\n setData(await resp.json());\n } catch (e: any) { setError(e.message); }\n finally { setIsLoading(false); }\n }, [config.serverUrl, marketAddress]);\n\n // WebSocket streaming\n useEffect(() => {\n if (!marketAddress || !streaming) { fetchOnce(); return; }\n\n const wsUrl = config.serverUrl.replace(/^http/, 'ws') + `/ws/orderbook/${marketAddress}`;\n const ws = new WebSocket(wsUrl);\n wsRef.current = ws;\n\n ws.onopen = () => setIsStreaming(true);\n ws.onmessage = (event) => {\n try { setData(JSON.parse(event.data)); }\n catch { /* ignore parse errors */ }\n };\n ws.onerror = () => { setIsStreaming(false); fetchOnce(); };\n ws.onclose = () => setIsStreaming(false);\n\n return () => { ws.close(); wsRef.current = null; };\n }, [marketAddress, streaming, config.serverUrl, fetchOnce]);\n\n return { data, isLoading, error, isStreaming };\n}\n","import React, { useState, useMemo, useCallback, useEffect } from 'react';\nimport type { TokenRecord } from '../../types';\nimport { useTokens } from '../../hooks/useTokens';\n\nexport interface TokenSelectorProps {\n isOpen: boolean;\n onClose: () => void;\n onSelect: (token: TokenRecord) => void;\n /** Mints to exclude from the list (e.g. the other side of the pair) */\n excludeMints?: string[];\n className?: string;\n}\n\nexport function TokenSelector({ isOpen, onClose, onSelect, excludeMints = [], className = '' }: TokenSelectorProps) {\n const { tokens } = useTokens();\n const [search, setSearch] = useState('');\n const [favorites, setFavorites] = useState<string[]>(() => {\n try { return JSON.parse(localStorage.getItem('ct-favorite-tokens') || '[]'); }\n catch { return []; }\n });\n\n const filtered = useMemo(() => {\n const q = search.toLowerCase();\n return tokens\n .filter(t => !excludeMints.includes(t.mint))\n .filter(t => !q || t.symbol.toLowerCase().includes(q) || t.name.toLowerCase().includes(q) || t.mint.includes(q));\n }, [tokens, search, excludeMints]);\n\n const favoriteTokens = useMemo(() =>\n tokens.filter(t => favorites.includes(t.mint)),\n [tokens, favorites]);\n\n const toggleFavorite = useCallback((mint: string) => {\n setFavorites(prev => {\n const next = prev.includes(mint) ? prev.filter(m => m !== mint) : [...prev, mint];\n localStorage.setItem('ct-favorite-tokens', JSON.stringify(next));\n return next;\n });\n }, []);\n\n const handleSelect = useCallback((token: TokenRecord) => {\n onSelect(token);\n onClose();\n setSearch('');\n }, [onSelect, onClose]);\n\n useEffect(() => {\n if (isOpen) setSearch('');\n }, [isOpen]);\n\n if (!isOpen) return null;\n\n return (\n <div className={`ct-fixed ct-inset-0 ct-z-50 ct-flex ct-items-center ct-justify-center ct-bg-black/50 ${className}`} onClick={onClose}>\n <div className=\"ct-bg-[hsl(var(--cedros-background))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded-cedros ct-w-full ct-max-w-md ct-max-h-[80vh] ct-flex ct-flex-col ct-shadow-xl\" onClick={e => e.stopPropagation()}>\n {/* Header */}\n <div className=\"ct-flex ct-items-center ct-justify-between ct-px-4 ct-py-3 ct-border-b ct-border-[hsl(var(--cedros-border))]\">\n <h3 className=\"ct-text-lg ct-font-semibold ct-text-[hsl(var(--cedros-foreground))]\">Select Token</h3>\n <button onClick={onClose} className=\"ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-text-[hsl(var(--cedros-foreground))] ct-text-xl\">&times;</button>\n </div>\n\n {/* Search */}\n <div className=\"ct-px-4 ct-py-3\">\n <input\n type=\"text\"\n placeholder=\"Search by name, symbol, or mint...\"\n value={search}\n onChange={e => setSearch(e.target.value)}\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-placeholder-[hsl(var(--cedros-muted-foreground))] ct-outline-none focus:ct-ring-2 focus:ct-ring-[hsl(var(--cedros-ring))]\"\n autoFocus\n />\n </div>\n\n {/* Favorites */}\n {favoriteTokens.length > 0 && !search && (\n <div className=\"ct-px-4 ct-pb-2 ct-flex ct-flex-wrap ct-gap-2\">\n {favoriteTokens.map(t => (\n <button key={t.mint} onClick={() => handleSelect(t)}\n className=\"ct-px-3 ct-py-1 ct-rounded-full ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-text-[hsl(var(--cedros-foreground))] hover:ct-bg-[hsl(var(--cedros-primary))] hover:ct-text-[hsl(var(--cedros-primary-foreground))] ct-transition\">\n {t.symbol}\n </button>\n ))}\n </div>\n )}\n\n {/* Token List */}\n <div className=\"ct-flex-1 ct-overflow-y-auto ct-px-2 ct-pb-2\">\n {filtered.map(token => (\n <button key={token.mint} onClick={() => handleSelect(token)}\n className=\"ct-w-full ct-flex ct-items-center ct-gap-3 ct-px-3 ct-py-2 ct-rounded-cedros hover:ct-bg-[hsl(var(--cedros-muted))] ct-transition ct-text-left\">\n {token.logoUrl && (\n <img src={token.logoUrl} alt={token.symbol} className=\"ct-w-8 ct-h-8 ct-rounded-full\" />\n )}\n <div className=\"ct-flex-1 ct-min-w-0\">\n <div className=\"ct-font-medium ct-text-[hsl(var(--cedros-foreground))]\">{token.symbol}</div>\n <div className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))] ct-truncate\">{token.name}</div>\n </div>\n <button onClick={e => { e.stopPropagation(); toggleFavorite(token.mint); }}\n className=\"ct-text-lg ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-text-yellow-400\">\n {favorites.includes(token.mint) ? '★' : '☆'}\n </button>\n </button>\n ))}\n {filtered.length === 0 && (\n <div className=\"ct-text-center ct-py-8 ct-text-[hsl(var(--cedros-muted-foreground))]\">No tokens found</div>\n )}\n </div>\n </div>\n </div>\n );\n}\n","import React, { useState } from 'react';\n\nexport interface SlippageControlProps {\n value: number;\n onChange: (bps: number) => void;\n className?: string;\n}\n\nconst PRESETS = [\n { label: '0.1%', bps: 10 },\n { label: '0.5%', bps: 50 },\n { label: '1.0%', bps: 100 },\n];\n\nexport function SlippageControl({ value, onChange, className = '' }: SlippageControlProps) {\n const [isCustom, setIsCustom] = useState(!PRESETS.some(p => p.bps === value));\n const [customInput, setCustomInput] = useState(isCustom ? (value / 100).toString() : '');\n\n const handleCustomChange = (input: string) => {\n setCustomInput(input);\n const parsed = parseFloat(input);\n if (!isNaN(parsed) && parsed > 0 && parsed <= 50) {\n onChange(Math.round(parsed * 100));\n }\n };\n\n return (\n <div className={`ct-flex ct-items-center ct-gap-2 ${className}`}>\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Slippage</span>\n <div className=\"ct-flex ct-gap-1\">\n {PRESETS.map(p => (\n <button key={p.bps} onClick={() => { onChange(p.bps); setIsCustom(false); }}\n className={`ct-px-2 ct-py-1 ct-rounded ct-text-xs ct-transition ${\n value === p.bps && !isCustom\n ? 'ct-bg-[hsl(var(--cedros-primary))] ct-text-[hsl(var(--cedros-primary-foreground))]'\n : 'ct-bg-[hsl(var(--cedros-muted))] ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-bg-[hsl(var(--cedros-border))]'\n }`}>\n {p.label}\n </button>\n ))}\n <input\n type=\"text\"\n placeholder=\"Custom\"\n value={isCustom ? customInput : ''}\n onFocus={() => setIsCustom(true)}\n onChange={e => handleCustomChange(e.target.value)}\n className=\"ct-w-16 ct-px-2 ct-py-1 ct-rounded ct-text-xs ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-outline-none focus:ct-ring-1 focus:ct-ring-[hsl(var(--cedros-ring))]\"\n />\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">%</span>\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nexport function LoadingSpinner({ className = '' }: { className?: string }) {\n return (\n <div className={`ct-inline-block ct-animate-spin ct-rounded-full ct-h-5 ct-w-5 ct-border-2 ct-border-current ct-border-t-transparent ${className}`} role=\"status\">\n <span className=\"ct-sr-only\">Loading...</span>\n </div>\n );\n}\n","import React from 'react';\n\nexport interface ErrorMessageProps {\n message: string | null;\n className?: string;\n onDismiss?: () => void;\n}\n\nexport function ErrorMessage({ message, className = '', onDismiss }: ErrorMessageProps) {\n if (!message) return null;\n return (\n <div className={`ct-rounded-cedros ct-bg-red-500/10 ct-border ct-border-red-500/20 ct-px-3 ct-py-2 ct-text-sm ct-text-red-400 ct-flex ct-items-center ct-justify-between ${className}`}>\n <span>{message}</span>\n {onDismiss && (\n <button onClick={onDismiss} className=\"ct-ml-2 ct-text-red-400 hover:ct-text-red-300 ct-text-lg ct-leading-none\">&times;</button>\n )}\n </div>\n );\n}\n","import React, { useState, useCallback, useEffect } from 'react';\nimport type { TokenRecord, SwapQuote } from '../../types';\nimport { useSwap } from '../../hooks/useSwap';\nimport { TokenSelector } from './TokenSelector';\nimport { SlippageControl } from './SlippageControl';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\nimport { ErrorMessage } from '../shared/ErrorMessage';\n\nexport interface SwapFormProps {\n /** User's wallet public key */\n walletAddress?: string;\n /** Called with the unsigned transaction for signing */\n onSign?: (transaction: string, provider: string, requestId?: string) => Promise<string>;\n /** Called after successful execution */\n onSuccess?: (signature: string) => void;\n onError?: (error: string) => void;\n defaultInputMint?: string;\n defaultOutputMint?: string;\n className?: string;\n}\n\nconst SOL_MINT = 'So11111111111111111111111111111111111111112';\nconst USDC_MINT = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';\n\nexport function SwapForm({\n walletAddress, onSign, onSuccess, onError,\n defaultInputMint = SOL_MINT, defaultOutputMint = USDC_MINT,\n className = '',\n}: SwapFormProps) {\n const { quote, isLoading, error, getQuote, buildTransaction, execute, reset } = useSwap();\n\n const [inputToken, setInputToken] = useState<TokenRecord | null>(null);\n const [outputToken, setOutputToken] = useState<TokenRecord | null>(null);\n const [inputMint, setInputMint] = useState(defaultInputMint);\n const [outputMint, setOutputMint] = useState(defaultOutputMint);\n const [amount, setAmount] = useState('');\n const [slippageBps, setSlippageBps] = useState(50);\n const [selectorSide, setSelectorSide] = useState<'input' | 'output' | null>(null);\n const [step, setStep] = useState<'quote' | 'sign' | 'done'>('quote');\n\n // Debounced quote fetch\n useEffect(() => {\n if (!amount || !inputMint || !outputMint) return;\n const timer = setTimeout(() => {\n getQuote(inputMint, outputMint, amount, slippageBps).catch(() => {});\n }, 500);\n return () => clearTimeout(timer);\n }, [amount, inputMint, outputMint, slippageBps, getQuote]);\n\n const handleSwapDirection = useCallback(() => {\n setInputMint(outputMint);\n setOutputMint(inputMint);\n const tmp = inputToken;\n setInputToken(outputToken);\n setOutputToken(tmp);\n setAmount('');\n reset();\n }, [inputMint, outputMint, inputToken, outputToken, reset]);\n\n const handleSelectToken = useCallback((token: TokenRecord) => {\n if (selectorSide === 'input') {\n setInputMint(token.mint);\n setInputToken(token);\n } else {\n setOutputMint(token.mint);\n setOutputToken(token);\n }\n reset();\n }, [selectorSide, reset]);\n\n const handleSwap = useCallback(async () => {\n if (!quote || !walletAddress || !onSign) return;\n try {\n setStep('sign');\n const tx = await buildTransaction(quote, walletAddress);\n const signedTx = await onSign(tx.transaction, quote.provider, tx.requestId ?? undefined);\n const result = await execute(signedTx, quote.provider, tx.requestId ?? undefined);\n setStep('done');\n onSuccess?.(result.signature);\n } catch (e: any) {\n setStep('quote');\n onError?.(e.message);\n }\n }, [quote, walletAddress, onSign, buildTransaction, execute, onSuccess, onError]);\n\n const formatOutput = (q: SwapQuote | null) => {\n if (!q) return '';\n const decimals = outputToken?.decimals ?? 6;\n return (parseInt(q.outAmount) / Math.pow(10, decimals)).toFixed(decimals > 4 ? 4 : decimals);\n };\n\n return (\n <div className={`ct-bg-[hsl(var(--cedros-background))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded-cedros ct-p-4 ct-space-y-4 ${className}`}>\n <h3 className=\"ct-text-lg ct-font-semibold ct-text-[hsl(var(--cedros-foreground))]\">Swap</h3>\n\n {/* Input */}\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">You pay</label>\n <div className=\"ct-flex ct-gap-2\">\n <input type=\"text\" value={amount} onChange={e => setAmount(e.target.value)} placeholder=\"0.00\"\n className=\"ct-flex-1 ct-px-3 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-xl ct-text-[hsl(var(--cedros-foreground))] ct-outline-none focus:ct-ring-2 focus:ct-ring-[hsl(var(--cedros-ring))]\" />\n <button onClick={() => setSelectorSide('input')}\n className=\"ct-px-4 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] hover:ct-bg-[hsl(var(--cedros-border))] ct-font-medium ct-min-w-[100px]\">\n {inputToken?.symbol ?? 'SOL'}\n </button>\n </div>\n </div>\n\n {/* Swap direction */}\n <div className=\"ct-flex ct-justify-center\">\n <button onClick={handleSwapDirection}\n className=\"ct-p-2 ct-rounded-full ct-bg-[hsl(var(--cedros-muted))] hover:ct-bg-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-muted-foreground))] ct-transition\">\n ↕\n </button>\n </div>\n\n {/* Output */}\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">You receive</label>\n <div className=\"ct-flex ct-gap-2\">\n <div className=\"ct-flex-1 ct-px-3 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-xl ct-text-[hsl(var(--cedros-foreground))]\">\n {isLoading ? <LoadingSpinner /> : formatOutput(quote)}\n </div>\n <button onClick={() => setSelectorSide('output')}\n className=\"ct-px-4 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] hover:ct-bg-[hsl(var(--cedros-border))] ct-font-medium ct-min-w-[100px]\">\n {outputToken?.symbol ?? 'USDC'}\n </button>\n </div>\n </div>\n\n {/* Quote details */}\n {quote && (\n <div className=\"ct-space-y-1 ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n <div className=\"ct-flex ct-justify-between\">\n <span>Provider</span>\n <span className=\"ct-capitalize\">{quote.provider} {quote.gasless && '(gasless)'}</span>\n </div>\n <div className=\"ct-flex ct-justify-between\">\n <span>Price impact</span>\n <span className={quote.priceImpactPct > 1 ? 'ct-text-red-400' : ''}>{quote.priceImpactPct.toFixed(2)}%</span>\n </div>\n {quote.otherAmountThreshold && (\n <div className=\"ct-flex ct-justify-between\">\n <span>Min received</span>\n <span>{(parseInt(quote.otherAmountThreshold) / Math.pow(10, outputToken?.decimals ?? 6)).toFixed(4)}</span>\n </div>\n )}\n </div>\n )}\n\n <SlippageControl value={slippageBps} onChange={setSlippageBps} />\n\n <ErrorMessage message={error} onDismiss={reset} />\n\n {/* Swap button */}\n <button onClick={handleSwap} disabled={!quote || !walletAddress || isLoading || step !== 'quote'}\n className=\"ct-w-full ct-py-3 ct-rounded-cedros ct-font-semibold ct-text-[hsl(var(--cedros-primary-foreground))] ct-bg-[hsl(var(--cedros-primary))] hover:ct-opacity-90 disabled:ct-opacity-50 disabled:ct-cursor-not-allowed ct-transition\">\n {!walletAddress ? 'Connect Wallet' :\n step === 'sign' ? 'Signing...' :\n step === 'done' ? 'Swap Complete' :\n isLoading ? 'Fetching Quote...' :\n !quote ? 'Enter Amount' : 'Swap'}\n </button>\n\n {/* Token Selector Modal */}\n <TokenSelector\n isOpen={selectorSide !== null}\n onClose={() => setSelectorSide(null)}\n onSelect={handleSelectToken}\n excludeMints={selectorSide === 'input' ? [outputMint] : [inputMint]}\n />\n </div>\n );\n}\n","import React from 'react';\nimport { SwapForm } from './SwapForm';\nimport type { SwapFormProps } from './SwapForm';\n\nexport interface SwapPageProps extends SwapFormProps {\n title?: string;\n}\n\nexport function SwapPage({ title = 'Swap', ...formProps }: SwapPageProps) {\n return (\n <div className=\"ct-max-w-md ct-mx-auto ct-py-8 ct-px-4\">\n <SwapForm {...formProps} />\n </div>\n );\n}\n","import React, { useState, useCallback, useEffect } from 'react';\nimport { useTransfer } from '../../hooks/useTransfer';\nimport { useTokens } from '../../hooks/useTokens';\nimport { TokenSelector } from '../swap/TokenSelector';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\nimport { ErrorMessage } from '../shared/ErrorMessage';\nimport type { TokenRecord } from '../../types';\n\nexport interface TransferFormProps {\n walletAddress?: string;\n onSign?: (transaction: string) => Promise<string>;\n onSuccess?: (signature: string) => void;\n onError?: (error: string) => void;\n className?: string;\n}\n\nconst SOL_MINT = 'So11111111111111111111111111111111111111112';\n\nexport function TransferForm({ walletAddress, onSign, onSuccess, onError, className = '' }: TransferFormProps) {\n const { buildResult, isLoading, error, build, execute, resolveAddress, reset } = useTransfer();\n\n const [recipient, setRecipient] = useState('');\n const [amount, setAmount] = useState('');\n const [selectedToken, setSelectedToken] = useState<TokenRecord | null>(null);\n const [mint, setMint] = useState(SOL_MINT);\n const [selectorOpen, setSelectorOpen] = useState(false);\n const [resolvedAddress, setResolvedAddress] = useState<string | null>(null);\n const [step, setStep] = useState<'form' | 'sign' | 'done'>('form');\n\n // Resolve .sol domains\n useEffect(() => {\n if (!recipient.endsWith('.sol')) {\n setResolvedAddress(null);\n return;\n }\n const timer = setTimeout(async () => {\n try {\n const r = await resolveAddress(recipient);\n setResolvedAddress(r.resolved);\n } catch { setResolvedAddress(null); }\n }, 500);\n return () => clearTimeout(timer);\n }, [recipient, resolveAddress]);\n\n const handleTokenSelect = useCallback((token: TokenRecord) => {\n setSelectedToken(token);\n setMint(token.mint);\n }, []);\n\n const handleSend = useCallback(async () => {\n if (!walletAddress || !onSign) return;\n try {\n setStep('sign');\n const decimals = selectedToken?.decimals ?? 9;\n const rawAmount = Math.round(parseFloat(amount) * Math.pow(10, decimals)).toString();\n const result = await build(walletAddress, recipient, mint, rawAmount);\n\n const signedTx = await onSign(result.transaction);\n const execResult = await execute(signedTx);\n setStep('done');\n onSuccess?.(execResult.signature);\n } catch (e: any) {\n setStep('form');\n onError?.(e.message);\n }\n }, [walletAddress, onSign, amount, recipient, mint, selectedToken, build, execute, onSuccess, onError]);\n\n return (\n <div className={`ct-bg-[hsl(var(--cedros-background))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded-cedros ct-p-4 ct-space-y-4 ${className}`}>\n <h3 className=\"ct-text-lg ct-font-semibold ct-text-[hsl(var(--cedros-foreground))]\">Send</h3>\n\n {/* Recipient */}\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Recipient</label>\n <input type=\"text\" value={recipient} onChange={e => setRecipient(e.target.value)}\n placeholder=\"Wallet address or name.sol\"\n className=\"ct-w-full ct-px-3 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-outline-none focus:ct-ring-2 focus:ct-ring-[hsl(var(--cedros-ring))]\" />\n {resolvedAddress && (\n <div className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n Resolves to: <span className=\"ct-font-mono\">{resolvedAddress.slice(0, 8)}...{resolvedAddress.slice(-4)}</span>\n </div>\n )}\n </div>\n\n {/* Token + Amount */}\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Amount</label>\n <div className=\"ct-flex ct-gap-2\">\n <input type=\"text\" value={amount} onChange={e => setAmount(e.target.value)} placeholder=\"0.00\"\n className=\"ct-flex-1 ct-px-3 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-xl ct-text-[hsl(var(--cedros-foreground))] ct-outline-none focus:ct-ring-2 focus:ct-ring-[hsl(var(--cedros-ring))]\" />\n <button onClick={() => setSelectorOpen(true)}\n className=\"ct-px-4 ct-py-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] hover:ct-bg-[hsl(var(--cedros-border))] ct-font-medium ct-min-w-[100px]\">\n {selectedToken?.symbol ?? 'SOL'}\n </button>\n </div>\n </div>\n\n {/* ATA creation warning */}\n {buildResult?.createsAta && (\n <div className=\"ct-rounded-cedros ct-bg-yellow-500/10 ct-border ct-border-yellow-500/20 ct-px-3 ct-py-2 ct-text-xs ct-text-yellow-400\">\n This will create a token account for the recipient (~0.002 SOL rent).\n </div>\n )}\n\n <ErrorMessage message={error} onDismiss={reset} />\n\n <button onClick={handleSend}\n disabled={!walletAddress || !recipient || !amount || isLoading || step !== 'form'}\n className=\"ct-w-full ct-py-3 ct-rounded-cedros ct-font-semibold ct-text-[hsl(var(--cedros-primary-foreground))] ct-bg-[hsl(var(--cedros-primary))] hover:ct-opacity-90 disabled:ct-opacity-50 disabled:ct-cursor-not-allowed ct-transition\">\n {!walletAddress ? 'Connect Wallet' :\n step === 'sign' ? 'Signing...' :\n step === 'done' ? 'Sent!' :\n isLoading ? <LoadingSpinner /> : 'Send'}\n </button>\n\n <TokenSelector isOpen={selectorOpen} onClose={() => setSelectorOpen(false)} onSelect={handleTokenSelect} />\n </div>\n );\n}\n","import React from 'react';\nimport { TransferForm } from './TransferForm';\nimport type { TransferFormProps } from './TransferForm';\n\nexport interface TransferPageProps extends TransferFormProps {}\n\nexport function TransferPage(props: TransferPageProps) {\n return (\n <div className=\"ct-max-w-md ct-mx-auto ct-py-8 ct-px-4\">\n <TransferForm {...props} />\n </div>\n );\n}\n","import React, { useEffect, useRef } from 'react';\n\nexport interface TradingViewChartProps {\n symbol: string;\n interval?: string;\n theme?: 'light' | 'dark';\n className?: string;\n}\n\nexport function TradingViewChart({\n symbol, interval = 'D', theme = 'dark', className = '',\n}: TradingViewChartProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!containerRef.current) return;\n const container = containerRef.current;\n container.innerHTML = '';\n\n const script = document.createElement('script');\n script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-advanced-chart.js';\n script.async = true;\n script.innerHTML = JSON.stringify({\n autosize: true,\n symbol,\n interval,\n timezone: 'Etc/UTC',\n theme,\n style: '1',\n locale: 'en',\n enable_publishing: false,\n allow_symbol_change: true,\n save_image: false,\n hide_top_toolbar: false,\n hide_legend: false,\n withdateranges: true,\n });\n\n const widget = document.createElement('div');\n widget.className = 'tradingview-widget-container__widget';\n widget.style.height = '100%';\n widget.style.width = '100%';\n container.appendChild(widget);\n container.appendChild(script);\n\n return () => { container.innerHTML = ''; };\n }, [symbol, interval, theme]);\n\n return (\n <div ref={containerRef}\n className={`tradingview-widget-container ct-w-full ct-h-full ct-min-h-[400px] ${className}`}\n style={{ height: '100%' }}\n />\n );\n}\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","import React, { useEffect, useRef, useCallback } from 'react';\nimport { createChart, type IChartApi, type ISeriesApi, ColorType } from 'lightweight-charts';\n\nexport interface LightweightChartProps {\n data?: { time: string; open: number; high: number; low: number; close: number }[];\n theme?: 'light' | 'dark';\n className?: string;\n}\n\nexport function LightweightChart({ data = [], theme = 'dark', className = '' }: LightweightChartProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<IChartApi | null>(null);\n const seriesRef = useRef<ISeriesApi<'Candlestick'> | null>(null);\n\n const isDark = theme === 'dark';\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const chart = createChart(containerRef.current, {\n layout: {\n background: { type: ColorType.Solid, color: isDark ? '#0a0e14' : '#ffffff' },\n textColor: isDark ? '#9ca3af' : '#374151',\n },\n grid: {\n vertLines: { color: isDark ? '#1f2937' : '#e5e7eb' },\n horzLines: { color: isDark ? '#1f2937' : '#e5e7eb' },\n },\n crosshair: { mode: 0 },\n rightPriceScale: { borderColor: isDark ? '#374151' : '#d1d5db' },\n timeScale: { borderColor: isDark ? '#374151' : '#d1d5db', timeVisible: true },\n });\n\n const series = chart.addCandlestickSeries({\n upColor: '#22c55e',\n downColor: '#ef4444',\n borderDownColor: '#ef4444',\n borderUpColor: '#22c55e',\n wickDownColor: '#ef4444',\n wickUpColor: '#22c55e',\n });\n\n chartRef.current = chart;\n seriesRef.current = series;\n\n const observer = new ResizeObserver(entries => {\n const { width, height } = entries[0].contentRect;\n chart.applyOptions({ width, height });\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n chart.remove();\n };\n }, [isDark]);\n\n useEffect(() => {\n if (seriesRef.current && data.length > 0) {\n seriesRef.current.setData(data as any);\n }\n }, [data]);\n\n return (\n <div ref={containerRef} className={`ct-w-full ct-h-full ct-min-h-[400px] ${className}`} />\n );\n}\n","import React from 'react';\nimport { TradingViewChart } from './TradingViewChart';\nimport { LightweightChart } from './LightweightChart';\n\nexport interface ChartContainerProps {\n chartType: 'tradingview' | 'lightweight';\n symbol: string;\n theme?: 'light' | 'dark';\n chartData?: { time: string; open: number; high: number; low: number; close: number }[];\n className?: string;\n}\n\nexport function ChartContainer({ chartType, symbol, theme = 'dark', chartData, className = '' }: ChartContainerProps) {\n return (\n <div className={`ct-relative ct-w-full ct-h-full ${className}`}>\n {chartType === 'tradingview' ? (\n <TradingViewChart symbol={symbol} theme={theme} />\n ) : (\n <LightweightChart data={chartData} theme={theme} />\n )}\n </div>\n );\n}\n","import React, { useState } from 'react';\n\nexport interface AutoFeaturesState {\n priceTargets: { price: string; percentage: string }[];\n targetsEnabled: boolean;\n profitProtection: { enabled: boolean; dropPercent: string; activateAbove: string };\n stopLoss: { enabled: boolean; triggerPrice: string };\n trailingStop: { enabled: boolean; trailPercent: string };\n}\n\nexport const defaultAutoFeatures: AutoFeaturesState = {\n priceTargets: [{ price: '', percentage: '' }],\n targetsEnabled: false,\n profitProtection: { enabled: false, dropPercent: '10', activateAbove: '' },\n stopLoss: { enabled: false, triggerPrice: '' },\n trailingStop: { enabled: false, trailPercent: '10' },\n};\n\nexport interface AutoFeaturesProps {\n state: AutoFeaturesState;\n onChange: (state: AutoFeaturesState) => void;\n className?: string;\n}\n\nexport function AutoFeatures({ state, onChange, className = '' }: AutoFeaturesProps) {\n const update = (partial: Partial<AutoFeaturesState>) => onChange({ ...state, ...partial });\n\n return (\n <div className={`ct-space-y-3 ${className}`}>\n {/* Price Targets */}\n <ToggleCard\n enabled={state.targetsEnabled}\n onToggle={v => update({ targetsEnabled: v })}\n icon=\"🎯\" label=\"Price Targets\"\n color=\"blue\"\n description=\"Set multiple price targets to auto-sell portions\"\n >\n <div className=\"ct-space-y-2\">\n {state.priceTargets.map((t, i) => (\n <div key={i} className=\"ct-flex ct-items-center ct-gap-2\">\n <input type=\"number\" value={t.price} placeholder=\"Price\"\n onChange={e => {\n const targets = [...state.priceTargets];\n targets[i] = { ...targets[i], price: e.target.value };\n update({ priceTargets: targets });\n }}\n className=\"ct-flex-1 ct-px-2 ct-py-1.5 ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n <input type=\"number\" value={t.percentage} placeholder=\"%\"\n onChange={e => {\n const targets = [...state.priceTargets];\n targets[i] = { ...targets[i], percentage: e.target.value };\n update({ priceTargets: targets });\n }}\n className=\"ct-w-20 ct-px-2 ct-py-1.5 ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n {state.priceTargets.length > 1 && (\n <button onClick={() => update({ priceTargets: state.priceTargets.filter((_, j) => j !== i) })}\n className=\"ct-text-red-400 hover:ct-text-red-300 ct-text-sm\">&times;</button>\n )}\n </div>\n ))}\n <button onClick={() => update({ priceTargets: [...state.priceTargets, { price: '', percentage: '' }] })}\n className=\"ct-text-xs ct-text-blue-400 hover:ct-text-blue-300\">+ Add Target</button>\n </div>\n </ToggleCard>\n\n {/* Profit Protection (Trailing Stop from peak) */}\n <ToggleCard\n enabled={state.profitProtection.enabled}\n onToggle={v => update({ profitProtection: { ...state.profitProtection, enabled: v } })}\n icon=\"🛡️\" label=\"Profit Protection\"\n color=\"green\"\n description=\"Auto-sell if price drops from peak\"\n >\n <div className=\"ct-space-y-2\">\n <div className=\"ct-flex ct-items-center ct-gap-2\">\n <input type=\"number\" value={state.profitProtection.dropPercent} placeholder=\"Drop %\"\n onChange={e => update({ profitProtection: { ...state.profitProtection, dropPercent: e.target.value } })}\n className=\"ct-flex-1 ct-px-2 ct-py-1.5 ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">% from peak</span>\n </div>\n <div className=\"ct-flex ct-items-center ct-gap-2\">\n <input type=\"number\" value={state.profitProtection.activateAbove} placeholder=\"Activate above\"\n onChange={e => update({ profitProtection: { ...state.profitProtection, activateAbove: e.target.value } })}\n className=\"ct-flex-1 ct-px-2 ct-py-1.5 ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">price</span>\n </div>\n </div>\n </ToggleCard>\n\n {/* Stop Loss */}\n <ToggleCard\n enabled={state.stopLoss.enabled}\n onToggle={v => update({ stopLoss: { ...state.stopLoss, enabled: v } })}\n icon=\"🛑\" label=\"Stop Loss\"\n color=\"red\"\n description=\"Auto-sell if price drops below threshold\"\n >\n <div className=\"ct-flex ct-items-center ct-gap-2\">\n <input type=\"number\" value={state.stopLoss.triggerPrice} placeholder=\"Stop price\"\n onChange={e => update({ stopLoss: { ...state.stopLoss, triggerPrice: e.target.value } })}\n className=\"ct-flex-1 ct-px-2 ct-py-1.5 ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">trigger</span>\n </div>\n </ToggleCard>\n\n {/* Trailing Stop */}\n <ToggleCard\n enabled={state.trailingStop.enabled}\n onToggle={v => update({ trailingStop: { ...state.trailingStop, enabled: v } })}\n icon=\"📉\" label=\"Trailing Stop\"\n color=\"orange\"\n description=\"Stop-loss that follows price upward\"\n >\n <div className=\"ct-flex ct-items-center ct-gap-2\">\n <input type=\"number\" value={state.trailingStop.trailPercent} placeholder=\"Trail %\"\n onChange={e => update({ trailingStop: { ...state.trailingStop, trailPercent: e.target.value } })}\n className=\"ct-flex-1 ct-px-2 ct-py-1.5 ct-text-sm ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">% below peak</span>\n </div>\n </ToggleCard>\n </div>\n );\n}\n\n// --- Reusable toggle card ---\n\nfunction ToggleCard({ enabled, onToggle, icon, label, color, description, children }: {\n enabled: boolean; onToggle: (v: boolean) => void;\n icon: string; label: string; color: string; description: string;\n children: React.ReactNode;\n}) {\n const borderColor = enabled ? `ct-border-${color}-500/50` : 'ct-border-[hsl(var(--cedros-border))]';\n const bgColor = enabled ? `ct-bg-${color}-500/5` : '';\n\n return (\n <div className={`ct-border ct-rounded-cedros ct-p-3 ct-cursor-pointer ct-transition-all ${borderColor} ${bgColor}`}\n onClick={e => {\n if ((e.target as HTMLElement).closest('.ct-card-body')) return;\n onToggle(!enabled);\n }}>\n <div className=\"ct-flex ct-items-center ct-gap-2 ct-mb-1\">\n <input type=\"checkbox\" checked={enabled} onChange={e => { e.stopPropagation(); onToggle(e.target.checked); }}\n className=\"ct-w-4 ct-h-4 ct-rounded\" />\n <span className=\"ct-text-base\">{icon}</span>\n <span className=\"ct-text-sm ct-font-medium ct-text-[hsl(var(--cedros-foreground))]\">{label}</span>\n </div>\n {enabled && (\n <div className=\"ct-card-body ct-mt-2 ct-space-y-2\" onClick={e => e.stopPropagation()}>\n <p className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">{description}</p>\n {children}\n </div>\n )}\n </div>\n );\n}\n","import React, { useState, useCallback } from 'react';\nimport { useLimitOrder } from '../../hooks/useLimitOrder';\nimport { useTradeApi } from '../../context/CedrosTradeProvider';\nimport { SlippageControl } from '../swap/SlippageControl';\nimport { AutoFeatures, defaultAutoFeatures } from './AutoFeatures';\nimport type { AutoFeaturesState } from './AutoFeatures';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\nimport { ErrorMessage } from '../shared/ErrorMessage';\n\nexport interface OrderFormProps {\n walletAddress?: string;\n inputMint: string;\n outputMint: string;\n inputSymbol?: string;\n outputSymbol?: string;\n currentPrice?: number;\n onSign?: (transaction: string) => Promise<string>;\n onSuccess?: (orderId: string) => void;\n className?: string;\n}\n\ntype OrderTab = 'limit' | 'stop-loss' | 'take-profit' | 'trailing-stop' | 'oco' | 'bracket' | 'dca' | 'auto';\n\nexport function OrderForm({\n walletAddress, inputMint, outputMint, inputSymbol = '', outputSymbol = '',\n currentPrice, onSign, onSuccess, className = '',\n}: OrderFormProps) {\n const { isLoading, error, createLimit, createStopLoss, createTakeProfit, createDca } = useLimitOrder();\n const api = useTradeApi();\n const [tab, setTab] = useState<OrderTab>('limit');\n const [side, setSide] = useState<'buy' | 'sell'>('buy');\n const [amount, setAmount] = useState('');\n const [price, setPrice] = useState('');\n const [slippageBps, setSlippageBps] = useState(100);\n const [dcaCycles, setDcaCycles] = useState('10');\n const [dcaInterval, setDcaInterval] = useState('86400');\n const [trailPercent, setTrailPercent] = useState('10');\n const [ocoSl, setOcoSl] = useState('');\n const [ocoTp, setOcoTp] = useState('');\n const [bracketSl, setBracketSl] = useState('10');\n const [bracketTp, setBracketTp] = useState('30');\n const [autoFeatures, setAutoFeatures] = useState<AutoFeaturesState>(defaultAutoFeatures);\n const [formError, setFormError] = useState<string | null>(null);\n\n const tabs: { id: OrderTab; label: string }[] = [\n { id: 'limit', label: 'Limit' },\n { id: 'stop-loss', label: 'Stop Loss' },\n { id: 'take-profit', label: 'Take Profit' },\n { id: 'trailing-stop', label: 'Trailing' },\n { id: 'oco', label: 'OCO' },\n { id: 'bracket', label: 'Bracket' },\n { id: 'dca', label: 'DCA' },\n { id: 'auto', label: 'Auto' },\n ];\n\n const inMint = side === 'buy' ? outputMint : inputMint;\n const outMint = side === 'buy' ? inputMint : outputMint;\n\n const handleSubmit = useCallback(async () => {\n if (!walletAddress || !onSign || !amount) return;\n setFormError(null);\n try {\n let result: { transaction: string; orderId: string };\n const maker = walletAddress;\n\n if (tab === 'limit') {\n if (!price) { setFormError('Enter a price'); return; }\n const decimals = 9;\n const inAmt = Math.round(parseFloat(amount) * Math.pow(10, decimals)).toString();\n const outAmt = Math.round(parseFloat(amount) * parseFloat(price) * Math.pow(10, 6)).toString();\n result = await createLimit({ maker, inputMint: inMint, outputMint: outMint, inAmount: inAmt, outAmount: outAmt });\n } else if (tab === 'stop-loss') {\n if (!price) { setFormError('Enter a trigger price'); return; }\n const inAmt = Math.round(parseFloat(amount) * Math.pow(10, 9)).toString();\n result = await createStopLoss({ maker, inputMint: inMint, outputMint: outMint, inAmount: inAmt, triggerPrice: price, slippageBps });\n } else if (tab === 'take-profit') {\n if (!price) { setFormError('Enter a trigger price'); return; }\n const inAmt = Math.round(parseFloat(amount) * Math.pow(10, 9)).toString();\n result = await createTakeProfit({ maker, inputMint: inMint, outputMint: outMint, inAmount: inAmt, triggerPrice: price, slippageBps });\n } else if (tab === 'trailing-stop') {\n // Server-monitored trailing stop\n const resp = await fetch(`${(api as any).baseUrl}/orders/trailing-stop`, {\n method: 'POST', headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ maker, inputMint: inMint, outputMint: outMint, inAmount: Math.round(parseFloat(amount) * 1e9).toString(), trailPercent: parseFloat(trailPercent), slippageBps, walletId: '' }),\n });\n const data = await resp.json();\n if (!resp.ok) throw new Error(data.error?.message ?? 'Failed');\n onSuccess?.(data.orderId); setAmount(''); return;\n } else if (tab === 'oco') {\n if (!ocoSl || !ocoTp) { setFormError('Enter both stop-loss and take-profit prices'); return; }\n const resp = await fetch(`${(api as any).baseUrl}/orders/oco`, {\n method: 'POST', headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ maker, inputMint: inMint, outputMint: outMint, inAmount: Math.round(parseFloat(amount) * 1e9).toString(), stopLoss: { triggerPrice: ocoSl, slippageBps }, takeProfit: { triggerPrice: ocoTp, slippageBps: 50 } }),\n });\n const data = await resp.json();\n if (!resp.ok) throw new Error(data.error?.message ?? 'Failed');\n onSuccess?.(data.ocoId); setAmount(''); return;\n } else if (tab === 'bracket') {\n const resp = await fetch(`${(api as any).baseUrl}/orders/bracket`, {\n method: 'POST', headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ maker, walletId: '', inputMint: inMint, outputMint: outMint, inAmount: Math.round(parseFloat(amount) * 1e9).toString(), stopLossPercent: parseFloat(bracketSl), takeProfitPercent: parseFloat(bracketTp), trailingStop: false }),\n });\n const data = await resp.json();\n if (!resp.ok) throw new Error(data.error?.message ?? 'Failed');\n result = { transaction: data.entryTransaction, orderId: data.bracketId };\n } else {\n const total = Math.round(parseFloat(amount) * Math.pow(10, 6)).toString();\n const perCycle = Math.round(parseFloat(amount) / parseInt(dcaCycles) * Math.pow(10, 6)).toString();\n result = await createDca({ maker, inputMint: inMint, outputMint: outMint, totalInAmount: total, perCycleAmount: perCycle, cycleInterval: parseInt(dcaInterval) });\n }\n\n await onSign(result.transaction);\n onSuccess?.(result.orderId);\n setAmount('');\n setPrice('');\n } catch (e: any) { setFormError(e.message); }\n }, [walletAddress, onSign, amount, price, tab, side, slippageBps, inMint, outMint, dcaCycles, dcaInterval, createLimit, createStopLoss, createTakeProfit, createDca, onSuccess]);\n\n return (\n <div className={`ct-bg-[hsl(var(--cedros-background))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded-cedros ct-p-4 ct-space-y-3 ${className}`}>\n {/* Buy/Sell toggle */}\n <div className=\"ct-flex ct-gap-1 ct-p-1 ct-bg-[hsl(var(--cedros-muted))] ct-rounded-cedros\">\n <button onClick={() => setSide('buy')}\n className={`ct-flex-1 ct-py-2 ct-rounded ct-text-sm ct-font-medium ct-transition ${side === 'buy' ? 'ct-bg-green-500 ct-text-white' : 'ct-text-[hsl(var(--cedros-muted-foreground))]'}`}>\n Buy\n </button>\n <button onClick={() => setSide('sell')}\n className={`ct-flex-1 ct-py-2 ct-rounded ct-text-sm ct-font-medium ct-transition ${side === 'sell' ? 'ct-bg-red-500 ct-text-white' : 'ct-text-[hsl(var(--cedros-muted-foreground))]'}`}>\n Sell\n </button>\n </div>\n\n {/* Order type tabs */}\n <div className=\"ct-flex ct-gap-1 ct-overflow-x-auto\">\n {tabs.map(t => (\n <button key={t.id} onClick={() => setTab(t.id)}\n className={`ct-px-3 ct-py-1.5 ct-rounded ct-text-xs ct-font-medium ct-whitespace-nowrap ct-transition ${\n tab === t.id\n ? 'ct-bg-[hsl(var(--cedros-primary))] ct-text-[hsl(var(--cedros-primary-foreground))]'\n : 'ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-bg-[hsl(var(--cedros-muted))]'\n }`}>\n {t.label}\n </button>\n ))}\n </div>\n\n {/* Price input (not for DCA) */}\n {tab !== 'dca' && (\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n {tab === 'limit' ? 'Limit Price' : 'Trigger Price'}\n </label>\n <input type=\"text\" value={price} onChange={e => setPrice(e.target.value)}\n placeholder={currentPrice ? currentPrice.toFixed(2) : '0.00'}\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-outline-none focus:ct-ring-2 focus:ct-ring-[hsl(var(--cedros-ring))]\" />\n </div>\n )}\n\n {/* Amount input */}\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Amount</label>\n <input type=\"text\" value={amount} onChange={e => setAmount(e.target.value)} placeholder=\"0.00\"\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-outline-none focus:ct-ring-2 focus:ct-ring-[hsl(var(--cedros-ring))]\" />\n {/* Quick size buttons */}\n <div className=\"ct-flex ct-gap-1\">\n {[25, 50, 75, 100].map(pct => (\n <button key={pct} className=\"ct-flex-1 ct-py-1 ct-text-xs ct-rounded ct-bg-[hsl(var(--cedros-muted))] ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-bg-[hsl(var(--cedros-border))]\">\n {pct}%\n </button>\n ))}\n </div>\n </div>\n\n {/* DCA-specific fields */}\n {tab === 'dca' && (\n <div className=\"ct-grid ct-grid-cols-2 ct-gap-2\">\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Cycles</label>\n <input type=\"text\" value={dcaCycles} onChange={e => setDcaCycles(e.target.value)}\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n </div>\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Interval</label>\n <select value={dcaInterval} onChange={e => setDcaInterval(e.target.value)}\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))]\">\n <option value=\"3600\">Hourly</option>\n <option value=\"86400\">Daily</option>\n <option value=\"604800\">Weekly</option>\n </select>\n </div>\n </div>\n )}\n\n {/* Trailing Stop fields */}\n {tab === 'trailing-stop' && (\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Trail Percentage</label>\n <div className=\"ct-flex ct-items-center ct-gap-2\">\n <input type=\"number\" value={trailPercent} onChange={e => setTrailPercent(e.target.value)} placeholder=\"10\"\n className=\"ct-flex-1 ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n <span className=\"ct-text-sm ct-text-[hsl(var(--cedros-muted-foreground))]\">% below peak</span>\n </div>\n </div>\n )}\n\n {/* OCO fields */}\n {tab === 'oco' && (\n <div className=\"ct-grid ct-grid-cols-2 ct-gap-2\">\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-red-400\">Stop Loss Price</label>\n <input type=\"number\" value={ocoSl} onChange={e => setOcoSl(e.target.value)} placeholder=\"130.00\"\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-red-500/30 ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n </div>\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-green-400\">Take Profit Price</label>\n <input type=\"number\" value={ocoTp} onChange={e => setOcoTp(e.target.value)} placeholder=\"200.00\"\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-green-500/30 ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n </div>\n </div>\n )}\n\n {/* Bracket fields */}\n {tab === 'bracket' && (\n <div className=\"ct-grid ct-grid-cols-2 ct-gap-2\">\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-red-400\">Stop Loss %</label>\n <input type=\"number\" value={bracketSl} onChange={e => setBracketSl(e.target.value)} placeholder=\"10\"\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-red-500/30 ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n </div>\n <div className=\"ct-space-y-1\">\n <label className=\"ct-text-xs ct-text-green-400\">Take Profit %</label>\n <input type=\"number\" value={bracketTp} onChange={e => setBracketTp(e.target.value)} placeholder=\"30\"\n className=\"ct-w-full ct-px-3 ct-py-2 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-green-500/30 ct-text-[hsl(var(--cedros-foreground))] ct-outline-none\" />\n </div>\n </div>\n )}\n\n {/* Auto features (rockpile-style toggleable cards) */}\n {tab === 'auto' && (\n <AutoFeatures state={autoFeatures} onChange={setAutoFeatures} />\n )}\n\n {(tab === 'stop-loss' || tab === 'take-profit' || tab === 'trailing-stop') && (\n <SlippageControl value={slippageBps} onChange={setSlippageBps} />\n )}\n\n <ErrorMessage message={formError || error} onDismiss={() => setFormError(null)} />\n\n <button onClick={handleSubmit} disabled={!walletAddress || !amount || isLoading}\n className={`ct-w-full ct-py-3 ct-rounded-cedros ct-font-semibold ct-text-white ct-transition disabled:ct-opacity-50 disabled:ct-cursor-not-allowed ${\n side === 'buy' ? 'ct-bg-green-500 hover:ct-bg-green-600' : 'ct-bg-red-500 hover:ct-bg-red-600'\n }`}>\n {isLoading ? <LoadingSpinner /> : `${side === 'buy' ? 'Buy' : 'Sell'} ${inputSymbol}`}\n </button>\n </div>\n );\n}\n","import React, { useMemo } from 'react';\nimport { useOrderbook } from '../../hooks/useOrderbook';\nimport type { OrderbookLevel } from '../../hooks/useOrderbook';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\n\nexport interface OrderbookProps {\n marketAddress: string;\n /** Tick size for price grouping */\n tickSize?: number;\n /** Max levels to show per side */\n maxLevels?: number;\n /** Called when user clicks a price level */\n onPriceClick?: (price: number, side: 'buy' | 'sell') => void;\n className?: string;\n}\n\nexport function Orderbook({\n marketAddress, tickSize = 0.01, maxLevels = 15, onPriceClick, className = '',\n}: OrderbookProps) {\n const { data, isLoading, isStreaming } = useOrderbook(marketAddress);\n\n const grouped = useMemo(() => {\n if (!data) return { bids: [], asks: [], maxTotal: 1, spread: 0 };\n\n const groupLevels = (levels: OrderbookLevel[], ascending: boolean) => {\n const map = new Map<number, OrderbookLevel>();\n for (const l of levels) {\n const gp = ascending\n ? Math.ceil(l.price / tickSize) * tickSize\n : Math.floor(l.price / tickSize) * tickSize;\n const existing = map.get(gp);\n if (existing) {\n existing.size += l.size;\n existing.total += l.total;\n } else {\n map.set(gp, { price: gp, size: l.size, total: l.total });\n }\n }\n const arr = Array.from(map.values());\n arr.sort((a, b) => ascending ? a.price - b.price : b.price - a.price);\n return arr.slice(0, maxLevels);\n };\n\n const bids = groupLevels(data.bids, false);\n const asks = groupLevels(data.asks, true);\n const maxTotal = Math.max(\n ...bids.map(b => b.total), ...asks.map(a => a.total), 1\n );\n\n return { bids, asks, maxTotal, spread: data.spread };\n }, [data, tickSize, maxLevels]);\n\n if (isLoading) return <div className=\"ct-flex ct-justify-center ct-py-8\"><LoadingSpinner /></div>;\n if (!data) return <div className=\"ct-text-center ct-py-8 ct-text-[hsl(var(--cedros-muted-foreground))] ct-text-sm\">No orderbook data</div>;\n\n return (\n <div className={`ct-text-sm ${className}`}>\n {/* Status indicator */}\n <div className=\"ct-flex ct-items-center ct-justify-between ct-px-3 ct-py-1.5 ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n <span>Orderbook</span>\n <span className={isStreaming ? 'ct-text-green-400' : 'ct-text-yellow-400'}>\n {isStreaming ? '● Live' : '○ Polling'}\n </span>\n </div>\n\n {/* Headers */}\n <div className=\"ct-grid ct-grid-cols-3 ct-gap-2 ct-px-3 ct-py-1.5 ct-border-b ct-border-[hsl(var(--cedros-border))] ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n <div>Price</div>\n <div className=\"ct-text-right\">Size</div>\n <div className=\"ct-text-right\">Total</div>\n </div>\n\n {/* Asks (sells) — reversed so lowest ask is at bottom */}\n <div className=\"ct-max-h-48 ct-overflow-y-auto\">\n {grouped.asks.slice().reverse().map((level, i) => (\n <OrderRow key={`ask-${i}`} level={level} side=\"ask\" maxTotal={grouped.maxTotal}\n onClick={() => onPriceClick?.(level.price, 'buy')} />\n ))}\n </div>\n\n {/* Spread */}\n <div className=\"ct-px-3 ct-py-2 ct-bg-[hsl(var(--cedros-muted))] ct-border-y ct-border-[hsl(var(--cedros-border))]\">\n <div className=\"ct-flex ct-items-center ct-justify-between ct-text-xs\">\n <span className=\"ct-text-[hsl(var(--cedros-muted-foreground))]\">Spread</span>\n <span className=\"ct-font-medium ct-text-[hsl(var(--cedros-foreground))]\">{grouped.spread.toFixed(3)}%</span>\n </div>\n {data.midPrice > 0 && (\n <div className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n Mid: ${data.midPrice.toFixed(4)}\n </div>\n )}\n </div>\n\n {/* Bids (buys) */}\n <div className=\"ct-max-h-48 ct-overflow-y-auto\">\n {grouped.bids.map((level, i) => (\n <OrderRow key={`bid-${i}`} level={level} side=\"bid\" maxTotal={grouped.maxTotal}\n onClick={() => onPriceClick?.(level.price, 'sell')} />\n ))}\n </div>\n </div>\n );\n}\n\nfunction OrderRow({ level, side, maxTotal, onClick }: {\n level: OrderbookLevel; side: 'ask' | 'bid'; maxTotal: number; onClick: () => void;\n}) {\n const isAsk = side === 'ask';\n const barWidth = `${(level.total / maxTotal) * 100}%`;\n\n return (\n <div onClick={onClick}\n className={`ct-relative ct-px-3 ct-py-1 ct-cursor-pointer ct-transition-colors ${\n isAsk ? 'hover:ct-bg-red-500/10' : 'hover:ct-bg-green-500/10'\n }`}>\n {/* Depth bar */}\n <div className={`ct-absolute ct-inset-y-0 ct-left-0 ${isAsk ? 'ct-bg-red-500/10' : 'ct-bg-green-500/10'}`}\n style={{ width: barWidth }} />\n {/* Content */}\n <div className=\"ct-relative ct-grid ct-grid-cols-3 ct-gap-2\">\n <div className={`ct-font-medium ${isAsk ? 'ct-text-red-400' : 'ct-text-green-400'}`}>\n {level.price.toFixed(4)}\n </div>\n <div className=\"ct-text-right ct-text-[hsl(var(--cedros-foreground))]\">{level.size.toFixed(2)}</div>\n <div className=\"ct-text-right ct-text-[hsl(var(--cedros-muted-foreground))]\">\n ${(level.total / 1000).toFixed(1)}K\n </div>\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport type { OpenOrder, DcaOrder } from '../../types';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\n\nexport interface OpenOrdersTableProps {\n limitOrders: OpenOrder[];\n dcaOrders: DcaOrder[];\n isLoading: boolean;\n onCancel?: (orderId: string) => void;\n className?: string;\n}\n\nexport function OpenOrdersTable({ limitOrders, dcaOrders, isLoading, onCancel, className = '' }: OpenOrdersTableProps) {\n if (isLoading) return <div className=\"ct-flex ct-justify-center ct-py-8\"><LoadingSpinner /></div>;\n\n const empty = limitOrders.length === 0 && dcaOrders.length === 0;\n\n return (\n <div className={`ct-space-y-2 ${className}`}>\n {empty && (\n <div className=\"ct-text-center ct-py-8 ct-text-[hsl(var(--cedros-muted-foreground))] ct-text-sm\">No open orders</div>\n )}\n\n {limitOrders.length > 0 && (\n <table className=\"ct-w-full ct-text-sm\">\n <thead>\n <tr className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))] ct-border-b ct-border-[hsl(var(--cedros-border))]\">\n <th className=\"ct-text-left ct-py-2 ct-px-2\">Type</th>\n <th className=\"ct-text-left ct-py-2\">Pair</th>\n <th className=\"ct-text-right ct-py-2\">Amount</th>\n <th className=\"ct-text-right ct-py-2\">Trigger</th>\n <th className=\"ct-text-right ct-py-2\">Status</th>\n <th className=\"ct-text-right ct-py-2 ct-px-2\"></th>\n </tr>\n </thead>\n <tbody>\n {limitOrders.map(o => (\n <tr key={o.orderId} className=\"ct-border-b ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))]\">\n <td className=\"ct-py-2 ct-px-2\">\n <span className={`ct-px-2 ct-py-0.5 ct-rounded ct-text-xs ct-font-medium ${\n o.orderType === 'stop-loss' ? 'ct-bg-red-500/10 ct-text-red-400' :\n o.orderType === 'take-profit' ? 'ct-bg-green-500/10 ct-text-green-400' :\n 'ct-bg-blue-500/10 ct-text-blue-400'\n }`}>{o.orderType}</span>\n </td>\n <td className=\"ct-py-2 ct-font-mono ct-text-xs\">{o.inputMint.slice(0,4)}→{o.outputMint.slice(0,4)}</td>\n <td className=\"ct-py-2 ct-text-right\">{o.inAmount}</td>\n <td className=\"ct-py-2 ct-text-right\">{o.triggerPrice ?? '-'}</td>\n <td className=\"ct-py-2 ct-text-right\">{o.status}</td>\n <td className=\"ct-py-2 ct-px-2 ct-text-right\">\n {onCancel && o.status === 'open' && (\n <button onClick={() => onCancel(o.orderId)}\n className=\"ct-text-xs ct-text-red-400 hover:ct-text-red-300\">Cancel</button>\n )}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n )}\n\n {dcaOrders.length > 0 && (\n <div className=\"ct-space-y-2\">\n <h4 className=\"ct-text-xs ct-font-medium ct-text-[hsl(var(--cedros-muted-foreground))] ct-px-2\">DCA Schedules</h4>\n {dcaOrders.map(d => (\n <div key={d.dcaAccountId} className=\"ct-flex ct-items-center ct-justify-between ct-px-2 ct-py-2 ct-rounded ct-bg-[hsl(var(--cedros-muted))]\">\n <div>\n <span className=\"ct-text-sm ct-text-[hsl(var(--cedros-foreground))]\">\n {d.completedCycles}/{d.totalCycles} cycles\n </span>\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))] ct-ml-2\">{d.status}</span>\n </div>\n {d.nextCycleAt && (\n <span className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n Next: {new Date(d.nextCycleAt).toLocaleDateString()}\n </span>\n )}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport type { Holding } from '../../types';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\n\nexport interface PositionsTableProps {\n holdings: Holding[];\n isLoading: boolean;\n totalValue?: string;\n className?: string;\n}\n\nexport function PositionsTable({ holdings, isLoading, totalValue, className = '' }: PositionsTableProps) {\n if (isLoading) return <div className=\"ct-flex ct-justify-center ct-py-8\"><LoadingSpinner /></div>;\n\n return (\n <div className={className}>\n {totalValue && (\n <div className=\"ct-flex ct-justify-between ct-items-center ct-px-2 ct-py-2 ct-mb-2\">\n <span className=\"ct-text-sm ct-text-[hsl(var(--cedros-muted-foreground))]\">Total Value</span>\n <span className=\"ct-text-lg ct-font-semibold ct-text-[hsl(var(--cedros-foreground))]\">${totalValue}</span>\n </div>\n )}\n\n {holdings.length === 0 ? (\n <div className=\"ct-text-center ct-py-8 ct-text-[hsl(var(--cedros-muted-foreground))] ct-text-sm\">No holdings</div>\n ) : (\n <table className=\"ct-w-full ct-text-sm\">\n <thead>\n <tr className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))] ct-border-b ct-border-[hsl(var(--cedros-border))]\">\n <th className=\"ct-text-left ct-py-2 ct-px-2\">Token</th>\n <th className=\"ct-text-right ct-py-2\">Balance</th>\n <th className=\"ct-text-right ct-py-2\">Price</th>\n <th className=\"ct-text-right ct-py-2 ct-px-2\">Value</th>\n </tr>\n </thead>\n <tbody>\n {holdings.map(h => (\n <tr key={h.mint} className=\"ct-border-b ct-border-[hsl(var(--cedros-border))] ct-text-[hsl(var(--cedros-foreground))]\">\n <td className=\"ct-py-2 ct-px-2 ct-font-medium\">{h.symbol ?? h.mint.slice(0, 6)}</td>\n <td className=\"ct-py-2 ct-text-right ct-font-mono\">{h.uiBalance}</td>\n <td className=\"ct-py-2 ct-text-right\">{h.currentPrice ? `$${h.currentPrice}` : '-'}</td>\n <td className=\"ct-py-2 ct-px-2 ct-text-right ct-font-medium\">{h.currentValue ? `$${h.currentValue}` : '-'}</td>\n </tr>\n ))}\n </tbody>\n </table>\n )}\n </div>\n );\n}\n","import React, { useState } from 'react';\nimport { ChartContainer } from './ChartContainer';\nimport { OrderForm } from './OrderForm';\nimport { Orderbook } from './Orderbook';\nimport { OpenOrdersTable } from './OpenOrdersTable';\nimport { PositionsTable } from './PositionsTable';\nimport { useOpenOrders } from '../../hooks/useOpenOrders';\nimport { usePositions } from '../../hooks/usePositions';\nimport type { OrderFormProps } from './OrderForm';\n\nexport interface TradingPageProps {\n walletAddress?: string;\n inputMint?: string;\n outputMint?: string;\n inputSymbol?: string;\n outputSymbol?: string;\n tradingViewSymbol?: string;\n chartType?: 'tradingview' | 'lightweight';\n /** Manifest market address for orderbook (optional — hides orderbook if not set) */\n manifestMarket?: string;\n theme?: 'light' | 'dark';\n onSign?: (transaction: string) => Promise<string>;\n onOrderSuccess?: (orderId: string) => void;\n className?: string;\n}\n\ntype BottomTab = 'positions' | 'orders' | 'orderbook';\n\nexport function TradingPage({\n walletAddress,\n inputMint = 'So11111111111111111111111111111111111111112',\n outputMint = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',\n inputSymbol = 'SOL', outputSymbol = 'USDC',\n tradingViewSymbol = 'SOLUSD',\n chartType = 'tradingview',\n manifestMarket,\n theme = 'dark', onSign, onOrderSuccess,\n className = '',\n}: TradingPageProps) {\n const [bottomTab, setBottomTab] = useState<BottomTab>('positions');\n const { limitOrders, dcaOrders, isLoading: ordersLoading, cancelOrder } = useOpenOrders(walletAddress ?? null);\n const { positions, isLoading: positionsLoading } = usePositions(walletAddress ?? null);\n\n return (\n <div className={`ct-flex ct-flex-col ct-h-full ct-min-h-screen ct-bg-[hsl(var(--cedros-background))] ${className}`}>\n {/* Top: Chart + Order Form */}\n <div className=\"ct-flex ct-flex-1 ct-min-h-0\">\n {/* Chart (takes remaining space) */}\n <div className=\"ct-flex-1 ct-min-w-0 ct-border-r ct-border-[hsl(var(--cedros-border))]\">\n <ChartContainer chartType={chartType} symbol={tradingViewSymbol} theme={theme} />\n </div>\n\n {/* Order form (right panel, desktop only) */}\n <div className=\"ct-hidden xl:ct-block ct-w-80 ct-flex-shrink-0 ct-overflow-y-auto\">\n <OrderForm\n walletAddress={walletAddress}\n inputMint={inputMint}\n outputMint={outputMint}\n inputSymbol={inputSymbol}\n outputSymbol={outputSymbol}\n onSign={onSign}\n onSuccess={onOrderSuccess}\n />\n </div>\n </div>\n\n {/* Bottom: Tabs */}\n <div className=\"ct-border-t ct-border-[hsl(var(--cedros-border))]\">\n <div className=\"ct-flex ct-gap-4 ct-px-4 ct-border-b ct-border-[hsl(var(--cedros-border))]\">\n {(['positions', 'orders', ...(manifestMarket ? ['orderbook'] : [])] as BottomTab[]).map(t => (\n <button key={t} onClick={() => setBottomTab(t)}\n className={`ct-py-2 ct-text-sm ct-font-medium ct-border-b-2 ct-transition ct-capitalize ${\n bottomTab === t\n ? 'ct-border-[hsl(var(--cedros-primary))] ct-text-[hsl(var(--cedros-foreground))]'\n : 'ct-border-transparent ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-text-[hsl(var(--cedros-foreground))]'\n }`}>\n {t} {t === 'orders' && limitOrders.length > 0 && `(${limitOrders.length})`}\n </button>\n ))}\n </div>\n\n <div className=\"ct-max-h-64 ct-overflow-y-auto\">\n {bottomTab === 'positions' && (\n <PositionsTable\n holdings={positions?.holdings ?? []}\n isLoading={positionsLoading}\n totalValue={positions?.totalValue}\n />\n )}\n {bottomTab === 'orders' && (\n <OpenOrdersTable\n limitOrders={limitOrders}\n dcaOrders={dcaOrders}\n isLoading={ordersLoading}\n onCancel={walletAddress ? (id) => cancelOrder(id, walletAddress) : undefined}\n />\n )}\n {bottomTab === 'orderbook' && manifestMarket && (\n <Orderbook marketAddress={manifestMarket} />\n )}\n </div>\n </div>\n\n {/* Mobile order form (shown below chart on small screens) */}\n <div className=\"xl:ct-hidden ct-p-4\">\n <OrderForm\n walletAddress={walletAddress}\n inputMint={inputMint}\n outputMint={outputMint}\n inputSymbol={inputSymbol}\n outputSymbol={outputSymbol}\n onSign={onSign}\n onSuccess={onOrderSuccess}\n />\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { usePositions } from '../../hooks/usePositions';\nimport { PositionsTable } from '../trading/PositionsTable';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\nimport { ErrorMessage } from '../shared/ErrorMessage';\n\nexport interface PortfolioPageProps {\n walletAddress?: string;\n className?: string;\n}\n\nexport function PortfolioPage({ walletAddress, className = '' }: PortfolioPageProps) {\n const { positions, isLoading, error, refresh } = usePositions(walletAddress ?? null);\n\n return (\n <div className={`ct-max-w-2xl ct-mx-auto ct-py-8 ct-px-4 ct-space-y-4 ${className}`}>\n <div className=\"ct-flex ct-items-center ct-justify-between\">\n <h2 className=\"ct-text-xl ct-font-semibold ct-text-[hsl(var(--cedros-foreground))]\">Portfolio</h2>\n <button onClick={refresh} disabled={isLoading}\n className=\"ct-text-sm ct-text-[hsl(var(--cedros-primary))] hover:ct-underline disabled:ct-opacity-50\">\n Refresh\n </button>\n </div>\n\n {!walletAddress ? (\n <div className=\"ct-text-center ct-py-12 ct-text-[hsl(var(--cedros-muted-foreground))]\">\n Connect a wallet to view your portfolio\n </div>\n ) : (\n <>\n <ErrorMessage message={error} />\n\n {/* Summary card */}\n {positions && (\n <div className=\"ct-bg-[hsl(var(--cedros-muted))] ct-rounded-cedros ct-p-4 ct-grid ct-grid-cols-2 ct-gap-4\">\n <div>\n <div className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Total Value</div>\n <div className=\"ct-text-2xl ct-font-bold ct-text-[hsl(var(--cedros-foreground))]\">${positions.totalValue}</div>\n </div>\n <div>\n <div className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">Open Orders</div>\n <div className=\"ct-text-2xl ct-font-bold ct-text-[hsl(var(--cedros-foreground))]\">{positions.openOrders}</div>\n </div>\n </div>\n )}\n\n <div className=\"ct-bg-[hsl(var(--cedros-background))] ct-border ct-border-[hsl(var(--cedros-border))] ct-rounded-cedros\">\n <PositionsTable\n holdings={positions?.holdings ?? []}\n isLoading={isLoading}\n />\n </div>\n </>\n )}\n </div>\n );\n}\n","import React, { useState } from 'react';\nimport { useActionQueue } from '../../hooks/useActionQueue';\nimport { LoadingSpinner } from '../shared/LoadingSpinner';\n\nexport interface ActionQueueProps {\n walletAddress?: string;\n onSign?: (transaction: string) => Promise<string>;\n className?: string;\n}\n\nexport function ActionQueue({ walletAddress, onSign, className = '' }: ActionQueueProps) {\n const { actions, isLoading, complete, dismiss } = useActionQueue(walletAddress ?? null);\n const [signingId, setSigningId] = useState<string | null>(null);\n\n const handleSign = async (actionId: string, transaction: string) => {\n if (!onSign) return;\n setSigningId(actionId);\n try {\n const signed = await onSign(transaction);\n await complete(actionId, signed);\n } catch { /* error shown in hook */ }\n finally { setSigningId(null); }\n };\n\n if (!walletAddress || actions.length === 0) return null;\n\n return (\n <div className={`ct-space-y-2 ${className}`}>\n <h4 className=\"ct-text-sm ct-font-medium ct-text-[hsl(var(--cedros-foreground))]\">\n Pending Actions ({actions.length})\n </h4>\n {actions.map(a => (\n <div key={a.id} className=\"ct-flex ct-items-center ct-gap-3 ct-p-3 ct-rounded-cedros ct-bg-[hsl(var(--cedros-muted))] ct-border ct-border-[hsl(var(--cedros-border))]\">\n <div className=\"ct-flex-1 ct-min-w-0\">\n <div className=\"ct-text-sm ct-text-[hsl(var(--cedros-foreground))]\">{a.reason}</div>\n <div className=\"ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))]\">\n Expires {new Date(a.expiresAt).toLocaleTimeString()}\n </div>\n </div>\n <div className=\"ct-flex ct-gap-2\">\n <button onClick={() => handleSign(a.id, a.transaction)} disabled={signingId === a.id}\n className=\"ct-px-3 ct-py-1.5 ct-rounded ct-text-xs ct-font-medium ct-bg-[hsl(var(--cedros-primary))] ct-text-[hsl(var(--cedros-primary-foreground))] hover:ct-opacity-90 disabled:ct-opacity-50\">\n {signingId === a.id ? <LoadingSpinner className=\"ct-h-3 ct-w-3\" /> : 'Sign'}\n </button>\n <button onClick={() => dismiss(a.id)}\n className=\"ct-px-3 ct-py-1.5 ct-rounded ct-text-xs ct-text-[hsl(var(--cedros-muted-foreground))] hover:ct-text-[hsl(var(--cedros-foreground))]\">\n Dismiss\n </button>\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport interface ActionNotificationBadgeProps {\n walletAddress?: string;\n onClick?: () => void;\n className?: string;\n}\n\nexport function ActionNotificationBadge({ walletAddress, onClick, className = '' }: ActionNotificationBadgeProps) {\n const { count } = useActionQueue(walletAddress ?? null);\n if (count === 0) return null;\n\n return (\n <button onClick={onClick}\n className={`ct-relative ct-inline-flex ct-items-center ct-justify-center ct-px-2 ct-py-1 ct-rounded-full ct-text-xs ct-font-medium ct-bg-red-500 ct-text-white ct-animate-pulse ${className}`}>\n {count}\n </button>\n );\n}\n"],"names":["TradeContext","createContext","CedrosTradeProvider","config","children","value","useMemo","TradeApiClient","jsx","useTradeContext","ctx","useContext","useTradeApi","useSwap","api","quote","setQuote","useState","transaction","setTransaction","result","setResult","isLoading","setIsLoading","error","setError","getQuote","useCallback","inputMint","outputMint","amount","slippageBps","q","e","buildTransaction","userPublicKey","tx","execute","signedTransaction","provider","requestId","r","compareProviders","reset","useTransfer","buildResult","setBuildResult","executeResult","setExecuteResult","build","sender","recipient","mint","memo","resolveAddress","address","usePositions","walletAddress","positions","setPositions","refresh","useEffect","useOpenOrders","limitOrders","setLimitOrders","dcaOrders","setDcaOrders","cancelOrder","orderId","maker","usePrices","prices","setPrices","subscribedMints","useRef","intervalRef","fetchPrices","mints","snapshots","prev","next","s","subscribe","m","unsubscribe","getPrice","p","useTokens","tokens","setTokens","list","getByMint","t","getBySymbol","symbol","upper","useLimitOrder","fn","createLimit","params","createStopLoss","createTakeProfit","createDca","useActionQueue","actions","setActions","pollInterval","complete","actionId","dismiss","useOrderbook","marketAddress","streaming","data","setData","isStreaming","setIsStreaming","wsRef","fetchOnce","resp","wsUrl","ws","event","TokenSelector","isOpen","onClose","onSelect","excludeMints","className","search","setSearch","favorites","setFavorites","filtered","favoriteTokens","toggleFavorite","handleSelect","token","jsxs","PRESETS","SlippageControl","onChange","isCustom","setIsCustom","customInput","setCustomInput","handleCustomChange","input","parsed","LoadingSpinner","ErrorMessage","message","onDismiss","SOL_MINT","USDC_MINT","SwapForm","onSign","onSuccess","onError","defaultInputMint","defaultOutputMint","inputToken","setInputToken","outputToken","setOutputToken","setInputMint","setOutputMint","setAmount","setSlippageBps","selectorSide","setSelectorSide","step","setStep","timer","handleSwapDirection","tmp","handleSelectToken","handleSwap","signedTx","formatOutput","decimals","SwapPage","title","formProps","TransferForm","setRecipient","selectedToken","setSelectedToken","setMint","selectorOpen","setSelectorOpen","resolvedAddress","setResolvedAddress","handleTokenSelect","handleSend","rawAmount","execResult","TransferPage","props","TradingViewChart","interval","theme","containerRef","container","script","widget","size","_a","width","height","equalSizes","first","second","Observable","win","_this","observer","o","dppx","createObservable","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_b","clientSize","listener","l","oldSuggestedSize","newSize","oldSize","finalNewSize","newSuggestedSize","isDevicePixelContentBoxSupported","isSupported","canvasElementWindow","createDevicePixelRatioObservable","ratio","canvasRects","predictedBitmapSize","entries","entry","entrySize","bindTo","target","resolve","ro","canvasRect","CanvasRenderingTarget2D","context","mediaSize","bitmapSize","f","tryCreateCanvasRenderingTarget2D","binding","contextOptions","h","a","_","u","c","d","i","n","v","b","w","g","M","x","S","k","y","C","T","P","R","D","V","O","B","A","I","z","L","E","N","F","W","j","H","$","U","Y","Z","X","K","G","J","Q","tt","it","nt","st","et","rt","ht","lt","at","ot","_t","ut","ct","dt","ft","vt","pt","mt","Mt","bt","wt","gt","xt","St","kt","yt","Ct","Tt","Pt","Rt","Dt","Vt","Ot","Bt","At","It","zt","Lt","Et","Nt","Ft","Wt","jt","Ht","$t","Ut","qt","Yt","Zt","Xt","Kt","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","fi","vi","pi","mi","bi","wi","gi","Mi","Si","xi","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","Ii","zi","Li","Ei","Ni","Fi","Wi","ji","Hi","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","tn","nn","sn","en","rn","hn","ln","an","on","_n","un","cn","dn","vn","pn","mn","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","Dn","Vn","On","Bn","An","In","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Qn","Jn","ts","is","ns","ss","es","rs","hs","ls","as","os","_s","us","cs","ds","fs","vs","ps","Ms","gs","bs","ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","$s","Us","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","LightweightChart","chartRef","seriesRef","isDark","chart","createChart","ColorType","series","ChartContainer","chartType","chartData","defaultAutoFeatures","AutoFeatures","state","update","partial","ToggleCard","targets","enabled","onToggle","icon","label","color","description","borderColor","bgColor","OrderForm","inputSymbol","outputSymbol","currentPrice","tab","setTab","side","setSide","price","setPrice","dcaCycles","setDcaCycles","dcaInterval","setDcaInterval","trailPercent","setTrailPercent","ocoSl","setOcoSl","ocoTp","setOcoTp","bracketSl","setBracketSl","bracketTp","setBracketTp","autoFeatures","setAutoFeatures","formError","setFormError","tabs","inMint","outMint","handleSubmit","inAmt","outAmt","_c","total","perCycle","pct","Orderbook","tickSize","maxLevels","onPriceClick","grouped","groupLevels","levels","ascending","map","gp","existing","arr","bids","asks","maxTotal","level","OrderRow","onClick","isAsk","barWidth","OpenOrdersTable","onCancel","empty","PositionsTable","holdings","totalValue","TradingPage","tradingViewSymbol","manifestMarket","onOrderSuccess","bottomTab","setBottomTab","ordersLoading","positionsLoading","id","PortfolioPage","Fragment","ActionQueue","signingId","setSigningId","handleSign","signed","ActionNotificationBadge","count"],"mappings":"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","x_google_ignoreList":[19,20,21,22,23]}