PageSourceSearch

https://www.quant-soc.com/_next/static/chunks/258-928c487fc05ab5d0.js

js quant-soc.com collected 2026-10-09 22:33:06 UTC 40,607 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0aacfa2d-ac8e-439d-8835-3de65c84fc74",e._sentryDebugIdIdentifier="sentry-dbid-0aacfa2d-ac8e-439d-8835-3de65c84fc74")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[258],{33216:(e,t,n)=>{n.d(t,{W:()=>d,n:()=>h});var o=n(95155),r=n(67909),s=n(49080),a=n(45415),i=n(99848),l=n(54998);function u(e){let{error:t,retry:n}=e,r=(0,i.j)(),u=(0,a.o)(!t);return t?(0,o.jsx)(l.k,{variant:r?"offline":"error",onRetry:n,className:"min-h-[260px] rounded-xl bg-muted/20"}):u?(0,o.jsx)(s.E,{className:"h-[260px] w-full rounded-xl"}):(0,o.jsx)("div",{"aria-hidden":!0,className:"h-[260px] w-full"})}function c(e){return(0,r.default)(e,{loading:u})}let d=[{slug:"quote-both-sides",Component:c(()=>n.e(4768).then(n.bind(n,54768)).then(e=>e.QuoteBothSides)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"markets-and-participants"},{slug:"follow-the-money",Component:c(()=>n.e(6389).then(n.bind(n,76389)).then(e=>e.FollowTheMoney)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"trading-mechanics-and-liquidity"},{slug:"who-gets-paid",Component:c(()=>n.e(136).then(n.bind(n,70136)).then(e=>e.WhoGetsPaid)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"shares-and-going-public"},{slug:"same-pie-more-slices",Component:c(()=>n.e(8806).then(n.bind(n,88806)).then(e=>e.SamePieMoreSlices)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"indices-etfs-and-corporate-actions"},{slug:"rates-up-price-down",Component:c(()=>n.e(2987).then(n.bind(n,72987)).then(e=>e.RatesUpPriceDown)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"rate-sensitivity-and-credit-risk"},{slug:"carry-or-scarcity",Component:c(()=>n.e(3973).then(n.bind(n,33973)).then(e=>e.CarryOrScarcity)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"hedging-speculation-and-commodity-curves"},{slug:"where-you-break-even",Component:c(()=>n.e(3773).then(n.bind(n,83773)).then(e=>e.WhereYouBreakEven)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"options-and-payoffs"},{slug:"yield-price-seesaw",Component:c(()=>n.e(1604).then(n.bind(n,69223)).then(e=>e.YieldPriceSeesaw)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"bonds-rates-and-credit"},{slug:"leverage-loss-tap",Component:c(()=>n.e(9222).then(n.bind(n,79222)).then(e=>e.LeverageLossTap)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"futures-and-forwards"},{slug:"vol-widens-both",Component:c(()=>n.e(9021).then(n.bind(n,59021)).then(e=>e.VolWidensBoth)),track:"foundations",courseSlug:"market-fundamentals",courseTitle:"Market Fundamentals",lessonSlug:"option-strategies-and-volatility"},{slug:"expectation-variance",Component:c(()=>n.e(3917).then(n.bind(n,43917)).then(e=>e.ExpectationVariance)),track:"foundations",courseSlug:"probability-essentials",courseTitle:"Probability Essentials",lessonSlug:"expectation-and-variance"},{slug:"base-rate-trap",Component:c(()=>n.e(8169).then(n.bind(n,48169)).then(e=>e.BaseRateTrap)),track:"foundations",courseSlug:"probability-essentials",courseTitle:"Probability Essentials",lessonSlug:"conditional-probability"},{slug:"fat-tail-spotter",Component:c(()=>n.e(9237).then(n.bind(n,49237)).then(e=>e.FatTailSpotter)),track:"foundations",courseSlug:"probability-essentials",courseTitle:"Probability Essentials",lessonSlug:"distributions-in-finance"},{slug:"monte-carlo-convergence",Component:c(()=>n.e(2996).then(n.bind(n,72996)).then(e=>e.MonteCarloConvergence)),track:"foundations",courseSlug:"probability-essentials",courseTitle:"Probability Essentials",lessonSlug:"law-of-large-numbers"},{slug:"correlation-guess",Component:c(()=>n.e(7817).then(n.bind(n,67817)).then(e=>e.CorrelationGuess)),track:"foundations",courseSlug:"probability-essentials",courseTitle:"Probability Essentials",lessonSlug:"covariance-
1and-correlation"},{slug:"log-return-compounding",Component:c(()=>n.e(2124).then(n.bind(n,82124)).then(e=>e.LogReturnCompounding)),track:"foundations",courseSlug:"returns-and-compounding",courseTitle:"Returns & Compounding",lessonSlug:"simple-vs-log-returns"},{slug:"sharpe-compare",Component:c(()=>n.e(9232).then(n.bind(n,46851)).then(e=>e.SharpeCompare)),track:"foundations",courseSlug:"returns-and-compounding",courseTitle:"Returns & Compounding",lessonSlug:"measuring-return-performance"},{slug:"currency-cross-return",Component:c(()=>n.e(5460).then(n.bind(n,75460)).then(e=>e.CurrencyCrossReturn)),track:"foundations",courseSlug:"returns-and-compounding",courseTitle:"Returns & Compounding",lessonSlug:"currency-and-cross-returns"},{slug:"benchmark-active-return",Component:c(()=>n.e(2682).then(n.bind(n,32682)).then(e=>e.BenchmarkActiveReturn)),track:"foundations",courseSlug:"returns-and-compounding",courseTitle:"Returns & Compounding",lessonSlug:"benchmark-relative-returns"},{slug:"return-attribution",Component:c(()=>n.e(9425).then(n.bind(n,19425)).then(e=>e.ReturnAttribution)),track:"foundations",courseSlug:"returns-and-compounding",courseTitle:"Returns & Compounding",lessonSlug:"return-attribution"},{slug:"cross-the-spread",Component:c(()=>n.e(1765).then(n.bind(n,51765)).then(e=>e.CrossTheSpread)),track:"foundations",courseSlug:"market-microstructure",courseTitle:"Market Microstructure",lessonSlug:"bid-ask-and-spread"},{slug:"market-or-limit",Component:c(()=>n.e(1081).then(n.bind(n,21081)).then(e=>e.MarketOrLimit)),track:"foundations",courseSlug:"market-microstructure",courseTitle:"Market Microstructure",lessonSlug:"order-types"},{slug:"price-discovery-order",Component:c(()=>n.e(4840).then(n.bind(n,24840)).then(e=>e.PriceDiscoveryOrder)),track:"foundations",courseSlug:"market-microstructure",courseTitle:"Market Microstructure",lessonSlug:"price-discovery"},{slug:"tca-breakdown",Component:c(()=>n.e(3891).then(n.bind(n,3891)).then(e=>e.TcaBreakdown)),track:"foundations",courseSlug:"market-microstructure",courseTitle:"Market Microstructure",lessonSlug:"transaction-cost-analysis"},{slug:"lit-or-dark",Component:c(()=>n.e(4753).then(n.bind(n,74753)).then(e=>e.LitOrDark)),track:"foundations",courseSlug:"market-microstructure",courseTitle:"Market Microstructure",lessonSlug:"dark-pools-and-venues"},{slug:"vectorise-this",Component:c(()=>n.e(8188).then(n.bind(n,48188)).then(e=>e.VectoriseThis)),track:"foundations",courseSlug:"python-for-quants",courseTitle:"Python for Quants",lessonSlug:"vectorisation-basics"},{slug:"slice-the-series",Component:c(()=>n.e(7758).then(n.bind(n,55377)).then(e=>e.SliceTheSeries)),track:"foundations",courseSlug:"python-for-quants",courseTitle:"Python for Quants",lessonSlug:"pandas-for-price-data"},{slug:"build-the-signal",Component:c(()=>n.e(8908).then(n.bind(n,78908)).then(e=>e.BuildTheSignal)),track:"foundations",courseSlug:"python-for-quants",courseTitle:"Python for Quants",lessonSlug:"signals-and-features"},{slug:"match-metric-code",Component:c(()=>n.e(9023).then(n.bind(n,79023)).then(e=>e.MatchMetricCode)),track:"foundations",courseSlug:"python-for-quants",courseTitle:"Python for Quants",lessonSlug:"performance-metrics-in-code"},{slug:"spot-the-lookahead",Component:c(()=>n.e(4894).then(n.bind(n,74894)).then(e=>e.SpotTheLookahead)),track:"foundations",courseSlug:"python-for-quants",courseTitle:"Python for Quants",lessonSlug:"data-handling-pitfalls"},{slug:"signal-to-position",Component:c(()=>n.e(1369).then(n.bind(n,31369)).then(e=>e.SignalToPosition)),track:"foundations",courseSlug:"intro-backtesting",courseTitle:"Intro to Backtesting",lessonSlug:"first-backtest"},{slug:"fit-the-noise",Component:c(()=>n.e(5587).then(n.bind(n,75587)).then(e=>e.FitTheNoise)),track:"foundations",courseSlug:"intro-backtesting",courseTitle:"Intro to Backtesting",lessonSlug:"overfitting-and-in-out-sample"},{slug:"costless-is-fiction",Component:c(()=>n.e(1475).then(n.bind(n,61475)).then(e=>e.CostlessIsFiction)),track:"foundations",courseSlug:"intro-backtesting",courseTitle:"Intro to Backtesting",lessonSlug:"transaction-costs-in-backtest"},{slug:"beyond-sharpe",Component:c(()=>n.e(1090).then(n.bind(n,11090)).then(e=>e.BeyondSharpe)),track:"foundations",courseSlug:"intro-backtesting",courseTitle:"Intro to Backtesting",lessonSlug:"backtest-metrics"},{slug:"when-it-breaks",Component:c(()=>n.e(5940).then(n.bind(n,85940)).then(e=>e.WhenItBreaks)),track:"foundations",courseSlug:"intro-backtesting",courseTitle:"Intro to Backtesting",lessonSlug:"regime-analysis"},{slug:"mean-reversion-band",Component:c(()=>n.e(6490).then(n.bind(n,6490)).then(e=>e.MeanReversionBand)),track:"researcher",courseSlug:"mean-reversion",courseTitle:"Mean Reversion",lessonSlug:"z-scores-and-bands"},{slug:"rolling-leak",Component:c(()=>n.e(5594).then(n.bind(n,65594)).then(e=>e.RollingLeak)),track:"researcher",courseSlug:"mean-reversion",courseTitle:"Mean Reversion",lessonSlug:"rolling-statistics"},{slug:"pull-to-the-mean",Component:c(()=>n.e(3008).then(n.bind(n,73008)).then(e=>e.PullToTheMean)),track:"researcher",courseSlug:"mean-reversion",courseTitle:"Mean Reversion",lessonSlug:"ar1-process"},{slug:"mr-edge-vs-costs",Component:c(()=>n.e(9261).then(n.bind(n,19261)).then(e=>e.MrEdgeVsCosts)),track:"researcher",courseSlug:"mean-reversion",courseTitle:"Mean Reversion",lessonSlug:"transaction-costs"},{slug:"set-the-stop",Component:c(()=>n.e(916).then(n.bind(n,30916)).then(e=>e.SetTheStop)),track:"researcher",courseSlug:"mean-reversion",courseTitle:"Mean Reversion",lessonSlug:"risk-management-mr"},{slug:"one-factor-or-three",Component:c(()=>n.e(4440).then(n.bind(n,84440)).then(e=>e.OneFactorOrThree)),track:"researcher",courseSlug:"factor-models",courseTitle:"Factor Models",lessonSlug:"capm-and-beyond"},{slug:"factor-beta-regression",Component:c(()=>n.e(3769).then(n.bind(n,63769)).then(e=>e.FactorBetaRegression)),track:"researcher",courseSlug:"factor-models",courseTitle:"Factor Models",lessonSlug:"factor-regression-in-practice"},{slug:"is-it-alpha",Component:c(()=>n.e(6864).then(n.bind(n,6864)).then(e=>e.IsItAlpha)),track:"researcher",courseSlug:"factor-models",courseTitle:"Factor Models",lessonSlug:"alpha-vs-factor-ex
1posure"},{slug:"ride-or-fade",Component:c(()=>n.e(2144).then(n.bind(n,52144)).then(e=>e.RideOrFade)),track:"researcher",courseSlug:"factor-models",courseTitle:"Factor Models",lessonSlug:"momentum-factor"},{slug:"dont-double-count",Component:c(()=>n.e(3818).then(n.bind(n,53818)).then(e=>e.DontDoubleCount)),track:"researcher",courseSlug:"factor-models",courseTitle:"Factor Models",lessonSlug:"multi-factor-portfolio"},{slug:"home-vs-wanderer",Component:c(()=>n.e(2709).then(n.bind(n,32709)).then(e=>e.HomeVsWanderer)),track:"researcher",courseSlug:"time-series-stationarity",courseTitle:"Time-Series Stationarity",lessonSlug:"what-is-stationarity"},{slug:"unit-root-or-not",Component:c(()=>n.e(4336).then(n.bind(n,14336)).then(e=>e.UnitRootOrNot)),track:"researcher",courseSlug:"time-series-stationarity",courseTitle:"Time-Series Stationarity",lessonSlug:"adf-test"},{slug:"make-it-stationary",Component:c(()=>n.e(6452).then(n.bind(n,36452)).then(e=>e.MakeItStationary)),track:"researcher",courseSlug:"time-series-stationarity",courseTitle:"Time-Series Stationarity",lessonSlug:"transformations-for-stationarity"},{slug:"read-the-acf",Component:c(()=>n.e(5128).then(n.bind(n,95128)).then(e=>e.ReadTheAcf)),track:"researcher",courseSlug:"time-series-stationarity",courseTitle:"Time-Series Stationarity",lessonSlug:"autocorrelation-structure"},{slug:"find-the-break",Component:c(()=>n.e(250).then(n.bind(n,250)).then(e=>e.FindTheBreak)),track:"researcher",courseSlug:"time-series-stationarity",courseTitle:"Time-Series Stationarity",lessonSlug:"structural-breaks"},{slug:"real-or-random",Component:c(()=>n.e(1469).then(n.bind(n,11469)).then(e=>e.RealOrRandom)),track:"researcher",courseSlug:"signal-vs-noise",courseTitle:"Signal vs. Noise",lessonSlug:"hypothesis-testing-basics"},{slug:"torture-the-data",Component:c(()=>n.e(675).then(n.bind(n,20675)).then(e=>e.TortureTheData)),track:"researcher",courseSlug:"signal-vs-noise",courseTitle:"Signal vs. Noise",lessonSlug:"p-hacking"},{slug:"rank-the-signal",Component:c(()=>n.e(3028).then(n.bind(n,43028)).then(e=>e.RankTheSignal)),track:"researcher",courseSlug:"signal-vs-noise",courseTitle:"Signal vs. Noise",lessonSlug:"information-coefficient"},{slug:"is-fifteen-greater",Component:c(()=>n.e(8270).then(n.bind(n,38270)).then(e=>e.IsFifteenGreater)),track:"researcher",courseSlug:"signal-vs-noise",courseTitle:"Signal vs. Noise",lessonSlug:"sharpe-ratio-statistics"},{slug:"works-everywhere",Component:c(()=>n.e(8114).then(n.bind(n,78114)).then(e=>e.WorksEverywhere)),track:"researcher",courseSlug:"signal-vs-noise",courseTitle:"Signal vs. Noise",lessonSlug:"regime-conditional-signals"},{slug:"tied-together",Component:c(()=>n.e(232).then(n.bind(n,20232)).then(e=>e.TiedTogether)),track:"researcher",courseSlug:"cointegration-and-pairs",courseTitle:"Cointegration & Pairs Trading",lessonSlug:"cointegration-theory"},{slug:"engle-granger-steps",Component:c(()=>n.e(2333).then(n.bind(n,42333)).then(e=>e.EngleGrangerSteps)),track:"researcher",courseSlug:"cointegration-and-pairs",courseTitle:"Cointegration & Pairs Trading",lessonSlug:"engle-granger-test"},{slug:"get-beta-right",Component:c(()=>n.e(7485).then(n.bind(n,77485)).then(e=>e.GetBetaRight)),track:"researcher",courseSlug:"cointegration-and-pairs",courseTitle:"Cointegration & Pairs Trading",lessonSlug:"hedge-ratio-estimation"},{slug:"enter-the-spread",Component:c(()=>n.e(6099).then(n.bind(n,76099)).then(e=>e.EnterTheSpread)),track:"researcher",courseSlug:"cointegration-and-pairs",courseTitle:"Cointegration & Pairs Trading",lessonSlug:"pairs-trading-strategy"},{slug:"scale-limit",Component:c(()=>n.e(5769).then(n.bind(n,95769)).then(e=>e.ScaleLimit)),track:"researcher",courseSlug:"cointegration-and-pairs",courseTitle:"Cointegration & Pairs Trading",lessonSlug:"pairs-risk-and-capacity"},{slug:"adjust-for-split",Component:c(()=>n.e(8795).then(n.bind(n,68795)).then(e=>e.AdjustForSplit)),track:"developer",courseSlug:"data-pipelines",courseTitle:"Data Pipelines",lessonSlug:"tidy-market-data"},{slug:"csv-or-parquet",Component:c(()=>n.e(9138).then(n.bind(n,39138)).then(e=>e.CsvOrParquet)),track:"developer",courseSlug:"data-pipelines",courseTitle:"Data Pipelines",lessonSlug:"efficient-storage-formats"},{slug:"ticks-to-bars",Component:c(()=>n.e(7374).then(n.bind(n,17374)).then(e=>e.TicksToBars)),track:"developer",courseSlug:"data-pipelines",courseTitle:"Data Pipelines",lessonSlug:"resampling-and-frequency"}
1,{slug:"catch-the-bad-row",Component:c(()=>n.e(455).then(n.bind(n,20455)).then(e=>e.CatchTheBadRow)),track:"developer",courseSlug:"data-pipelines",courseTitle:"Data Pipelines",lessonSlug:"pipeline-validation-and-ci"},{slug:"which-loop-jits",Component:c(()=>n.e(2390).then(n.bind(n,92390)).then(e=>e.WhichLoopJits)),track:"developer",courseSlug:"data-pipelines",courseTitle:"Data Pipelines",lessonSlug:"numba-acceleration"},{slug:"latency-budget",Component:c(()=>n.e(5639).then(n.bind(n,5639)).then(e=>e.LatencyBudget)),track:"developer",courseSlug:"execution-and-latency",courseTitle:"Execution & Latency",lessonSlug:"latency-budgets"},{slug:"slippage-bill",Component:c(()=>n.e(6730).then(n.bind(n,46730)).then(e=>e.SlippageBill)),track:"developer",courseSlug:"execution-and-latency",courseTitle:"Execution & Latency",lessonSlug:"order-types-and-slippage"},{slug:"find-the-hotspot",Component:c(()=>n.e(9662).then(n.bind(n,89662)).then(e=>e.FindTheHotspot)),track:"developer",courseSlug:"execution-and-latency",courseTitle:"Execution & Latency",lessonSlug:"python-profiling-deep-dive"},{slug:"vectorise-patterns",Component:c(()=>n.e(2405).then(n.bind(n,72405)).then(e=>e.VectorisePatterns)),track:"developer",courseSlug:"execution-and-latency",courseTitle:"Execution & Latency",lessonSlug:"vectorisation-patterns"},{slug:"order-book-sweep",Component:c(()=>n.e(1650).then(n.bind(n,31650)).then(e=>e.OrderBookSweep)),track:"developer",courseSlug:"execution-and-latency",courseTitle:"Execution & Latency",lessonSlug:"order-book-simulation"},{slug:"align-or-misalign",Component:c(()=>n.e(5377).then(n.bind(n,15377)).then(e=>e.AlignOrMisalign)),track:"developer",courseSlug:"dataframes-deep-dive",courseTitle:"DataFrames Deep Dive",lessonSlug:"indexing-and-alignment"},{slug:"group-the-rows",Component:c(()=>n.e(1636).then(n.bind(n,1636)).then(e=>e.GroupTheRows)),track:"developer",courseSlug:"dataframes-deep-dive",courseTitle:"DataFrames Deep Dive",lessonSlug:"groupby-and-apply"},{slug:"copy-or-view",Component:c(()=>n.e(4820).then(n.bind(n,94820)).then(e=>e.CopyOrView)),track:"developer",courseSlug:"dataframes-deep-dive",courseTitle:"DataFrames Deep Dive",lessonSlug:"copy-view-semantics"},{slug:"dtype-overflow",Component:c(()=>n.e(492).then(n.bind(n,90492)).then(e=>e.DtypeOverflow)),track:"developer",courseSlug:"dataframes-deep-dive",courseTitle:"DataFrames Deep Dive",lessonSlug:"dtype-gotchas"},{slug:"window-edges",Component:c(()=>n.e(9490).then(n.bind(n,99490)).then(e=>e.WindowEdges)),track:"developer",courseSlug:"dataframes-deep-dive",courseTitle:"DataFrames Deep Dive",lessonSlug:"rolling-and-expanding-windows"},{slug:"order-the-events",Component:c(()=>n.e(5112).then(n.bind(n,82731)).then(e=>e.OrderTheEvents)),track:"developer",courseSlug:"event-driven-backtester",courseTitle:"Event-Driven Backtester",lessonSlug:"event-loop-architecture"},{slug:"no-peeking",Component:c(()=>n.e(1838).then(n.bind(n,11838)).then(e=>e.NoPeeking)),track:"developer",courseSlug:"event-driven-backtester",courseTitle:"Event-Driven Backtester",lessonSlug:"data-handler-design"},{slug:"size-with-stop",Component:c(()=>n.e(1942).then(n.bind(n,91942)).then(e=>e.SizeWithStop)),track:"developer",courseSlug:"event-driven-backtester",courseTitle:"Event-Driven Backtester",lessonSlug:"position-sizing-and-risk"},{slug:"partial-fill",Component:c(()=>n.e(7900).then(n.bind(n,27900)).then(e=>e.PartialFill)),track:"developer",courseSlug:"event-driven-backtester",courseTitle:"Event-Driven Backtester",lessonSlug:"execution-simulation"},{slug:"read-the-tearsheet",Component:c(()=>n.e(6851).then(n.bind(n,66851)).then(e=>e.ReadTheTearsheet)),track:"developer",courseSlug:"event-driven-backtester",courseTitle:"Event-Driven Backtester",lessonSlug:"tearsheet-generation"},{slug:"walk-forward-overfit",Component:c(()=>n.e(1488).then(n.bind(n,81488)).then(e=>e.WalkForwardOverfit)),track:"developer",courseSlug:"walk-forward-evaluation",courseTitle:"Walk-Forward Evaluation",lessonSlug:"in-sample-vs-out-of-sample"},{slug:"roll-the-window",Component:c(()=>n.e(201).then(n.bind(n,80201)).then(e=>e.RollTheWindow)),track:"developer",courseSlug:"walk-forward-evaluation",courseTitle:"Walk-Forward Evaluation",lessonSlug:"walk-forward-mechanics"},{slug:"cliff-or-plateau",Component:c(()=>n.e(78).then(n.bind(n,80078)).then(e=>e.CliffOrPlateau)),track:"developer",courseSlug:"walk-forward-evaluation",courseTitle:"Walk-Forward Evaluation",lessonSlug:"parameter-stability-analysis"},{slug:"purge-the-leak",Component:c(()=>n.e(678).then(n.bind(n,20678)).then(e=>e.PurgeTheLeak)),track:"developer",courseSlug:"walk-forward-evaluation",courseTitle:"Walk-Forward Evaluation",lessonSlug:"combinatorial-purged-cv"},{slug:"why-the-gap",Component:c(()=>n.e(2062).then(n.bind(n,2062)).then(e=>e.WhyTheGap)),track:"developer",courseSlug:"walk-forward-evaluation",courseTitle:"Walk-Forward Evaluation",lessonSlug:"live-vs-backtest-divergence"},{slug:"inverse-vol-weight",Component:c(()=>n.e(4934).then(n.bind(n,24934)).then(e=>e.InverseVolWeight)),track:"portfolio_manager",courseSlug:"risk-parity",courseTitle:"Risk Parity",lessonSlug:"inverse-vol-weighting"},{slug:"equalize-risk",Component:c(()=>n.e(1059).then(n.bind(n,1059)).then(e=>e.EqualizeRisk)),track:"portfolio_manager",courseSlug:"risk-parity",courseTitle:"Risk Parity",lessonSlug:"full-covariance-rp"},{slug:"spot-regime-rp",Component:c(()=>n.e(7032).then(n.bind(n,47032)).then(e=>e.SpotRegimeRp)),track:"portfolio_manager",courseSlug:"risk-parity",courseTitle:"Risk Parity",lessonSlug:"rp-vs-mv"},{slug:"efficient-frontier",Component:c(()=>n.e(2070).then(n.bind(n,62070)).then(e=>e.EfficientFrontier)),track:"portfolio_manager",courseSlug:"risk-parity",courseTitle:"Risk Parity",lessonSlug:"regime-detection-rp"},{slug:"rp-pillar",Component:c(()=>n.e(1866).then(n.bind(n,41866)).then(e=>e.RpPillar)),track:"portfolio_manager",courseSlug:"risk-parity",courseTitle:"Risk Parity",lessonSlug:"rp-performance-attribution"},{slug:"discount-the-cash-flows",Component:c(()=>n.e(7756).then(n.bind(n,77756)).then(e=>e.DiscountTheCashFlows)),track:"portfolio_manager",courseSlug:"valuation-basics",courseTitle:"Valuation Basics",lessonSlug:"dcf-essentials"},{slug:"blend-the-cost",Component:c(()=>n.e(7352).then(n.bind(n,37352)).then(e=>e.BlendTheCost)),track:"portfolio_manager",courseSlug:"valuation-basics",courseTitle:"Valuation Basics",lessonSlug:"wacc-and-cost-of-capital"},{slug:"cheap-for-a-reason",Component:c(()=>
1n.e(8341).then(n.bind(n,28341)).then(e=>e.CheapForAReason)),track:"portfolio_manager",courseSlug:"valuation-basics",courseTitle:"Valuation Basics",lessonSlug:"factor-multiples"},{slug:"rates-up-multiples",Component:c(()=>n.e(5630).then(n.bind(n,65630)).then(e=>e.RatesUpMultiples)),track:"portfolio_manager",courseSlug:"valuation-basics",courseTitle:"Valuation Basics",lessonSlug:"macro-overlay-valuation"},{slug:"systematic-value",Component:c(()=>n.e(6399).then(n.bind(n,66399)).then(e=>e.SystematicValue)),track:"portfolio_manager",courseSlug:"valuation-basics",courseTitle:"Valuation Basics",lessonSlug:"quant-meets-fundamental"},{slug:"var-tail-shader",Component:c(()=>n.e(1241).then(n.bind(n,91241)).then(e=>e.VarTailShader)),track:"portfolio_manager",courseSlug:"risk-budgeting-and-var",courseTitle:"Risk Budgeting & VaR",lessonSlug:"var-fundamentals"},{slug:"beyond-the-line",Component:c(()=>n.e(4787).then(n.bind(n,94787)).then(e=>e.BeyondTheLine)),track:"portfolio_manager",courseSlug:"risk-budgeting-and-var",courseTitle:"Risk Budgeting & VaR",lessonSlug:"cvar-and-tail-risk"},{slug:"allocate-the-risk",Component:c(()=>n.e(8848).then(n.bind(n,58848)).then(e=>e.AllocateTheRisk)),track:"portfolio_manager",courseSlug:"risk-budgeting-and-var",courseTitle:"Risk Budgeting & VaR",lessonSlug:"risk-budgeting-framework"},{slug:"replay-the-crisis",Component:c(()=>n.e(4358).then(n.bind(n,54358)).then(e=>e.ReplayTheCrisis)),track:"portfolio_manager",courseSlug:"risk-budgeting-and-var",courseTitle:"Risk Budgeting & VaR",lessonSlug:"stress-testing"},{slug:"what-do-you-own",Component:c(()=>n.e(3408).then(n.bind(n,13408)).then(e=>e.WhatDoYouOwn)),track:"portfolio_manager",courseSlug:"risk-budgeting-and-var",courseTitle:"Risk Budgeting & VaR",lessonSlug:"sector-factor-exposure"},{slug:"kelly-bet-sizing",Component:c(()=>n.e(4053).then(n.bind(n,14053)).then(e=>e.KellyBetSizing)),track:"portfolio_manager",courseSlug:"position-sizing-and-kelly",courseTitle:"Position Sizing & Kelly",lessonSlug:"kelly-criterion"},{slug:"kelly-for-stocks",Component:c(()=>n.e(8794).then(n.bind(n,98794)).then(e=>e.KellyForStocks)),track:"portfolio_manager",courseSlug:"position-sizing-and-kelly",courseTitle:"Position Sizing & Kelly",lessonSlug:"kelly-continuous-markets"},{slug:"size-by-sharpe",Component:c(()=>n.e(9518).then(n.bind(n,99518)).then(e=>e.SizeBySharpe)),track:"portfolio_manager",courseSlug:"position-sizing-and-kelly",courseTitle:"Position Sizing & Kelly",lessonSlug:"sharpe-and-sizing"},{slug:"margin-call",Component:c(()=>n.e(4074).then(n.bind(n,34074)).then(e=>e.MarginCall)),track:"portfolio_manager",courseSlug:"position-sizing-and-kelly",courseTitle:"Position Sizing & Kelly",lessonSlug:"leverage-and-margin"},{slug:"over-or-under",Component:c(()=>n.e(7240).then(n.bind(n,97240)).then(e=>e.OverOrUnder)),track:"portfolio_manager",courseSlug:"position-sizing-and-kelly",courseTitle:"Position Sizing & Kelly",lessonSlug:"behavioural-sizing-pitfalls"},{slug:"you-move-the-price",Component:c(()=>n.e(9940).then(n.bind(n,39940)).then(e=>e.YouMoveThePrice)),track:"portfolio_manager",courseSlug:"transaction-costs-and-capacity",courseTitle:"Transaction Costs & Capacity",lessonSlug:"market-impact-basics"},{slug:"sum-the-costs",Component:c(()=>n.e(3243).then(n.bind(n,3243)).then(e=>e.SumTheCosts)),track:"portfolio_manager",courseSlug:"transaction-costs-and-capacity",courseTitle:"Transaction Costs & Capacity",lessonSlug:"total-transaction-costs"},{slug:"capacity-planning",Component:c(()=>n.e(3947).then(n.bind(n,53947)).then(e=>e.CapacityPlanning)),track:"portfolio_manager",courseSlug:"transaction-costs-and-capacity",courseTitle:"Transaction Costs & Capacity",lessonSlug:"capacity-planning"},{slug:"rebalancing-cadence",Component:c(()=>n.e(2075).then(n.bind(n,32075)).then(e=>e.RebalancingCadence)),track:"portfolio_manager",courseSlug:"transaction-costs-and-capacity",courseTitle:"Transaction Costs & Capacity",lessonSlug:"rebalancing-cadence"},{slug:"allocation-vs-selection",Component:c(()=>n.e(1990).then(n.bind(n,61990)).then(e=>e.AllocationVsSelection)),track:"portfolio_manager",courseSlug:"transaction-costs-and-capacity",courseTitle:"Transaction Costs & Capacity",lessonSlug:"performance-attribution"}],g=Object.fromEntries(d.map(e=>[e.slug,e]));function h(e){return g[e]}},45415:(e,t,n)=>{n.d(t,{o:()=>r});var o=n(12115);function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,[n,r]=(0,o.useState)(!1);return(0,o.useEffect)(()=>
1{if(!e)return void r(!1);let n=window.setTimeout(()=>r(!0),t);return()=>window.clearTimeout(n)},[e,t]),e&&n}},54998:(e,t,n)=>{n.d(t,{k:()=>u});var o=n(95155);n(12115);var r=n(72528),s=n(93141),a=n(41212),i=n(24988),l=n(15828);function u(e){let{variant:t,onRetry:n,className:u}=e,c="offline"===t;return(0,o.jsx)(i.p,{icon:c?r.A:s.A,tone:"muted",title:c?l.S.learn.state.offlineTitle:l.S.learn.state.errorTitle,message:c?l.S.learn.state.offlineDesc:l.S.learn.state.errorDesc,className:u,children:!c&&n?(0,o.jsxs)(a.$,{variant:"outline",size:"sm",onClick:n,className:"gap-1.5",children:[(0,o.jsx)(s.A,{className:"h-4 w-4","aria-hidden":!0}),l.S.learn.state.retry]}):null})}},92823:(e,t,n)=>{n.d(t,{$5:()=>T,Dn:()=>y,JW:()=>P,J_:()=>k,Kl:()=>M,Ot:()=>W,PB:()=>_,Qc:()=>S,Y5:()=>D,_D:()=>A,aW:()=>B,fu:()=>b,gH:()=>j,hh:()=>R,jf:()=>I,kG:()=>O,on:()=>z,pr:()=>w,rl:()=>v,sK:()=>L,vZ:()=>C,xn:()=>E,yZ:()=>x});var o=n(95155),r=n(12115),s=n(18344),a=n(41407),i=n(61527),l=n(5917),u=n(65229),c=n(48314),d=n(25016),g=n(29485),h=n(15828),p=n(14005),m=n(14921);let f=r.createContext(null);function k(e){let{placement:t,children:n}=e;return(0,o.jsx)(f.Provider,{value:t,children:n})}function b(){let e=r.useContext(f);return null!=e?e:{track:"foundations",course:""}}function S(e,t){let{grade:n,restore:o,allowRetry:s=!n}=e,[a,i]=r.useState(()=>{var e,n;return(null==o?void 0:o.optionId)!=null?(e=t,n=o.optionId,"number"==typeof e?Number(n):n):null}),[l,u]=r.useState(()=>o?o.isCorrect?"correct":"incorrect":"idle"),c=r.useCallback(async()=>{if(null===a)return!1;if(!n){let e=String(a)===String(t);return u(e?"correct":"incorrect"),e}let e=await n(String(a));return!!e&&(u(e.isCorrect?"correct":"incorrect"),e.isCorrect)},[n,t,a]),d=r.useCallback(()=>{u("idle"),i(null)},[]);return{pick:a,setPick:i,status:l,graded:"idle"!==l,canCheck:null!==a,check:c,reset:s?d:void 0}}function v(e){let{question:t,status:n,onCheck:g,onReset:f,canCheck:k=!0,feedback:S,children:v}=e,{track:y,course:x,chrome:C}=b(),T=(0,p.t0)(y),w="correct"===n,j="incorrect"===n,P=(0,s.s)(),N=(0,a.I)(),R=r.useRef(n);r.useEffect(()=>{let e="idle"===R.current;R.current=n,e&&"idle"!==n&&!N&&P.start({opacity:[.55,1],scale:[.985,1],transition:{duration:.42,ease:"easeOut"}})},[n,P,N]);let M="bare"===C;return(0,o.jsxs)("div",{className:M?void 0:"surface surface-glass-subtle rounded-2xl p-5",children:[M?null:(0,o.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"h-2 w-2 rounded-full",style:{background:T.accent}}),(0,o.jsx)("span",{className:"text-[0.66rem] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:x})]}),(0,o.jsx)("h3",{className:"text-[0.98rem] font-semibold leading-snug text-foreground md:text-base",children:t}),(0,o.jsx)(i.P.div,{className:"mt-4 origin-center",animate:P,children:v}),M&&(w||j)?null:(0,o.jsx)("div",{className:"mt-4 flex min-h-[2.5rem] items-center gap-3",children:w||j?(0,o.jsxs)(i.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25},className:"flex w-full items-center gap-3",children:[(0,o.jsxs)("span",{className:(0,d.cn)("inline-flex items-center gap-1.5 text-sm font-semibold",w?"text-success-text":"text-destructive-text"),children:[w?(0,o.jsx)(l.A,{className:"h-4 w-4"}):(0,o.jsx)(u.A,{className:"h-4 w-4"})," ",S]}),f?(0,o.jsxs)("button",{type:"button",onClick:f,"aria-label":h.S.learn.a11y.retryWidget,className:"ml-auto inline-flex cursor-pointer items-center gap-1 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",children:[(0,o.jsx)(c.A,{className:"h-3.5 w-3.5"})," Retry"]}):null]}):(0,o.jsx)("div",{className:"flex w-full justify-end",children:(0,o.jsx)(m.V,{disabled:!k,onCheck:async()=>await g()})})})]})}function y(e){let{children:t,className:n}=e;return(0,o.jsx)("div",{className:(0,d.cn)("rounded-xl bg-foreground
1/[0.03] p-2",n),children:t})}function x(e){let{options:t,value:n,onSelect:r,columns:s=1,accent:a="#10b981",revealed:c=!1,correctId:h,disabled:p=!1}=e,m=(0,g.Y)();return(0,o.jsx)("div",{className:(0,d.cn)("grid gap-2",{1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"}[s]),children:t.map(e=>{let t=n===e.id,s=c&&h===e.id,g=c&&t&&e.id!==h,f=c&&!s&&!g;return(0,o.jsxs)(i.P.button,{type:"button",disabled:p,onClick:()=>{p||(m.play("selection.change"),r(e.id))},whileTap:c||p?void 0:{scale:.98},"aria-pressed":t,className:(0,d.cn)("relative flex min-h-[2.75rem] flex-col items-center justify-center gap-1 rounded-xl border p-3 text-center transition-all","border-foreground/10 bg-foreground/[0.02]",!c&&!p&&"cursor-pointer hover:border-foreground/25",c&&"cursor-default",f&&"border-foreground/5"),style:s?{borderColor:"#10b981",background:"rgba(16,185,129,0.08)"}:g?{borderColor:"#f43f5e",background:"rgba(244,63,94,0.08)"}:t?{borderColor:a,boxShadow:"inset 0 0 0 1px ".concat(a),background:"".concat(a,"0f")}:void 0,children:[e.figure?(0,o.jsx)("div",{className:(0,d.cn)("w-full",f&&"opacity-45"),children:e.figure}):null,null!=e.label?(0,o.jsx)("span",{className:(0,d.cn)("w-full min-w-0 px-3 text-sm font-semibold leading-tight",s?"text-success-text":f?"text-muted-foreground":"text-foreground",e.figure?"mt-0.5":""),children:e.label}):null,null!=e.hint?(0,o.jsx)("span",{className:"w-full min-w-0 px-3 text-[0.7rem] leading-tight text-muted-foreground",children:e.hint}):null,s?(0,o.jsx)(i.P.span,{initial:{scale:0},animate:{scale:1},transition:{type:"spring",stiffness:500,damping:22},className:"absolute right-1.5 top-1.5 text-success-text",children:(0,o.jsx)(l.A,{className:"h-3.5 w-3.5",strokeWidth:3})}):null,g?(0,o.jsx)(i.P.span,{initial:{scale:0},animate:{scale:1},transition:{type:"spring",stiffness:500,damping:22},className:"absolute right-1.5 top-1.5 text-destructive-text",children:(0,o.jsx)(u.A,{className:"h-3.5 w-3.5",strokeWidth:3})}):null]},e.id)})})}function C(e){let{groups:t,columns:n=20,gap:r=3,dotSize:s=9}=e,a=[],l=0;for(let e of t)for(let t=0;t<e.count;t++)a.push({color:e.color,ring:e.ring,key:l++});return(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"grid w-full",style:{gridTemplateColumns:"repeat(".concat(n,", minmax(0, 1fr))"),gap:r},"aria-hidden":!0,children:a.map(e=>(0,o.jsx)(i.P.span,{initial:!1,animate:{backgroundColor:e.color},transition:{duration:.35,delay:Math.min(.4,.004*e.key)},className:"aspect-square rounded-full",style:{height:s,width:s,boxShadow:e.ring?"0 0 0 1.5px ".concat(e.color):void 0}},e.key))}),t.some(e=>null!=e.label)?(0,o.jsx)("div",{className:"mt-2.5 flex flex-wrap gap-x-4 gap-y-1",children:t.map((e,t)=>null!=e.label?(0,o.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[0.72rem] font-medium text-muted-foreground",children:[(0,o.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{background:e.color}}),e.label]},t):null)}):null]})}function T(e){var t,n;let{days:r,bracket:s,accent:a="#10b981"}=e;return(0,o.jsxs)("div",{children:[s?(0,o.jsx)("div",{className:"mb-1 grid",style:{gridTemplateColumns:"repeat(".concat(r.length,", minmax(0, 1fr))"),gap:4},children:(0,o.jsx)("div",{className:"col-span-full flex items-center justify-center rounded-t border-x border-t text-[0.6rem] font-medium",style:{gridColumn:"".concat(s.from+1," / ").concat(s.to+2),borderColor:null!=(t=s.color)?t:a,color:null!=(n=s.color)?n:a,height:16},children:s.label})}):null,(0,o.jsx)("div",{className:"grid",style:{gridTemplateColumns:"repeat(".concat(r.length,", minmax(0, 1fr))"),gap:4},children:r.map((e,t)=>{let n=(e=>{switch(e){case"now":return{bg:"".concat(a,"26"),fg:a};case"future":return{bg:"rgba(244,63,94,0.14)",fg:"#f43f5e"};case"past":return{bg:"rgba(148,163,184,0.14)",fg:"hsl(var(--foreground))"};default:return{bg:"rgba(148,163,184,0.06)",fg:"hsl(var(--muted-foreground))"}}})(e.tone);return(0,o.jsx)("div",{className:"flex h-9 items-center justify-center rounded text-[0.64rem] font-semibold",style:{background:n.bg,color:n.fg},children:e.label},t)})})]})}function w(e){let{label:t,vals:n,accent:r}=e;return(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("span",{className:"w-14 shrink-0 font-mono text-[0.62rem] text-muted-foreground",children:t}),n.map((e,t)=>(0,o.jsx)("span",{className:"flex h-6 min-w-8 flex-1 items-center justify-center rounded font-mono text-[0.7rem] tabular-nums",style:r?{background:"".concat(r,"22"),color:r,fontWeight:600}:{background:"rgba(148,163,184,0.14)",color:"hsl(var(--foreground))"},children:e},t))]})}function j(e){let{steps:t,badIndex:n}=e;return(0,o.jsx)("div",{className:"flex w-full flex-wrap items-center justify-center gap-1",children:t.map((e,s)=>(0,o.jsxs)(r.Fragment,{children:[(0,o.jsx)("span",{className:"rounded-md px-1.5 py-0.5 text-[0.68rem] font-medium",style:{background:n===s?"rgba(244,63,94,0.12)":"rgba(148,163,184,0.12)",color:n===s?"#f43f5e":"hsl(var(--foreground))"},children:e}),s<t.length-1?(0,o.jsx)("span",{className:"text-[0.6rem] text-muted-foreground","aria-hidden":!0,
1children:"→"}):null]},s))})}function P(e){let{label:t,value:n,accent:r}=e;return(0,o.jsxs)("div",{className:"flex items-baseline justify-center gap-2 tabular-nums",children:[(0,o.jsx)("span",{className:"text-[0.7rem] font-medium uppercase tracking-wide text-muted-foreground",children:t}),(0,o.jsx)("span",{className:"text-2xl font-bold leading-none",style:r?{color:r}:void 0,children:n})]})}let N=r.createContext(null);function R(){let e=r.useContext(N);if(!e)throw Error("usePlot must be used inside <Plot>");return e}function M(e){let{xDomain:t,yDomain:n,height:s=200,width:a=340,pad:i={l:34,r:12,t:10,b:22},children:l,className:u,onPointer:c}=e,g=a-i.l-i.r,h=s-i.t-i.b,[p,m]=t,[f,k]=n,b=r.useMemo(()=>({sx:e=>i.l+(e-p)/(m-p)*g,sy:e=>i.t+(1-(e-f)/(k-f))*h,ix:e=>p+(e-i.l)/g*(m-p),iy:e=>f+(1-(e-i.t)/h)*(k-f),w:a,h:s,pad:i,xDomain:t,yDomain:n}),[p,m,f,k,g,h,i,a,s,t,n]),S=r.useRef(null),v=r.Children.toArray(l).some(e=>r.isValidElement(e)&&e.type===O),y=e=>{if(!c||!S.current)return;let t=S.current.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*a,o=(e.clientY-t.top)/t.height*s;c(b.ix(n),b.iy(o))};return(0,o.jsx)(N.Provider,{value:b,children:(0,o.jsx)("svg",{ref:S,viewBox:"0 0 ".concat(a," ").concat(s),className:(0,d.cn)("w-full touch-none select-none",u),role:v?"group":"img",onPointerDown:c?e=>{var t,n;null==(t=(n=e.target).setPointerCapture)||t.call(n,e.pointerId),y(e)}:void 0,onPointerMove:c?e=>{e.buttons&&y(e)}:void 0,children:l})})}function F(e){return Math.max(8,Math.round(e/30))}function D(e){let{xTicks:t,yTicks:n,xFmt:r=e=>"".concat(e),yFmt:s=e=>"".concat(e)}=e,{sx:a,sy:i,pad:l,w:u,h:c}=R(),d=F(u);return(0,o.jsxs)("g",{className:"text-muted-foreground",children:[(0,o.jsx)("line",{x1:l.l,y1:c-l.b,x2:u-l.r,y2:c-l.b,stroke:"currentColor",strokeOpacity:.18}),n.map(e=>(0,o.jsxs)("g",{children:[(0,o.jsx)("line",{x1:l.l,y1:i(e),x2:u-l.r,y2:i(e),stroke:"currentColor",strokeOpacity:.06}),(0,o.jsx)("text",{x:l.l-5,y:i(e),textAnchor:"end",dominantBaseline:"middle",fontSize:d,fill:"currentColor",opacity:.7,children:s(e)})]},"y".concat(e))),t.map(e=>(0,o.jsx)("text",{x:a(e),y:c-l.b+d+3,textAnchor:"middle",fontSize:d,fill:"currentColor",opacity:.7,children:r(e)},"x".concat(e)))]})}function B(e){let{data:t,color:n="#10b981",width:r=2,dashed:s=!1,opacity:a=1}=e,{sx:i,sy:l}=R();if(t.length<2)return null;let u=t.map((e,t)=>{let[n,o]=e;return"".concat(t?"L":"M").concat(i(n).toFixed(1),",").concat(l(o).toFixed(1))}).join(" ");return(0,o.jsx)("path",{d:u,fill:"none",stroke:n,strokeWidth:r,strokeLinejoin:"round",strokeLinecap:"round",opacity:a,strokeDasharray:s?"4 4":void 0})}function E(e){let{data:t,baseline:n,color:r="#10b981",opacity:s=.16}=e,{sx:a,sy:i}=R();if(t.length<2)return null;let l=t.map((e,t)=>{let[n,o]=e;return"".concat(t?"L":"M").concat(a(n).toFixed(1),",").concat(i(o).toFixed(1))}).join(" "),u="".concat(l," L").concat(a(t[t.length-1][0]).toFixed(1),",").concat(i(n).toFixed(1)," L").concat(a(t[0][0]).toFixed(1),",").concat(i(n).toFixed(1)," Z");return(0,o.jsx)("path",{d:u,fill:r,opacity:s})}function _(e){let{x:t,y:n,r=4,color:s="#10b981",stroke:a=!0,opacity:i=1}=e,{sx:l,sy:u}=R();return(0,o.jsx)("circle",{cx:l(t),cy:u(n),r:r,fill:s,opacity:i,stroke:a?"white":void 0,strokeWidth:1.25*!!a})}function W(e){let{x:t,color:n="currentColor",dashed:r=!0,width:s=1.5}=e,{sx:a,sy:i,yDomain:l}=R();return(0,o.jsx)("line",{x1:a(t),y1:i(l[1]),x2:a(t),y2:i(l[0]),stroke:n,strokeWidth:s,strokeDasharray:r?"4 4":void 0})}function z(e){let{y:t,color:n="currentColor",dashed:r=!0,width:s=1.5}=e,{sx:a,sy:i,xDomain:l}=R();return(0,o.jsx)("line",{x1:a(l[0]),y1:i(t),x2:a(l[1]),y2:i(t),stroke:n,strokeWidth:s,strokeDasharray:r?"4 4":void 0})}function O(e){let{count:t=4,pick:n,onPick:s,graded:a,correctIndex:i,accent:l="#10b981",label:u=e=>"Q".concat(e+1)}=e,{sx:c,pad:d,h:g,w:h,xDomain:p}=R(),m=F(h),[f,k]=r.useState(null),[b,S]=r.useState(null),v=r.useId(),y=d.t,x=g-d.b,[C,T]=p,w=(T-C)/t;return(0,o.jsx)(o.Fragment,{children:Array.from({length:t},(e,t)=>{let r=c(C+t*w),d=c(C+(t+1)*w),g=n===t,h=!a&&f===t,p=a&&t===i,T=a&&g&&t!==i,j=p?l:T?"#f43f5e":g?l:h?"".concat(l,"99"):"rgba(148,163,184,0.28)",P=p?"".concat(l,"26"):g&&!a?"".concat(l,"12"):h?"".concat(l,"0a"):"transparent",N="".concat(v,"-band-").concat(t),R=!a&&b===t;return(0,o.jsxs)("g",{role:"button",tabIndex:a?-1:0,"aria-pressed":g,"aria-disabled":a||void 0,"aria-labelledby":N,onClick:a?void 0:()=>s(t),onKeyDown:a?void 0:e=>{var n;("Enter"===(n=e.key)||" "===n||"Spacebar"===n)&&(e.preventDefault(),s(t))},onFocus:e=>{let n=e.currentTarget;S("function"!=typeof n.matches||n.matches(":focus-visible")?t:null)},onBlur:()=>S(e=>e===t?null:e),onPointerEnter:a?void 0:()=>k(t),onPointerLeave:a?void 0:()=>k(e=>e===t?null:e),style:{cursor:a?"default":"pointer",outline:"none"},children:[(0,o.jsx)("rect",{x:r+1,y:y,width:d-r-2,height:x-y,fill:P,stroke:j,strokeWidth:g||p||T?1.25:1,strokeDasharray:g||a||h?void 0:"3 3",rx:4}),R?(0,o.jsx)("rect",{"data-focus-ring":"",x:r-.5,y:y-1.5,width:d-r+1,height:x-y+3,fill:"none",stroke:"hsl(var(--ring))",strokeWidth:2,rx:5,pointerEvents:"none"}):null,(0,o.jsx)("text",{id:N,x:(r+d)/2,y:x+m+4,textAnchor:"middle",fontSize:m,fill:"
1currentColor",opacity:h||R?.9:.6,children:u(t)})]},t)})})}function I(e,t){return[...e].map(e=>({o:e,k:(e=>{let t=0x811c9dc5;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193)>>>0;return t})("".concat(t,"/").concat(e.id))})).sort((e,t)=>e.k-t.k||(e.o.id<t.o.id?-1:+(e.o.id>t.o.id))).map(e=>e.o)}function L(e){let t=e>>>0;return()=>{t|=0;let e=Math.imul((t=t+0x6d2b79f5|0)^t>>>15,1|t);return(((e=e+Math.imul(e^e>>>7,61|e)^e)^e>>>14)>>>0)/0x100000000}}function A(e){let t=0,n=0;for(;0===t;)t=e();for(;0===n;)n=e();return Math.sqrt(-2*Math.log(t))*Math.cos(2*Math.PI*n)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.