semiotic 3.8.5 → 3.8.7
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.
- package/CLAUDE.md +37 -10
- package/README.md +83 -56
- package/ai/behaviorContracts.cjs +88 -3
- package/ai/componentMetadata.cjs +5 -10
- package/ai/dist/mcp-server.js +99 -10
- package/ai/examples.md +198 -9
- package/ai/schema.json +2002 -165
- package/ai/surface-manifest.json +14 -10
- package/ai/system-prompt.md +9 -3
- package/dist/{chunk-chartContainerDataAudit-74TLKIP6.module.min.js → chunk-chartContainerDataAudit-JDSVSKGM.module.min.js} +1 -1
- package/dist/chunk-chunk-2JGJ5GUG.module.min.js +1 -0
- package/dist/chunk-chunk-2YAZHXL4.module.min.js +2 -0
- package/dist/chunk-chunk-3NGIKFD6.module.min.js +1 -0
- package/dist/{chunk-chunk-G7WFWHAD.module.min.js → chunk-chunk-4ITOQRXM.module.min.js} +1 -1
- package/dist/chunk-chunk-5SD6BHVW.module.min.js +2 -0
- package/dist/chunk-chunk-6V5VQVCT.module.min.js +2 -0
- package/dist/chunk-chunk-7TTBHSAG.module.min.js +2 -0
- package/dist/chunk-chunk-7ZDJSYKI.module.min.js +2 -0
- package/dist/chunk-chunk-BGHPD3RA.module.min.js +1 -0
- package/dist/chunk-chunk-BMRZ2SPU.module.min.js +2 -0
- package/dist/chunk-chunk-BNGBEY7N.module.min.js +2 -0
- package/dist/chunk-chunk-C7APLVQD.module.min.js +2 -0
- package/dist/chunk-chunk-DGWFBOGB.module.min.js +1 -0
- package/dist/chunk-chunk-DIVE2DRA.module.min.js +2 -0
- package/dist/chunk-chunk-FBUNUIPV.module.min.js +2 -0
- package/dist/chunk-chunk-FQPKOAIH.module.min.js +2 -0
- package/dist/chunk-chunk-FRO4TRXK.module.min.js +2 -0
- package/dist/chunk-chunk-G7QVPZUD.module.min.js +2 -0
- package/dist/chunk-chunk-GBPYV4FP.module.min.js +2 -0
- package/dist/chunk-chunk-GU2EJIDJ.module.min.js +2 -0
- package/dist/chunk-chunk-J5QD4RAM.module.min.js +2 -0
- package/dist/{chunk-chunk-LJLS6DY7.module.min.js → chunk-chunk-JWXLNZSM.module.min.js} +1 -1
- package/dist/chunk-chunk-KXAFCCDB.module.min.js +2 -0
- package/dist/chunk-chunk-LG7YKJAK.module.min.js +2 -0
- package/dist/{chunk-chunk-I36PJ4OC.module.min.js → chunk-chunk-LVHDZAT3.module.min.js} +1 -1
- package/dist/chunk-chunk-LWITSR2O.module.min.js +2 -0
- package/dist/chunk-chunk-MX35T6RX.module.min.js +2 -0
- package/dist/chunk-chunk-NH4MEAKP.module.min.js +2 -0
- package/dist/chunk-chunk-NJETWX42.module.min.js +2 -0
- package/dist/chunk-chunk-NW25WGLS.module.min.js +2 -0
- package/dist/{chunk-chunk-TMWIZL3K.module.min.js → chunk-chunk-OI7R7EJB.module.min.js} +1 -1
- package/dist/chunk-chunk-ONMLEXHR.module.min.js +2 -0
- package/dist/chunk-chunk-OY66GCE6.module.min.js +1 -0
- package/dist/chunk-chunk-PZFT457G.module.min.js +1 -0
- package/dist/chunk-chunk-Q3WW6JGR.module.min.js +1 -0
- package/dist/chunk-chunk-Q6XKQTOQ.module.min.js +1 -0
- package/dist/chunk-chunk-RJRM2E6P.module.min.js +1 -0
- package/dist/chunk-chunk-RPL7WYXI.module.min.js +1 -0
- package/dist/chunk-chunk-SV4XAZ3Q.module.min.js +1 -0
- package/dist/chunk-chunk-TSCFL235.module.min.js +1 -0
- package/dist/chunk-chunk-UOQRPGPK.module.min.js +2 -0
- package/dist/chunk-chunk-V3OAKG32.module.min.js +1 -0
- package/dist/chunk-chunk-WLOIUMWG.module.min.js +2 -0
- package/dist/chunk-chunk-XEGXX4F7.module.min.js +1 -0
- package/dist/chunk-chunk-XFRBLXYM.module.min.js +1 -0
- package/dist/chunk-chunk-Z2AJERX5.module.min.js +2 -0
- package/dist/chunk-chunk-ZXYDYAB7.module.min.js +2 -0
- package/dist/components/ai/SemioticVACPBridge.d.ts +22 -0
- package/dist/components/ai/chartCapabilities.d.ts +5 -3
- package/dist/components/ai/conversationArc.d.ts +2 -176
- package/dist/components/ai/conversationArcTypes.d.ts +202 -0
- package/dist/components/ai/readerGrounding.d.ts +12 -0
- package/dist/components/ai/vacpAdapter.d.ts +13 -0
- package/dist/components/ai/vacpAdapterActions.d.ts +2 -0
- package/dist/components/ai/vacpAdapterModel.d.ts +7 -0
- package/dist/components/ai/vacpAdapterRuntime.d.ts +26 -0
- package/dist/components/ai/vacpAdapterState.d.ts +3 -0
- package/dist/components/ai/vacpAdapterTypes.d.ts +169 -0
- package/dist/components/ai/vacpTypes.d.ts +160 -0
- package/dist/components/charts/custom/XYCustomChart.d.ts +3 -0
- package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
- package/dist/components/charts/index.d.ts +7 -4
- package/dist/components/charts/ordinal/BarChart.d.ts +7 -14
- package/dist/components/charts/ordinal/GaugeChart.d.ts +3 -0
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +3 -0
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +3 -0
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -14
- package/dist/components/charts/physics/ChainReactionChart.capability.d.ts +9 -0
- package/dist/components/charts/physics/ChainReactionChart.d.ts +29 -0
- package/dist/components/charts/physics/CollisionSwarmChart.d.ts +1 -1
- package/dist/components/charts/physics/EventDropChart.d.ts +7 -2
- package/dist/components/charts/physics/GaltonBoardChart.d.ts +1 -1
- package/dist/components/charts/physics/{PhysicsPileChart.capability.d.ts → PacketFlowChart.capability.d.ts} +1 -1
- package/dist/components/charts/physics/{PhysicalFlowChart.d.ts → PacketFlowChart.d.ts} +22 -6
- package/dist/components/charts/physics/PhysicsCustomChart.d.ts +1 -1
- package/dist/components/charts/physics/ProcessFlowChart.d.ts +7 -4
- package/dist/components/charts/physics/{PhysicalFlowChart.capability.d.ts → UnitPileChart.capability.d.ts} +1 -1
- package/dist/components/charts/physics/{PhysicsPileChart.d.ts → UnitPileChart.d.ts} +19 -6
- package/dist/components/charts/physics/crucibleChartProps.d.ts +1 -1
- package/dist/components/charts/physics/crucibleChartUtils.d.ts +9 -0
- package/dist/components/charts/physics/gauntletChartProps.d.ts +6 -1
- package/dist/components/charts/physics/gauntletTerminal.d.ts +61 -0
- package/dist/components/charts/physics/packetFlowSemantics.d.ts +6 -0
- package/dist/components/charts/physics/physicsHocUtils.d.ts +45 -2
- package/dist/components/charts/shared/auditAccessibilityStyles.d.ts +9 -0
- package/dist/components/charts/shared/chartSpecCore.d.ts +2 -4
- package/dist/components/charts/shared/gaugeGradient.d.ts +4 -8
- package/dist/components/charts/shared/gradient.d.ts +35 -0
- package/dist/components/charts/shared/hatchFill.d.ts +3 -10
- package/dist/components/charts/shared/hooks.d.ts +2 -50
- package/dist/components/charts/shared/knownChartComponents.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +1 -2
- package/dist/components/charts/shared/useChartLegend.d.ts +65 -0
- package/dist/components/charts/shared/useChartSetup.d.ts +12 -0
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +6 -1
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +1 -0
- package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
- package/dist/components/charts/xy/AreaChart.d.ts +25 -42
- package/dist/components/charts/xy/BumpChart.capability.d.ts +11 -0
- package/dist/components/charts/xy/BumpChart.d.ts +161 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +3 -10
- package/dist/components/charts/xy/Heatmap.d.ts +3 -0
- package/dist/components/charts/xy/LineChart.d.ts +6 -8
- package/dist/components/data/portability/capabilityBinding.d.ts +41 -0
- package/dist/components/data/portability/index.d.ts +2 -0
- package/dist/components/geometry/bumpRibbonGeometry.d.ts +36 -0
- package/dist/components/legendLayout.d.ts +75 -1
- package/dist/components/recipes/geographicDotGrid.d.ts +82 -0
- package/dist/components/recipes/geographicGrid.d.ts +100 -0
- package/dist/components/recipes/physics.d.ts +2 -0
- package/dist/components/recipes/physicsStageGeography.d.ts +137 -0
- package/dist/components/semiotic-ai.d.ts +6 -4
- package/dist/components/semiotic-experimental-vacp.d.ts +11 -0
- package/dist/components/semiotic-experimental.d.ts +6 -3
- package/dist/components/semiotic-geo.d.ts +5 -0
- package/dist/components/semiotic-network.d.ts +1 -0
- package/dist/components/semiotic-ordinal.d.ts +2 -0
- package/dist/components/semiotic-physics.d.ts +10 -6
- package/dist/components/semiotic-realtime-core.d.ts +1 -0
- package/dist/components/semiotic-recipes-core.d.ts +6 -1
- package/dist/components/semiotic-server-edge.d.ts +1 -1
- package/dist/components/semiotic-server.d.ts +1 -1
- package/dist/components/semiotic-xy.d.ts +4 -0
- package/dist/components/semiotic.d.ts +4 -4
- package/dist/components/server/renderEvidence.d.ts +1 -1
- package/dist/components/server/renderToStaticSVG.d.ts +2 -1
- package/dist/components/server/serverChartConfigHeatmap.d.ts +6 -0
- package/dist/components/server/serverChartConfigNetworkStyles.d.ts +12 -0
- package/dist/components/server/serverChartConfigShared.d.ts +16 -0
- package/dist/components/server/serverChartConfigs.d.ts +3 -2
- package/dist/components/server/serverChartConfigsPhysics.d.ts +2 -2
- package/dist/components/server/serverChartConfigsXY.d.ts +1 -1
- package/dist/components/server/staticLegend.d.ts +10 -2
- package/dist/components/server/staticSVGChrome.d.ts +14 -6
- package/dist/components/server/staticValue.d.ts +8 -0
- package/dist/components/stream/GeoSVGOverlay.d.ts +4 -10
- package/dist/components/stream/NetworkSVGOverlay.d.ts +2 -6
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -6
- package/dist/components/stream/SVGOverlay.d.ts +2 -6
- package/dist/components/stream/StalenessBadge.d.ts +2 -6
- package/dist/components/stream/geoPipelineConfig.d.ts +10 -0
- package/dist/components/stream/geoTypes.d.ts +3 -6
- package/dist/components/stream/legendRenderer.d.ts +10 -6
- package/dist/components/stream/ordinalTypes.d.ts +7 -31
- package/dist/components/stream/physics/PhysicsEvidence.d.ts +37 -0
- package/dist/components/stream/physics/PhysicsKernel.d.ts +1 -0
- package/dist/components/stream/physics/PhysicsPipelineStore.d.ts +9 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +2 -6
- package/dist/components/stream/physics/PhysicsSettledScene.d.ts +5 -0
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +2 -6
- package/dist/components/stream/physics/physicsFramePipelineConfig.d.ts +19 -0
- package/dist/components/stream/physics/physicsPipelineSettle.d.ts +52 -0
- package/dist/components/stream/physics/physicsRegionRuntime.d.ts +23 -0
- package/dist/components/stream/pipelineConfig.d.ts +7 -15
- package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +9 -69
- package/dist/components/stream/renderers/cornerRadii.d.ts +2 -9
- package/dist/components/stream/renderers/thresholdLineSegments.d.ts +12 -0
- package/dist/components/stream/sceneToSVGShared.d.ts +3 -5
- package/dist/components/stream/types.d.ts +34 -56
- package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +4 -20
- package/dist/components/stream/xySceneBuilders/types.d.ts +6 -6
- package/dist/components/types/legendTypes.d.ts +31 -6
- package/dist/controls.min.js +1 -1
- package/dist/controls.module.min.js +1 -1
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/physics.min.js +1 -1
- package/dist/physics.module.min.js +1 -1
- package/dist/physicsWorker.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai-core.min.js +1 -1
- package/dist/semiotic-ai-core.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +6 -4
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-experimental-vacp.d.ts +11 -0
- package/dist/semiotic-experimental-vacp.min.js +1 -0
- package/dist/semiotic-experimental-vacp.module.min.js +1 -0
- package/dist/semiotic-experimental.d.ts +6 -3
- package/dist/semiotic-experimental.min.js +2 -1
- package/dist/semiotic-experimental.module.min.js +2 -1
- package/dist/semiotic-geo.d.ts +5 -0
- package/dist/semiotic-network.d.ts +1 -0
- package/dist/semiotic-ordinal.d.ts +2 -0
- package/dist/semiotic-physics.d.ts +10 -6
- package/dist/semiotic-realtime-core.d.ts +1 -0
- package/dist/semiotic-realtime-core.min.js +1 -1
- package/dist/semiotic-realtime-core.module.min.js +1 -1
- package/dist/semiotic-recipes-core.d.ts +6 -1
- package/dist/semiotic-recipes-core.min.js +1 -1
- package/dist/semiotic-recipes-core.module.min.js +1 -1
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-server-edge.d.ts +1 -1
- package/dist/semiotic-server-edge.min.js +1 -1
- package/dist/semiotic-server-edge.module.min.js +1 -1
- package/dist/semiotic-server-node.min.js +1 -1
- package/dist/semiotic-server-node.module.min.js +1 -1
- package/dist/semiotic-server.d.ts +1 -1
- package/dist/semiotic-utils-core.min.js +1 -1
- package/dist/semiotic-utils-core.module.min.js +1 -1
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +4 -0
- package/dist/semiotic.d.ts +4 -4
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +18 -2
- package/spec/README.md +94 -2
- package/spec/bindings/README.md +14 -3
- package/spec/v0.1/examples/annotation-provenance-reviewed-revision.json +27 -0
- package/spec/v0.1/examples/annotation-provenance-watcher-threshold.json +21 -0
- package/spec/v0.1/examples/audience-profile-executive-review.json +24 -0
- package/spec/v0.1/examples/audience-profile-incident-operators.json +42 -0
- package/spec/v0.1/examples/chart-capability-bar-comparison.json +48 -0
- package/spec/v0.1/examples/chart-capability-service-flow.json +54 -0
- package/dist/chunk-chunk-4AANPFOX.module.min.js +0 -2
- package/dist/chunk-chunk-5I3UZV4Q.module.min.js +0 -2
- package/dist/chunk-chunk-5RKXZQ2P.module.min.js +0 -1
- package/dist/chunk-chunk-74CCPVXB.module.min.js +0 -1
- package/dist/chunk-chunk-7ALTGHK6.module.min.js +0 -1
- package/dist/chunk-chunk-ANYDWOZF.module.min.js +0 -1
- package/dist/chunk-chunk-AVBI6GDT.module.min.js +0 -1
- package/dist/chunk-chunk-BANTPINB.module.min.js +0 -2
- package/dist/chunk-chunk-C4YA6TDR.module.min.js +0 -1
- package/dist/chunk-chunk-C57LR3YG.module.min.js +0 -1
- package/dist/chunk-chunk-CKMD5NV3.module.min.js +0 -2
- package/dist/chunk-chunk-CO5KQMGH.module.min.js +0 -1
- package/dist/chunk-chunk-CWQ5YIHX.module.min.js +0 -2
- package/dist/chunk-chunk-E6TXX6MI.module.min.js +0 -1
- package/dist/chunk-chunk-GMQ5AYTD.module.min.js +0 -1
- package/dist/chunk-chunk-JCG72SGW.module.min.js +0 -2
- package/dist/chunk-chunk-K3DMEW22.module.min.js +0 -1
- package/dist/chunk-chunk-KT2VAZMZ.module.min.js +0 -1
- package/dist/chunk-chunk-L6EA5V3G.module.min.js +0 -2
- package/dist/chunk-chunk-LJPCLYSC.module.min.js +0 -2
- package/dist/chunk-chunk-LRIFN2HK.module.min.js +0 -1
- package/dist/chunk-chunk-N5DDKCCF.module.min.js +0 -1
- package/dist/chunk-chunk-NEVE562N.module.min.js +0 -1
- package/dist/chunk-chunk-NLO44TOS.module.min.js +0 -2
- package/dist/chunk-chunk-PZJ2SBLL.module.min.js +0 -2
- package/dist/chunk-chunk-QSQVBIJA.module.min.js +0 -1
- package/dist/chunk-chunk-QUJ6TTLY.module.min.js +0 -1
- package/dist/chunk-chunk-RBIDBUT4.module.min.js +0 -2
- package/dist/chunk-chunk-RCF52Z42.module.min.js +0 -2
- package/dist/chunk-chunk-RFLAG356.module.min.js +0 -1
- package/dist/chunk-chunk-RPU4IZAV.module.min.js +0 -2
- package/dist/chunk-chunk-SKMBCFIL.module.min.js +0 -2
- package/dist/chunk-chunk-TAE7W424.module.min.js +0 -2
- package/dist/chunk-chunk-TUBMTZMU.module.min.js +0 -2
- package/dist/chunk-chunk-UFFEXJQY.module.min.js +0 -1
- package/dist/chunk-chunk-XSCHTS4D.module.min.js +0 -2
- package/dist/chunk-chunk-XXWSHGPL.module.min.js +0 -2
- package/dist/chunk-chunk-ZOAQDIJO.module.min.js +0 -1
- package/dist/chunk-chunk-ZXIXAPRE.module.min.js +0 -2
- package/dist/chunk-statisticalOverlays-QGDLRUHX.module.min.js +0 -1
- package/dist/chunk-statisticalOverlays-T77OKLDY.module.min.js +0 -1
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{auditAccessibility as e,buildReaderGrounding as t,configToJSX as r,diagnoseConfig as s,formatAccessibilityAudit as o,toConfig as i}from"./chunk-chunk-UFFEXJQY.module.min.js";import{composePhysicsControllers as a}from"./chunk-chunk-GMQ5AYTD.module.min.js";import"./chunk-chunk-2CXCXRB4.module.min.js";import{commonJsWorkerModuleUrl as n}from"./chunk-chunk-SV4XAZ3Q.module.min.js";import{buildPhysicsNavigationTree as l,buildPhysicsSettledEvidence as c,buildPhysicsSettledProjection as d,buildPhysicsSettledScene as u,physicsBodiesToXYSceneNodes as f,physicsBodyToXYSceneNode as y,physicsObservationAnnouncement as p,renderPhysicsSettledSVG as h,resolveCustomLayout as m}from"./chunk-chunk-K3DMEW22.module.min.js";import"./chunk-chunk-NEVE562N.module.min.js";import{BuiltInPhysicsEngineAdapter as k,PhysicsPipelineStore as x,PhysicsSedimentAccumulator as v,collidersFromPlotBounds as b,collidersFromXScaleBins as g,createDefaultPhysicsEngineAdapter as C,evaluatePhysicsBodyBudget as W,schedulePhysicsSpawns as w,sedimentHeightfield as A}from"./chunk-chunk-LRIFN2HK.module.min.js";import"./chunk-chunk-SIRIJ3DY.module.min.js";import{ANNOTATION_DISCLOSURE_REVEAL_CSS as S,AriaLiveTooltip as M,CanvasFrameBackground as B,FlippingTooltip as L,FocusRing as F,SafeRender as P,SceneRevisionDiagnosticsObserver as I,ScreenReaderSummary as z,SkipToTableLink as D,coerceCanvasFill as $,createDefaultAnnotationRules as T,filterSparseArray as R,getDevicePixelRatio as E,isInteractiveKeyboardTarget as j,isServerEnvironment as N,prepareCanvas as _,renderAnnotationPass as O,renderEmptyState as q,renderLegendFromConfig as Q,renderLoadingState as H,useChartMode as V,useDataSummary as Z,useFrame as G,useFrameCanvasHost as U,useHydration as X,useSceneRevisionDiagnostics as Y,useWasHydratingFromSSR as J}from"./chunk-chunk-E6TXX6MI.module.min.js";import"./chunk-chunk-XEVJDUTH.module.min.js";import{coerceTemporalStringRows as K,defaultTooltipStyle as ee,normalizeTooltip as te,useAnnotationActivationOptions as re}from"./chunk-chunk-CO5KQMGH.module.min.js";import{annotationLayout as se}from"./chunk-chunk-5RKXZQ2P.module.min.js";import"./chunk-chunk-U66USBWU.module.min.js";import{fromVegaLiteResult as oe,unwrapIDIDEnrichedVegaLiteSpec as ie}from"./chunk-chunk-QSQVBIJA.module.min.js";import"./chunk-chunk-JJ2OOIET.module.min.js";import{resolveCSSColor as ae}from"./chunk-chunk-IY7RYD4S.module.min.js";import"./chunk-chunk-J3QOW4OE.module.min.js";import{LIGHT_THEME as ne,resolveThemeSemanticColors as le,useThemeSelector as ce}from"./chunk-chunk-DSNGDNJY.module.min.js";import{createElement as de,Fragment as ue}from"react";var fe="unstable-gofish-displaylist-adapter";function ye(e){switch(e.kind){case"rect":case"image":return{x:e.x,y:e.y,w:e.w,h:e.h};case"ellipse":return{x:e.cx-e.rx,y:e.cy-e.ry,w:2*e.rx,h:2*e.ry};case"path":return function(e){const t=e.match(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi);if(!t||2>t.length)return null;let r=1/0,s=1/0,o=-1/0,i=-1/0;for(let e=0;t.length>e+1;e+=2){const a=parseFloat(t[e]),n=parseFloat(t[e+1]);Number.isFinite(a)&&(r=Math.min(r,a),o=Math.max(o,a)),Number.isFinite(n)&&(s=Math.min(s,n),i=Math.max(i,n))}return Number.isFinite(r)&&Number.isFinite(s)?{x:r,y:s,w:o-r,h:i-s}:null}(e.d);case"text":return function(e){const t=e.fontSize??12,r=Math.max(1,(e.text+"").length*t*.6),s=e.textAnchor??"start";return{x:"middle"===s?e.x-r/2:"end"===s?e.x-r:e.x,y:e.y-t,w:r,h:1.2*t}}(e);case"composite":case"mask":return e.bbox;case"group":return null}}var pe={tx:0,ty:0,sx:1,sy:1};function he(e,t){return{x:e.x*t.sx+t.tx,y:e.y*t.sy+t.ty,w:e.w*t.sx,h:e.h*t.sy}}function me(e,t){const[r=0,s=0]=t.translate??[],[o=1,i=1]=t.scale??[];return{tx:e.tx+r*e.sx,ty:e.ty+s*e.sy,sx:e.sx*o,sy:e.sy*i}}function ke(e){if(null!=e.datum)return e.datum;let t;if("group"===e.kind?t=e.children:"composite"===e.kind?t=[...e.source,...e.dest]:"mask"===e.kind&&(t=[...e.mask,...e.content]),t)for(const e of t){const t=ke(e);if(null!=t)return t}}function xe(e){return null==e?null:Array.isArray(e)?0===e.length?null:1===e.length?e[0]:{...e[0],_rows:e}:e}function ve(e,t,r){const s=function(e){if(!e)return{};const t={};return void 0!==e.fill&&(t.fill=e.fill),void 0!==e.stroke&&(t.stroke=e.stroke),void 0!==e.strokeWidth&&(t.strokeWidth=e.strokeWidth),void 0!==e.strokeDasharray&&(t.strokeDasharray=e.strokeDasharray),void 0!==e.opacity&&(t.opacity=e.opacity),void 0!==e.fillOpacity&&(t.fillOpacity=e.fillOpacity),void 0!==e.filter&&(t.filter=e.filter),void 0!==e.mixBlendMode&&(t.style={mixBlendMode:e.mixBlendMode}),t}(e.style);switch(e.kind){case"rect":return de("rect",{key:t,x:e.x,y:e.y,width:e.w,height:e.h,...void 0!==e.rx?{rx:e.rx}:{},...void 0!==e.ry?{ry:e.ry}:{},...s});case"ellipse":return de("ellipse",{key:t,cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,...s});case"path":return de("path",{key:t,d:e.d,...s});case"text":return de("text",{key:t,x:e.x,y:e.y,...void 0!==e.fontSize?{fontSize:e.fontSize}:{},...void 0!==e.fontFamily?{fontFamily:e.fontFamily}:{},...void 0!==e.textAnchor?{textAnchor:e.textAnchor}:{},...void 0!==e.dominantBaseline?{dominantBaseline:e.dominantBaseline}:{},...void 0!==e.rotate?{transform:`rotate(${e.rotate} ${e.x} ${e.y})`}:{},...s},e.text);case"image":return de("image",{key:t,x:e.x,y:e.y,width:e.w,height:e.h,href:e.href,...void 0!==e.preserveAspectRatio?{preserveAspectRatio:e.preserveAspectRatio}:{},...s});case"group":{const o=[];return e.transform.translate&&o.push(`translate(${e.transform.translate[0]} ${e.transform.translate[1]})`),e.transform.scale&&o.push(`scale(${e.transform.scale[0]} ${e.transform.scale[1]})`),de("g",{key:t,...o.length?{transform:o.join(" ")}:{},...s},e.children.map((e,s)=>ve(e,`${t}-${s}`,r)))}case"composite":case"mask":return function(e,t,r){const s="gf-comp-"+r.compositeId++,o=s+"-source",i=s+"-destination";if("mask"===e.kind){const a=s+"-mask";return de(ue,{key:t},de("defs",null,de("g",{id:o},e.mask.map((e,t)=>ve(e,`${a}-m-${t}`,r))),de("g",{id:i},e.content.map((e,t)=>ve(e,`${a}-c-${t}`,r))),de("mask",{id:a,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"},de("use",{href:"#"+o}))),de("use",{href:"#"+i,mask:`url(#${a})`}))}const{x:a,y:n,w:l,h:c}=e.bbox,d=`translate(${a} ${n})`,u=e.blendMode,f="atop"===e.operator||"in"===e.operator,y=s+"-desat",p=s+"-cov",h=e.source.map((e,t)=>ve(e,`${s}-s-${t}`,r)),m=e.dest.map((e,t)=>ve(e,`${s}-d-${t}`,r)),k=[];return u&&k.push(de("filter",{key:"desat",id:y},de("feColorMatrix",{type:"saturate",values:"0"}))),f&&k.push(de("mask",{key:"cov",id:p,maskUnits:"userSpaceOnUse",x:a,y:n,width:l,height:c,style:{maskType:"alpha"}},de("g",{transform:d},e.source.map((e,t)=>ve(e,`${s}-m-${t}`,r))))),de(ue,{key:t},k.length?de("defs",{key:"defs"},k):null,de("g",{key:"g",...f?{mask:`url(#${p})`}:{}},de("g",{transform:d,style:{isolation:"isolate"}},de("g",u?{filter:`url(#${y})`}:null,h),de("g",u?{style:{mixBlendMode:u}}:null,m))))}(e,t,r)}}function be(e,t,r,s){for(const o of e){if("group"===o.kind){be(o.children,me(t,o.transform),r,s);continue}const e=o.role??"node",i=xe(ke(o));if("node"!==e||!i||"text"===o.kind)continue;const a=ye(o);if(!a)continue;const n=he(a,t);n.w>0&&n.h>0&&(r.push({type:"rect",x:n.x,y:n.y,w:n.w,h:n.h,style:{fill:"rgba(0,0,0,0)",stroke:"none"},datum:i,id:o.id??"gofish-node-"+s.n}),s.n+=1)}}function ge(e,t){for(const r of e){if("group"===r.kind){ge(r.children,t);continue}if("node"!==(r.role??"node")||"text"===r.kind)continue;const e=xe(ke(r));e&&t.push(e)}}function Ce(e){return t=>{const r=t.config?.displayList??e,s=[];be(r.items,pe,s,{n:0});const o={compositeId:0};return{sceneNodes:s,overlays:de("g",{className:"semiotic-gofish-displaylist","data-gofish-ir":r.ir},r.items.map((e,t)=>ve(e,"gf-"+t,o)))}}}function We(e,t={}){const r=[];e&&"gofish-display-list"===e.ir||r.push(`Expected a "gofish-display-list" document (the output of GoFish's toDisplayList) but got ir="${e?.ir}". This adapter consumes the baked render IR, not the source-level Frontend IR. Attempting best-effort translation.`),0!==e?.irVersion&&r.push(`This adapter targets GoFish DisplayList IR v0; document declares irVersion=${e?.irVersion}. Newer fields are ignored.`);const s=t.displayList??e,o=Array.isArray(s?.items)?s.items:[];0===o.length&&r.push("Display list carried no items; the chart will render empty.");const i=[];ge(o,i);const a=s?.viewport??{w:0,h:0};return{family:"network",networkLayout:Ce(s),layoutConfig:{displayList:s},nodes:i,edges:[],width:a.w,height:a.h,irVersion:s?.irVersion??0,warnings:r.length?r:void 0}}var we={irVersion:0,ir:"gofish-display-list",viewport:{w:725,h:608},items:[{kind:"rect",x:46,y:177.05109489051097,w:4,h:390.94890510948903,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"A",species:"Bass",count:23,x:5.26},{lake:"A",species:"Trout",count:31,x:5.26},{lake:"A",species:"Catfish",count:29,x:5.26},{lake:"A",species:"Perch",count:12,x:5.26},{lake:"A",species:"Salmon",count:8,x:5.26}],role:"node"},{kind:"rect",x:150.21159715157677,y:48,w:4,h:520,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"B",species:"Bass",count:25,x:30.87},{lake:"B",species:"Trout",count:34,x:30.87},{lake:"B",species:"Catfish",count:41,x:30.87},{lake:"B",species:"Perch",count:21,x:30.87},{lake:"B",species:"Salmon",count:16,x:30.87}],role:"node"},{kind:"rect",x:228.09562563580872,y:97.34306569343067,w:4,h:470.6569343065693,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"C",species:"Bass",count:15,x:50.01},{lake:"C",species:"Trout",count:25,x:50.01},{lake:"C",species:"Catfish",count:31,x:50.01},{lake:"C",species:"Perch",count:22,x:50.01},{lake:"C",species:"Salmon",count:31,x:50.01}],role:"node"},{kind:"rect",x:493.08036622583916,y:127.7080291970803,w:4,h:440.2919708029197,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"D",species:"Bass",count:12,x:115.13},{lake:"D",species:"Trout",count:17,x:115.13},{lake:"D",species:"Catfish",count:23,x:115.13},{lake:"D",species:"Perch",count:23,x:115.13},{lake:"D",species:"Salmon",count:41,x:115.13}],role:"node"},{kind:"rect",x:566,y:230.18978102189783,w:4,h:337.81021897810217,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"E",species:"Bass",count:7,x:133.05},{lake:"E",species:"Trout",count:9,x:133.05},{lake:"E",species:"Catfish",count:13,x:133.05},{lake:"E",species:"Perch",count:20,x:133.05},{lake:"E",species:"Salmon",count:40,x:133.05}],role:"node"},{kind:"rect",x:374.50457782299077,y:233.98540145985402,w:4,h:334.014598540146,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"F",species:"Bass",count:4,x:85.99},{lake:"F",species:"Trout",count:7,x:85.99},{lake:"F",species:"Catfish",count:9,x:85.99},{lake:"F",species:"Perch",count:21,x:85.99},{lake:"F",species:"Salmon",count:47,x:85.99}],role:"node"},{kind:"path",d:"M48,177.05109489051097 L51.33938470081845,157.33185276968038 Q62.585541795027574,147.83007294504642 78.5544659261578,151.23589371044534 L78.5544659261578,151.23589371044534 Q79.24615709420912,167.54931506587707 68,177.05109489051097 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M48,177.05109489051097 L28.23212580349808,180.08937561343197 Q15.395537702847022,167.0555157053688 19.932222868676277,148.55197408115367 L19.932222868676277,148.55197408115367 Q38.502796600167386,144.29799286161722 51.33938470081844,157.33185276968038 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M48,177.05109489051097 L54.872239108850245,195.83332930579792 Q46.05669091221945,210.74998921193776 27.648845679391155,211.4869848575027 L27.648845679391155,211.4869848575027 Q19.41657760686728,195.0060355195718 28.232125803498075,180.08937561343197 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M48,177.05109489051097 L65.6653119358892,186.42855479219708 Q73.1051493059896,194.96663366274248 74.27815052329349,207.20832959588688 L74.27815052329349,207.20832959588688 Q62.312076478950644,204.37140817634332 54.87223910885024,195.83332930579792 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M48,177.05109489051097 L68,177.05109489051097 Q78.2786737604877,179.61015642690683 86.81510630457642,186.7148168734962 L86.81510630457642,186.7148168734962 Q75.94398569637693,188.98761632859294 65.6653119358892,186.42855479219702 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M152.21159715157677,48 L160.44397423880116,29.77287824439236 Q171.53152518881467,22.61463788393587 185.8165831430777,26.304265015652845 L185.8165831430777,26.304265015652845 Q183.2991481015903,40.8417596395434 172.21159715157677,48 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M152.21159715157677,48 L134.08006108840306,39.55918250464856 Q128.5896756113119,24.768303125587636 138.2916438648223,10.500201327279456 L138.2916438648223,10.500201327279456 Q154.95358876170997,14.981998865331548 160.44397423880116,29.77287824439236 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M152.21159715157677,48 L149.69583253910324,67.84114231627365 Q133.7568401074522,76.6417934955033 117.19474012561054,67.33441811958761 L117.19474012561054,67.33441811958761 Q118.14106865675201,48.35983368387815 134.08006108840306,39.55918250464856 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M152.21159715157677,48 L167.06425994884756,61.393969084277046 Q171.3357758215148,72.90126238854208 166.1315504383313,85.49979867272054 L166.1315504383313,85.49979867272054 Q153.9673484117705,79.34843562053874 149.69583253910326,67.8411423162737 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M152.21159715157677,48 L172.21159715157677,48 Q182.78856757502288,52.06475728069893 189.5493329143521,62.348989097116544 L189.5493329143521,62.348989097116544 Q177.64123037229365,65.45872636497592 167.06425994884756,61.393969084277046 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L244.59148138039112,83.56372731191692 Q255.2031434952678,79.32490847658079 267.2417456186992,82.50508165863994 L267.2417456186992,82.50508165863994 Q260.7072877506854,93.10424685809448 250.09562563580872,97.34306569343067 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L221.28774260465605,79.38697490201582 Q223.73634923567542,65.7252387745541 237.15241628612105,57.97046474152933 L237.15241628612105,57.97046474152933 Q247.04008801141052,69.9019911844552 244.59148138039112,83.56372731191692 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L212.1395348443939,106.15094872458337 Q197.13404068352253,101.0219129902373 192.24565087293524,84.40554620746116 L192.24565087293524,84.40554620746116 Q206.28224844378468,74.25793916766975 221.28774260465602,79.38697490201582 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L230.09562563580872,117.34306569343067 Q223.20475072170726,128.39845190269688 208.9370652227302,131.2888359932207 L208.9370652227302,131.2888359932207 Q205.24865993029243,117.20633493384952 212.1395348443939,106.15094872458337 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L250.09562563580872,97.34306569343067 Q261.30882907140517,108.5562691290271 258.3798968832706,125.62733694089258 L258.3798968832706,125.62733694089258 Q241.30882907140514,128.5562691290271 230.09562563580872,117.34306569343067 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L511.00222753995206,115.604544893205 Q521.4708920183797,112.07724114106321 532.9864930731512,114.93596799164106 L532.9864930731512,114.93596799164106 Q525.5490307042668,124.18072544493856 515.0803662258392,127.7080291970803 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L495.08036622583916,107.7080291970803 Q500.4487867593998,96.88360352625733 512.8528344799953,91.87313876673278 L512.8528344799953,91.87313876673278 Q516.3706480735127,104.78011922238198 511.00222753995206,115.604544893205 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L476.1273028021831,121.3219985943607 Q468.1019971407863,110.14934771231418 471.7445830615394,95.22047428587183 L471.7445830615394,95.22047428587183 Q487.0550605644424,96.53537831503377 495.08036622583916,107.7080291970803 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L482.97688192196387,143.6298905111932 Q469.8265915055812,147.66765234861458 456.8422805189747,139.4489321212377 L456.8422805189747,139.4489321212377 Q462.97701238580044,125.35976043178209 476.1273028021831,121.3219985943607 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L515.0803662258392,127.7080291970803 Q524.4614595683939,146.62326636278448 512.8528344799954,163.5429196274278 L512.8528344799954,163.5429196274278 Q492.35797526451864,162.54512767689738 482.97688192196387,143.6298905111932 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M568,230.18978102189783 L585.6071292574618,220.70352784632678 Q595.8924011178875,218.10910772508834 606.7851153188756,220.40638540986583 L606.7851153188756,220.40638540986583 Q598.2852718604257,227.59536090065933 588,230.18978102189783 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M568,230.18978102189783 L576.5411287773276,212.10528160363612 Q584.1112349273089,204.12335319018302 595.5256468898348,201.16670807473855 L595.5256468898348,201.16670807473855 Q593.1772354074432,212.7215994328737 585.6071292574618,220.70352784632678 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M568,230.18978102189783 L558.8259633556381,212.4179760587573 Q558.6129628698615,200.35080064634843 567.2940607742748,190.1960108844179 L567.2940607742748,190.1960108844179 Q576.3281282915508,200.0381061912273 576.5411287773276,212.10528160363612 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M568,230.18978102189783 L549.0008039851402,236.4372245621737 Q535.3206483176143,230.84130803599493 530.9776373371512,215.04565137174967 L530.9776373371512,215.04565137174967 Q545.1458076881124,206.82205953257852 558.8259633556381,212.4179760587573 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M568,230.18978102189783 L588,230.18978102189783 Q592.244920932759,256.6883804021077 574.3270972337722,269.68620922236164 L574.3270972337722,269.68620922236164 Q553.2457249178992,262.93582394238365 549.0008039851402,236.4372245621737 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L395.6944372952807,228.3507503230254 Q405.79415081556374,226.89863074324114 416.0974354982281,228.29280792892263 L416.0974354982281,228.29280792892263 Q406.60429134327376,232.53328188006975 396.50457782299077,233.98540145985402 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L390.6467134467217,219.84326583612307 Q399.7811431049423,214.42355822457586 410.9051474312988,213.57460013741803 L410.9051474312988,213.57460013741803 Q404.8288669535013,222.9310427114782 395.6944372952807,228.3507503230254 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L379.35087458845646,214.18897262223538 Q384.2851746957395,204.33149675711883 394.40926622549927,198.21639066546555 L394.40926622549927,198.21639066546555 Q395.58101355400476,209.9857899710065 390.6467134467217,219.84326583612307 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L356.9616405035676,229.73409566879445 Q348.2002816724974,217.11533972951884 353.6916723455922,201.12857045503438 L353.6916723455922,201.12857045503438 Q370.5895157573863,201.5702166829597 379.35087458845646,214.18897262223538 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L396.50457782299077,233.98540145985402 Q393.069192835749,265.9391634085407 372.22877296038627,273.7562135307299 L372.22877296038627,273.7562135307299 Q353.5262555163258,261.6878576174812 356.9616405035676,229.7340956687945 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"rect",x:628,y:8,w:10,h:10,rx:0,ry:0,style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:16,text:"Bass",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:26,w:10,h:10,rx:0,ry:0,style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:34,text:"Trout",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:44,w:10,h:10,rx:0,ry:0,style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:52,text:"Catfish",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:62,w:10,h:10,rx:0,ry:0,style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:70,text:"Perch",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:80,w:10,h:10,rx:0,ry:0,style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:88,text:"Salmon",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}}]},Ae={irVersion:0,ir:"gofish-display-list",viewport:{w:1144.5,h:400},items:[{kind:"ellipse",cx:71,cy:73.889076455603,rx:31,ry:31,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:260,survived:!0},role:"node"},{kind:"ellipse",cx:71,cy:140.889076455603,rx:31,ry:31,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:252.4,survived:!0},role:"node"},{kind:"ellipse",cx:71,cy:205.889076455603,rx:31,ry:31,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:244.9,survived:!1},role:"node"},{kind:"ellipse",cx:71,cy:268.889076455603,rx:31,ry:31,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:237.6,survived:!0},role:"node"},{kind:"ellipse",cx:71,cy:329.889076455603,rx:30,ry:30,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:230.4,survived:!0},role:"node"},{kind:"ellipse",cx:130,cy:71.389076455603,rx:28,ry:28,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:223.3,survived:!1},role:"node"},{kind:"ellipse",cx:185.5,cy:71.389076455603,rx:27.5,ry:27.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:216.3,survived:!1},role:"node"},{kind:"ellipse",cx:240,cy:71.389076455603,rx:27,ry:27,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:209.5,survived:!0},role:"node"},{kind:"ellipse",cx:292.5,cy:71.389076455603,rx:25.5,ry:25.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:202.8,survived:!0},role:"node"},{kind:"ellipse",cx:343,cy:71.389076455603,rx:25,ry:25,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:196.2,survived:!1},role:"node"},{kind:"ellipse",cx:129.5,cy:130.389076455603,rx:27.5,ry:27.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:189.7,survived:!0},role:"node"},{kind:"ellipse",cx:129.5,cy:184.389076455603,rx:26.5,ry:26.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:183.4,survived:!0},role:"node"},{kind:"ellipse",cx:129.5,cy:236.889076455603,rx:26,ry:26,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:177.2,survived:!0},role:"node"},{kind:"ellipse",cx:129.5,cy:287.389076455603,rx:24.5,ry:24.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:171.1,survived:!1},role:"node"},{kind:"ellipse",cx:129.5,cy:335.889076455603,rx:24,ry:24,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:165.2,survived:!0},role:"node"},{kind:"ellipse",cx:185,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:159.4,survived:!0},role:"node"},{kind:"ellipse",cx:240,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:153.7,survived:!1},role:"node"},{kind:"ellipse",cx:292.5,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:148.1,survived:!1},role:"node"},{kind:"ellipse",cx:343,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:142.7,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:172.389076455603,rx:22.5,ry:22.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:137.4,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:216.889076455603,rx:22,ry:22,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:132.2,survived:!1},role:"node"},{kind:"ellipse",cx:181.5,cy:259.889076455603,rx:21,ry:21,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:127.2,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:300.889076455603,rx:20,ry:20,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:122.3,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:340.389076455603,rx:19.5,ry:19.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:117.5,survived:!0},role:"node"},{kind:"ellipse",cx:227.5,cy:170.889076455603,rx:21,ry:21,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:112.8,survived:!1},role:"node"},{kind:"ellipse",cx:269.5,cy:170.889076455603,rx:20.5,ry:20.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:108.3,survived:!0},role:"node"},{kind:"ellipse",cx:310,cy:170.889076455603,rx:20,ry:20,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:103.9,survived:!0},role:"node"},{kind:"ellipse",cx:349,cy:170.889076455603,rx:19,ry:19,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:99.6,survived:!0},role:"node"},{kind:"ellipse",cx:227.5,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:95.4,survived:!1},role:"node"},{kind:"ellipse",cx:270,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:91.4,survived:!0},role:"node"},{kind:"ellipse",cx:310.5,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:87.5,survived:!0},role:"node"},{kind:"ellipse",cx:349,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:83.7,survived:!1},role:"node"},{kind:"ellipse",cx:224,cy:244.889076455603,rx:18,ry:18,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:80.1,survived:!1},role:"node"},{kind:"ellipse",cx:224,cy:279.889076455603,rx:17,ry:17,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:76.6,survived:!0},role:"node"},{kind:"ellipse",cx:224,cy:312.889076455603,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:73.2,survived:!0},role:"node"},{kind:"ellipse",cx:224,cy:344.389076455603,rx:15.5,ry:15.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:69.9,survived:!1},role:"node"},{kind:"ellipse",cx:259,cy:242.889076455603,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:66.8,survived:!0},role:"node"},{kind:"ellipse",cx:292,cy:242.889076455603,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:63.8,survived:!0},role:"node"},{kind:"ellipse",cx:323.5,cy:242.889076455603,rx:15.5,ry:15.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:60.9,survived:!0},role:"node"},{kind:"ellipse",cx:353.5,cy:242.889076455603,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:58.2,survived:!1},role:"node"},{kind:"ellipse",cx:255,cy:276.889076455603,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:55.6,survived:!0},role:"node"},{kind:"ellipse",cx:255,cy:311.389076455603,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:53.1,survived:!0},role:"node"},{kind:"ellipse",cx:255,cy:343.889076455603,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:50.7,survived:!1},role:"node"},{kind:"ellipse",cx:281.5,cy:273.889076455603,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:48.5,survived:!1},role:"node"},{kind:"ellipse",cx:307.5,cy:273.889076455603,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:46.4,survived:!0},role:"node"},{kind:"ellipse",cx:332.5,cy:273.889076455603,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:44.4,survived:!0},role:"node"},{kind:"ellipse",cx:356.5,cy:273.889076455603,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:42.5,survived:!1},role:"node"},{kind:"ellipse",cx:281.5,cy:300.889076455603,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:40.8,survived:!0},role:"node"},{kind:"ellipse",cx:281.5,cy:324.889076455603,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:39.2,survived:!0},role:"node"},{kind:"ellipse",cx:281.5,cy:348.389076455603,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:37.7,survived:!0},role:"node"},{kind:"ellipse",cx:307,cy:300.889076455603,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:36.4,survived:!1},role:"node"},{kind:"ellipse",cx:307,cy:324.889076455603,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:35.2,survived:!0},role:"node"},{kind:"ellipse",cx:307,cy:348.389076455603,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:34.1,survived:!0},role:"node"},{kind:"ellipse",cx:331.5,cy:299.389076455603,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:33.1,survived:!1},role:"node"},{kind:"ellipse",cx:356,cy:299.389076455603,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:32.3,survived:!1},role:"node"},{kind:"ellipse",cx:331,cy:319.889076455603,rx:10,ry:10,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:31.6,survived:!0},role:"node"},{kind:"ellipse",cx:355.5,cy:319.889076455603,rx:10,ry:10,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:31,survived:!0},role:"node"},{kind:"ellipse",cx:327,cy:344.889076455603,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:30.6,survived:!1},role:"node"},{kind:"ellipse",cx:343.5,cy:344.889076455603,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:30.3,survived:!1},role:"node"},{kind:"ellipse",cx:360,cy:344.889076455603,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:30.1,survived:!0},role:"node"},{kind:"ellipse",cx:393.5,cy:243.5,rx:17.5,ry:17.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:77,survived:!1},role:"node"},{kind:"ellipse",cx:393.5,cy:277.5,rx:16.5,ry:16.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:75.4,survived:!0},role:"node"},{kind:"ellipse",cx:393.5,cy:310.5,rx:16.5,ry:16.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:73.8,survived:!0},role:"node"},{kind:"ellipse",cx:393.5,cy:343.5,rx:16.5,ry:16.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:72.2,survived:!1},role:"node"},{kind:"ellipse",cx:428,cy:243.5,rx:16.5,ry:16.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:70.7,survived:!1},role:"node"},{kind:"ellipse",cx:428,cy:277.5,rx:16.5,ry:16.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:69.1,survived:!0},role:"node"},{kind:"ellipse",cx:428,cy:311,rx:16.5,ry:16.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:67.6,survived:!1},role:"node"},{kind:"ellipse",cx:428,cy:344,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:66.1,survived:!1},role:"node"},{kind:"ellipse",cx:459.5,cy:243.5,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:64.7,survived:!0},role:"node"},{kind:"ellipse",cx:459.5,cy:277.5,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:63.2,survived:!0},role:"node"},{kind:"ellipse",cx:459.5,cy:311,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:61.8,survived:!1},role:"node"},{kind:"ellipse",cx:459.5,cy:344,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:60.4,survived:!1},role:"node"},{kind:"ellipse",cx:488,cy:243.5,rx:13.5,ry:13.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:59,survived:!0},role:"node"},{kind:"ellipse",cx:488,cy:278,rx:13.5,ry:13.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:57.6,survived:!0},role:"node"},{kind:"ellipse",cx:488,cy:311.5,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:56.2,survived:!1},role:"node"},{kind:"ellipse",cx:488,cy:344,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:54.9,survived:!1},role:"node"},{kind:"ellipse",cx:517,cy:240,rx:14,ry:14,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:53.6,survived:!0},role:"node"},{kind:"ellipse",cx:517,cy:268,rx:14,ry:14,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:52.3,survived:!1},role:"node"},{kind:"ellipse",cx:517,cy:295,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:51,survived:!1},role:"node"},{kind:"ellipse",cx:517,cy:321,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:49.8,survived:!0},role:"node"},{kind:"ellipse",cx:517,cy:347,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:48.6,survived:!0},role:"node"},{kind:"ellipse",cx:546,cy:240,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:47.4,survived:!1},role:"node"},{kind:"ellipse",cx:546,cy:268,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:46.2,survived:!1},role:"node"},{kind:"ellipse",cx:546,cy:295,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:45,survived:!0},role:"node"},{kind:"ellipse",cx:546,cy:321,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:43.8,survived:!0},role:"node"},{kind:"ellipse",cx:546,cy:347,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:42.7,survived:!1},role:"node"},{kind:"ellipse",cx:571.5,cy:240,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:41.6,survived:!1},role:"node"},{kind:"ellipse",cx:571.5,cy:268,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:40.5,survived:!0},role:"node"},{kind:"ellipse",cx:571.5,cy:295,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:39.5,survived:!0},role:"node"},{kind:"ellipse",cx:571.5,cy:321.5,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:38.4,survived:!1},role:"node"},{kind:"ellipse",cx:571.5,cy:347.5,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:37.4,survived:!1},role:"node"},{kind:"ellipse",cx:596,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:36.4,survived:!0},role:"node"},{kind:"ellipse",cx:621,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:35.4,survived:!1},role:"node"},{kind:"ellipse",cx:645.5,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:34.4,survived:!1},role:"node"},{kind:"ellipse",cx:669,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:33.5,survived:!0},role:"node"},{kind:"ellipse",cx:692,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:32.6,survived:!0},role:"node"},{kind:"ellipse",cx:594.5,cy:261,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:31.7,survived:!1},role:"node"},{kind:"ellipse",cx:594.5,cy:284,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:30.8,survived:!1},role:"node"},{kind:"ellipse",cx:594.5,cy:306,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:29.9,survived:!0},role:"node"},{kind:"ellipse",cx:594.5,cy:328,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:29.1,survived:!0},role:"node"},{kind:"ellipse",cx:594.5,cy:349.5,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:28.3,survived:!1},role:"node"},{kind:"ellipse",cx:615.5,cy:259.5,rx:10,ry:10,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:27.4,survived:!1},role:"node"},{kind:"ellipse",cx:636,cy:259.5,rx:10.5,ry:10.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:26.7,survived:!0},role:"node"},{kind:"ellipse",cx:656,cy:259.5,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:25.9,survived:!1},role:"node"},{kind:"ellipse",cx:675,cy:259.5,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:25.2,survived:!1},role:"node"},{kind:"ellipse",cx:694,cy:259.5,rx:9.5,ry:9.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:24.4,survived:!0},role:"node"},{kind:"ellipse",cx:615.5,cy:279.5,rx:9.5,ry:9.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:23.7,survived:!0},role:"node"},{kind:"ellipse",cx:615.5,cy:298.5,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:23.1,survived:!1},role:"node"},{kind:"ellipse",cx:615.5,cy:317,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:22.4,survived:!1},role:"node"},{kind:"ellipse",cx:615.5,cy:334.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:21.8,survived:!0},role:"node"},{kind:"ellipse",cx:615.5,cy:351.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:21.1,survived:!0},role:"node"},{kind:"ellipse",cx:635.5,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:20.5,survived:!1},role:"node"},{kind:"ellipse",cx:655.5,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:20,survived:!1},role:"node"},{kind:"ellipse",cx:675,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:19.4,survived:!0},role:"node"},{kind:"ellipse",cx:694,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:18.9,survived:!0},role:"node"},{kind:"ellipse",cx:633,cy:296.5,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:18.3,survived:!1},role:"node"},{kind:"ellipse",cx:633,cy:315,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:17.9,survived:!0},role:"node"},{kind:"ellipse",cx:633,cy:333,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:17.4,survived:!0},role:"node"},{kind:"ellipse",cx:633,cy:351,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:16.9,survived:!1},role:"node"},{kind:"ellipse",cx:649,cy:295,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:16.5,survived:!1},role:"node"},{kind:"ellipse",cx:665,cy:295,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:16.1,survived:!0},role:"node"},{kind:"ellipse",cx:680.5,cy:295,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:15.7,survived:!0},role:"node"},{kind:"ellipse",cx:696,cy:295,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:15.3,survived:!1},role:"node"},{kind:"ellipse",cx:649,cy:310.5,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14.9,survived:!1},role:"node"},{kind:"ellipse",cx:649,cy:325,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14.6,survived:!0},role:"node"},{kind:"ellipse",cx:649,cy:339,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14.3,survived:!0},role:"node"},{kind:"ellipse",cx:649,cy:353,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14,survived:!1},role:"node"},{kind:"ellipse",cx:665,cy:310,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13.7,survived:!1},role:"node"},{kind:"ellipse",cx:680.5,cy:310,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13.5,survived:!0},role:"node"},{kind:"ellipse",cx:696,cy:310,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13.2,survived:!1},role:"node"},{kind:"ellipse",cx:664.5,cy:324,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13,survived:!1},role:"node"},{kind:"ellipse",cx:664.5,cy:338.5,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.8,survived:!0},role:"node"},{kind:"ellipse",cx:664.5,cy:353,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.7,survived:!0},role:"node"},{kind:"ellipse",cx:679.5,cy:323,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.5,survived:!1},role:"node"},{kind:"ellipse",cx:695.5,cy:323,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.4,survived:!1},role:"node"},{kind:"ellipse",cx:678,cy:337,rx:6.5,ry:6.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.3,survived:!0},role:"node"},{kind:"ellipse",cx:678,cy:352.5,rx:6.5,ry:6.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.2,survived:!0},role:"node"},{kind:"ellipse",cx:694,cy:334.5,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.1,survived:!1},role:"node"},{kind:"ellipse",cx:694,cy:345,rx:5,ry:5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12,survived:!1},role:"node"},{kind:"ellipse",cx:694,cy:355,rx:5,ry:5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12,survived:!0},role:"node"},{kind:"ellipse",cx:727.5,cy:171.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:70,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:206.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:69.2,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:241.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:68.4,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:275.9825665265031,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:67.5,survived:!0},role:"node"},{kind:"ellipse",cx:727.5,cy:309.9825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:66.7,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:343.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:65.9,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:171.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:65.1,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:206.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:64.4,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:241.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:63.6,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:275.9825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:62.8,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:309.9825665265031,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:62,survived:!0},role:"node"},{kind:"ellipse",cx:758.5,cy:343.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:61.2,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:169.4825665265031,rx:15.5,ry:15.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:60.5,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:199.9825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:59.7,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:229.9825665265031,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:59,survived:!0},role:"node"},{kind:"ellipse",cx:789,cy:259.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:58.2,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:288.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:57.5,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:317.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:56.7,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:345.9825665265031,rx:14,ry:14,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:56,survived:!0},role:"node"},{kind:"ellipse",cx:819.5,cy:169.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:55.3,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:199.9825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:54.5,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:229.9825665265031,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:53.8,survived:!0},role:"node"},{kind:"ellipse",cx:819.5,cy:259.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:53.1,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:288.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:52.4,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:317.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:51.7,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:345.9825665265031,rx:14,ry:14,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:51,survived:!0},role:"node"},{kind:"ellipse",cx:849.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:50.3,survived:!1},role:"node"},{kind:"ellipse",cx:879.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:49.6,survived:!1},role:"node"},{kind:"ellipse",cx:909.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:48.9,survived:!1},role:"node"},{kind:"ellipse",cx:939,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:48.2,survived:!0},role:"node"},{kind:"ellipse",cx:968,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:47.6,survived:!1},role:"node"},{kind:"ellipse",cx:997,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:46.9,survived:!1},role:"node"},{kind:"ellipse",cx:1025.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:46.2,survived:!0},role:"node"},{kind:"ellipse",cx:848,cy:193.4825665265031,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:45.6,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:220.4825665265031,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:44.9,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:246.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:44.3,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:272.4825665265031,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:43.6,survived:!0},role:"node"},{kind:"ellipse",cx:848,cy:297.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:43,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:322.9825665265031,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:42.4,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:347.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:41.7,survived:!1},role:"node"},{kind:"ellipse",cx:875,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:41.1,survived:!0},role:"node"},{kind:"ellipse",cx:901.5,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:40.5,survived:!1},role:"node"},{kind:"ellipse",cx:927.5,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:39.9,survived:!1},role:"node"},{kind:"ellipse",cx:953,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:39.3,survived:!1},role:"node"},{kind:"ellipse",cx:978,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:38.7,survived:!1},role:"node"},{kind:"ellipse",cx:1003,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:38.1,survived:!1},role:"node"},{kind:"ellipse",cx:1027.5,cy:192.4825665265031,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:37.5,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:218.4825665265031,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:36.9,survived:!0},role:"node"},{kind:"ellipse",cx:872.5,cy:244.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:36.3,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:270.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:35.8,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:296.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:35.2,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:322.4825665265031,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:34.6,survived:!0},role:"node"},{kind:"ellipse",cx:872.5,cy:347.4825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:34.1,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:216.9825665265031,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:33.5,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:239.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:33,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:262.4825665265031,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:32.4,survived:!0},role:"node"},{kind:"ellipse",cx:895,cy:284.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:31.9,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:306.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:31.4,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:328.4825665265031,rx:10.5,ry:10.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:30.8,survived:!0},role:"node"},{kind:"ellipse",cx:895,cy:349.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:30.3,survived:!1},role:"node"},{kind:"ellipse",cx:918,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:29.8,survived:!1},role:"node"},{kind:"ellipse",cx:941,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:29.3,survived:!1},role:"node"},{kind:"ellipse",cx:963.5,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:28.8,survived:!0},role:"node"},{kind:"ellipse",cx:985.5,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:28.3,survived:!1},role:"node"},{kind:"ellipse",cx:1007.5,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:27.8,survived:!1},role:"node"},{kind:"ellipse",cx:1029,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:27.3,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:236.9825665265031,rx:10,ry:10,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:26.8,survived:!0},role:"node"},{kind:"ellipse",cx:936.5,cy:236.9825665265031,rx:10,ry:10,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:26.3,survived:!1},role:"node"},{kind:"ellipse",cx:956,cy:236.9825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:25.8,survived:!1},role:"node"},{kind:"ellipse",cx:975,cy:236.9825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:25.3,survived:!1},role:"node"},{kind:"ellipse",cx:994,cy:236.9825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:24.9,survived:!1},role:"node"},{kind:"ellipse",cx:1012.5,cy:236.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:24.4,survived:!1},role:"node"},{kind:"ellipse",cx:1030.5,cy:236.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:24,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:257.4825665265031,rx:9.5,ry:9.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:23.5,survived:!0},role:"node"},{kind:"ellipse",cx:916.5,cy:276.9825665265031,rx:10,ry:10,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:23.1,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:295.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:22.6,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:314.4825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:22.2,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:332.9825665265031,rx:9,ry:9,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:21.8,survived:!0},role:"node"},{kind:"ellipse",cx:916.5,cy:350.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:21.3,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:257.4825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:20.9,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:276.9825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:20.5,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:296.4825665265031,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:20.1,survived:!0},role:"node"},{kind:"ellipse",cx:935,cy:314.9825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:19.7,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:332.9825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:19.3,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:350.9825665265031,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:18.9,survived:!0},role:"node"},{kind:"ellipse",cx:952,cy:256.4825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:18.5,survived:!1},role:"node"},{kind:"ellipse",cx:968.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:18.1,survived:!1},role:"node"},{kind:"ellipse",cx:984.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:17.7,survived:!1},role:"node"},{kind:"ellipse",cx:1000.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:17.4,survived:!0},role:"node"},{kind:"ellipse",cx:1016.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:17,survived:!1},role:"node"},{kind:"ellipse",cx:1032,cy:256.4825665265031,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:16.6,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:273.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:16.3,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:289.9825665265031,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:15.9,survived:!0},role:"node"},{kind:"ellipse",cx:951.5,cy:305.9825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:15.6,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:321.9825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:15.2,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:337.4825665265031,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:14.9,survived:!0},role:"node"},{kind:"ellipse",cx:951.5,cy:352.4825665265031,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:14.6,survived:!1},role:"node"},{kind:"ellipse",cx:967.5,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:14.2,survived:!1},role:"node"},{kind:"ellipse",cx:984,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13.9,survived:!1},role:"node"},{kind:"ellipse",cx:1000.5,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13.6,survived:!0},role:"node"},{kind:"ellipse",cx:1016.5,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13.3,survived:!1},role:"node"},{kind:"ellipse",cx:1032,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13,survived:!1},role:"node"},{kind:"ellipse",cx:966.5,cy:285.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:12.7,survived:!1},role:"node"},{kind:"ellipse",cx:980.5,cy:285.9825665265031,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:12.4,survived:!0},role:"node"},{kind:"ellipse",cx:994,cy:285.9825665265031,rx:6.5,ry:6.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:12.1,survived:!1},role:"node"},{kind:"ellipse",cx:1007.5,cy:285.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11.8,survived:!1},role:"node"},{kind:"ellipse",cx:1020.5,cy:285.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11.5,survived:!1},role:"node"},{kind:"ellipse",cx:1033,cy:285.9825665265031,rx:6.5,ry:6.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11.2,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:299.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:313.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:10.7,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:327.4825665265031,rx:6,ry:6,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:10.4,survived:!0},role:"node"},{kind:"ellipse",cx:965.5,cy:340.4825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:10.2,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:353.4825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.9,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:299.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.7,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:313.9825665265031,rx:5.5,ry:5.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.5,survived:!0},role:"node"},{kind:"ellipse",cx:977,cy:327.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.2,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:340.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:353.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.8,survived:!1},role:"node"},{kind:"ellipse",cx:988.5,cy:298.9825665265031,rx:6,ry:6,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.5,survived:!0},role:"node"},{kind:"ellipse",cx:1000.5,cy:298.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.3,survived:!1},role:"node"},{kind:"ellipse",cx:1012,cy:298.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.1,survived:!1},role:"node"},{kind:"ellipse",cx:1023,cy:298.9825665265031,rx:5.5,ry:5.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.9,survived:!0},role:"node"},{kind:"ellipse",cx:1034,cy:298.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.7,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:310.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.5,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:321.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.3,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:333.4825665265031,rx:5.5,ry:5.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.2,survived:!0},role:"node"},{kind:"ellipse",cx:988,cy:343.9825665265031,rx:5,ry:5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:354.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.8,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:310.4825665265031,rx:5,ry:5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.6,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.5,survived:!0},role:"node"},{kind:"ellipse",cx:1017,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.3,survived:!1},role:"node"},{kind:"ellipse",cx:1026,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.2,survived:!1},role:"node"},{kind:"ellipse",cx:1035,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6,survived:!0},role:"node"},{kind:"ellipse",cx:998.5,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.9,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:329.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.7,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:338.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.6,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:346.9825665265031,rx:4,ry:4,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.5,survived:!0},role:"node"},{kind:"ellipse",cx:998.5,cy:355.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.4,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.2,survived:!1},role:"node"},{kind:"ellipse",cx:1017,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.1,survived:!1},role:"node"},{kind:"ellipse",cx:1026,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5,survived:!0},role:"node"},{kind:"ellipse",cx:1035,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.9,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:329.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.8,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:338.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.7,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:346.9825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.7,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:355.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.6,survived:!1},role:"node"},{kind:"ellipse",cx:1017,cy:328.9825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.5,survived:!1},role:"node"},{kind:"ellipse",cx:1026,cy:328.9825665265031,rx:4,ry:4,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.4,survived:!0},role:"node"},{kind:"ellipse",cx:1035,cy:328.9825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.4,survived:!1},role:"node"},{kind:"ellipse",cx:1016.5,cy:337.4825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.3,survived:!1},role:"node"},{kind:"ellipse",cx:1016.5,cy:346.4825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.3,survived:!1},role:"node"},{kind:"ellipse",cx:1016.5,cy:355.4825665265031,rx:4,ry:4,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.2,survived:!0},role:"node"},{kind:"ellipse",cx:1025,cy:336.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.2,survived:!1},role:"node"},{kind:"ellipse",cx:1034.5,cy:336.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.1,survived:!1},role:"node"},{kind:"ellipse",cx:1025,cy:343.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.1,survived:!1},role:"node"},{kind:"ellipse",cx:1034.5,cy:343.4825665265031,rx:3.5,ry:3.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.1,survived:!0},role:"node"},{kind:"ellipse",cx:1025,cy:349.9825665265031,rx:3,ry:3,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!1},role:"node"},{kind:"ellipse",cx:1025,cy:356.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!1},role:"node"},{kind:"ellipse",cx:1034.5,cy:349.9825665265031,rx:3,ry:3,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!0},role:"node"},{kind:"ellipse",cx:1034.5,cy:356.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!1},role:"node"},{kind:"rect",x:1059.5,y:42.889076455603,w:10,h:10,rx:0,ry:0,style:{fill:"#2b8cbe",stroke:"#2b8cbe",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:1074.5,y:50.889076455603,text:"true",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:1059.5,y:60.889076455603,w:10,h:10,rx:0,ry:0,style:{fill:"#ff8408",stroke:"#ff8408",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:1074.5,y:68.889076455603,text:"false",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}}]},Se={irVersion:0,ir:"gofish-display-list",viewport:{w:928,h:440},items:[{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:40,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Planning",amount:64}],role:"node"}],dest:[{kind:"rect",x:0,y:129.60000000000002,w:160,h:230.4,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Planning",amount:64}],role:"node"}]},{kind:"text",x:40,y:397.4,text:"Planning",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Planning",amount:64}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:224,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Design",amount:82}],role:"node"}],dest:[{kind:"rect",x:0,y:64.80000000000001,w:160,h:295.2,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Design",amount:82}],role:"node"}]},{kind:"text",x:224,y:397.4,text:"Design",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Design",amount:82}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:408,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Build",amount:46}],role:"node"}],dest:[{kind:"rect",x:0,y:194.40000000000003,w:160,h:165.6,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Build",amount:46}],role:"node"}]},{kind:"text",x:408,y:397.4,text:"Build",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Build",amount:46}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:592,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Review",amount:71}],role:"node"}],dest:[{kind:"rect",x:0,y:104.40000000000003,w:160,h:255.6,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Review",amount:71}],role:"node"}]},{kind:"text",x:592,y:397.4,text:"Review",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Review",amount:71}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:776,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Ship",amount:55}],role:"node"}],dest:[{kind:"rect",x:0,y:162.00000000000003,w:160,h:198,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Ship",amount:55}],role:"node"}]},{kind:"text",x:776,y:397.4,text:"Ship",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Ship",amount:55}],style:{fill:"black",strokeWidth:0}}]},Me={irVersion:0,ir:"gofish-display-list",viewport:{w:1080,h:540},items:[{kind:"rect",x:40,y:260,w:180,h:240,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:50.80000000000001,y:495.6,text:"Global Frame",fontSize:22,fontFamily:"Andale Mono, monospace",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"text",x:40,y:450.5,text:"c",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:59.2,y:425.8,w:36,h:36,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:59.2,y:461.8,text:"",fontSize:1,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:40,y:402.3,text:"d",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:59.2,y:377.6,w:36,h:36,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:59.2,y:413.6,text:"",fontSize:1,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:40,y:352,text:"x",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:59.2,y:325.2,w:36,h:36,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:59.2,y:361.2,text:"5",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"text",x:300,y:497.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:300,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:300,y:475.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:318.8,y:456.6,text:"12",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:364,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:364,y:475.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:396,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"rect",x:428,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:428,y:475.4,text:"2",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:453.4,y:456.6,text:"1",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:492,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:492,y:475.4,text:"3",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:517.4,y:456.6,text:"0",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:556,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:556,y:475.4,text:"4",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:588,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"rect",x:620,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:620,y:475.4,text:"5",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:652,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:744,y:497.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:744,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:744,y:475.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:769.4,y:456.6,text:"3",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:808,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:808,y:475.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:826.8,y:456.6,text:"10",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:872,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:872,y:475.4,text:"2",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:897.4,y:456.6,text:"7",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:936,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:936,y:475.4,text:"3",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:961.4,y:456.6,text:"8",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:1e3,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:1e3,y:475.4,text:"4",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:1032,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:300,y:379.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:300,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:300,y:357.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:325.4,y:338.6,text:"1",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:364,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:364,y:357.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:389.4,y:338.6,text:"4",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"text",x:488,y:379.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:488,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:488,y:357.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:513.4,y:338.6,text:"2",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:552,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:552,y:357.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:584,y:338.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:676,y:379.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:676,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:676,y:357.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:701.4,y:338.6,text:"3",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"ellipse",cx:95.2,cy:442.256623535435,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M95.2,442.256623535435 Q188.49277766649115,350.74940120192616 280,444.0421788684173",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M275.7165664491033,448.2436306431081 L288.4029035493816,452.6090459702107 L284.2834335508967,439.84072709372646 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:95.2,cy:395.1152555448267,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M95.2,395.1152555448267 Q210.4866869761144,464.6285685687123 280,349.34188159259793",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M285.1382344395092,352.44003375875144 L286.196304332307,339.0654127135796 L274.8617655604908,346.2437294264444 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:392.17861250585145,cy:422,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M392.17861250585145,422 Q415.3476277290524,387.2641493166031 380.6117770456555,364.09513409340207",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M383.9411501976934,359.1036138425677 L370.6287365439868,357.4363877893263 L377.28240389361764,369.0866543442364 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:620,cy:450,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M620,450 Q672,450 724,450",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M724,456 L736,450 L724,444 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:620,cy:440.329588579088,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M620,440.329588579088 Q549.381026799069,450.618973200931 539.091642177226,380",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M545.0289506548122,379.13491732072356 L537.3614768186732,368.1253830448278 L533.1543336996399,380.86508267927644 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:1e3,cy:447.7757417334632,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M1000,447.7757417334632 Q839.4630921779626,509.040852965706 760.5097174269315,356.4240870361933",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M765.8388285137876,353.66717299619364 L754.9958893469321,345.7658648624812 L755.1806063400754,359.18100107619307 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:616,cy:332,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M616,332 Q636,332 656,332",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M656,338 L668,332 L656,326 Z",role:"overlay",style:{fill:"#1A5683"}}]},Be=[{key:"flower",label:"Flower meadow",source:"https://gofish.graphics/js/examples/flower-chart.html",blurb:"GoFish's real flower chart, verbatim: a meadow where each lake is a green stem (a bar whose height is the lake's total catch) topped by a polar fan of petals, one per species, sized by count. It is layer([stems, flowers]) — the flowers selectAll the stems and stack a polar petal fan on each. The composition's root is a combinator (no ChartBuilder.toDisplayList), so it is baked through GoFish's mark-resolution contract; see gofish-displaylist-findings.md.",doc:we},{key:"polarribbon",label:"Polar ribbon chart",source:"https://gofish.graphics/js/examples/polar-ribbon-chart.html",blurb:"GoFish's polar ribbon chart, verbatim: the catch stacked radially per lake under a clock() projection, then a smooth area ribbon drawn across the lakes for each species (selectAll the bars, group by species). The wrap, the open gap, and the bumped ribbons are all baked into absolute-pixel paths; the radial bars keep their datum (hit targets), the ribbons are area chrome. Root is a layer({ coord: clock() }) combinator, baked through GoFish's mark-resolution contract — see gofish-displaylist-findings.md.",doc:{irVersion:0,ir:"gofish-display-list",viewport:{w:756.7000339982667,h:648},items:[{kind:"path",d:"M337.2610735347595,258.07748685525206 L342.25899046182735,258.07748685525206 C342.35627349970906,256.1334477518769 342.4535565709103,254.18940798266829 342.5508396254517,252.24536854637637 C342.6481226799932,250.30132911008445 342.74540575119437,248.35728934087587 342.84268878907613,246.41325023750068 L336.6773752075107,246.41325023750068 C336.77465824539246,248.35728934087587 336.8719413165936,250.30132911008445 336.9692243711351,252.24536854637637 C337.06650742567655,254.18940798266829 337.16379049687777,256.1334477518769 337.2610735347595,258.07748685525206",datum:[{lake:"A",species:"Salmon",count:8}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M336.6773752075107,246.41325023750068 L342.84268878907613,246.41325023750068 C342.9886133542286,243.4971914159795 343.13453795270055,240.58113192862493 343.2804625345127,237.66507277418708 C343.4263871163249,234.74901361974923 343.57231171479685,231.83295413239466 343.71823627994934,228.91689531087349 L335.8018277166375,228.91689531087349 C335.94775228179,231.83295413239466 336.0936768802619,234.74901361974923 336.2396014620741,237.66507277418708 C336.38552604388633,240.58113192862493 336.5314506423582,243.4971914159795 336.6773752075107,246.41325023750068",datum:[{lake:"A",species:"Perch",count:12}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M335.8018277166375,228.91689531087349 L343.71823627994934,228.91689531087349 C343.858080654193,226.1223389541206 343.99792506175606,223.32778193153428 344.1377694526594,220.53322524186467 C344.2776138435628,217.73866855219507 344.41745823446615,214.94411186252546 344.55730262536946,212.1495551728558 C344.6971470162728,209.3549984831862 344.8369914071762,206.5604417935166 344.97683579807955,203.76588510384698 C345.1166801889829,200.97132841417738 345.256524596546,198.17677139159105 345.39636897078964,195.38221503483817 L334.1236950257972,195.38221503483817 C334.2635394000408,198.17677139159105 334.4033838076039,200.97132841417738 334.5432281985073,203.76588510384698 C334.68307258941064,206.5604417935166 334.822916980314,209.3549984831862 334.96276137121737,212.1495551728558 C335.10260576212073,214.94411186252546 335.2424501530241,217.73866855219507 335.38229454392746,220.53322524186467 C335.52213893483076,223.32778193153428 335.66198334239385,226.1223389541206 335.8018277166375,228.91689531087349",datum:[{lake:"A",species:"Bass",count:23}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M334.1236950257972,195.38221503483817 L345.39636897078964,195.38221503483817 C345.48453172230813,193.62042962861528 345.572694507146,191.85864355655906 345.66085727532425,190.0968578174195 C345.74902004350247,188.33507207827995 345.83718281168063,186.57328633914045 345.92534557985886,184.8115006000009 C346.0135083480371,183.04971486086134 346.10167111621524,181.28792912172185 346.18983388439347,179.5261433825823 C346.2779966525717,177.76435764344274 346.36615942074985,176.00257190430318 346.4543221889281,174.24078616516363 C346.5424849571063,172.47900042602413 346.63064772528446,170.71721468688457 346.7188104934627,168.95542894774508 C346.8069732616409,167.19364320860552 346.8951360298191,165.43185746946597 346.9832987979973,163.6700717303264 C347.0714615661755,161.90828599118686 347.15962433435374,160.14650025204736 347.2477871025319,158.3847145129078 C347.3359498707101,156.6229287737683 347.4241126555481,154.86114270171208 347.5122754070665,153.0993572954892 L332.0077885895203,153.0993572954892 C332.0959513410388,154.86114270171208 332.1841141258767,156.6229287737683 332.2722768940549,158.3847145129078 C332.36043966223315,160.14650025204736 332.4486024304113,161.90828599118686 332.53676519858953,163.6700717303264 C332.62492796676776,165.43185746946597 332.7130907349459,167.19364320860552 332.80125350312414,168.95542894774508 C332.88941627130237,170.71721468688457 332.9775790394806,172.47900042602413 333.06574180765875,174.24078616516363 C333.153904575837,176.00257190430318 333.2420673440152,177.76435764344274 333.33023011219336,179.5261433825823 C333.4183928803716,181.28792912172185 333.5065556485498,183.04971486086134 333.59471841672797,184.8115006000009 C333.6828811849062,186.57328633914045 333.7710439530844,188.33507207827995 333.8592067212626,190.0968578174195 C333.9473694894408,191.85864355655906 334.03553227427875,193.62042962861528 334.1236950257972,195.38221503483817",datum:[{lake:"A",species:"Catfish",count:29}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M332.0077885895203,153.0993572954892 L347.5122754070665,153.0993572954892 C347.60651834949385,151.21606942449813 347.7007613252406,149.3327808876736 347.79500428432766,147.44949268376587 C347.88924724341473,145.56620447985807 347.98349020250174,143.68291627595033 348.0777331615888,141.79962807204254 C348.1719761206758,139.91633986813474 348.2662190797629,138.03305166422695 348.36046203884996,136.14976346031915 C348.454704997937,134.26647525641135 348.54894795702404,132.38318705250356 348.64319091611105,130.49989884859582 C348.7374338751981,128.61661064468802 348.8316768342852,126.73332244078028 348.9259197933722,124.85003423687249 C349.02016275245927,122.96674603296469 349.1144057115463,121.0834578290569 349.20864867063335,119.2001696251491 C349.3028916297204,117.3168814212413 349.39713458880743,115.43359321733351 349.4913775478945,113.55030501342577 C349.5856205069815,111.66701680951797 349.6798634827283,109.78372827269351 349.77410642515565,107.90044040170244 L329.74595757143123,107.90044040170244 C329.8402005138586,109.78372827269351 329.9344434896053,111.66701680951797 330.0286864486924,113.55030501342577 C330.1229294077794,115.43359321733351 330.21717236686646,117.3168814212413 330.3114153259535,119.2001696251491 C330.40565828504054,121.0834578290569 330.4999012441276,122.96674603296469 330.5941442032146,124.85003423687249 C330.6883871623017,126.73332244078028 330.7826301213887,128.61661064468802 330.8768730804758,130.49989884859582 C330.97111603956284,132.38318705250356 331.06535899864986,134.26647525641135 331.1596019577369,136.14976346031915 C331.25384491682394,138.03305166422695 331.348087875911,139.91633986813474 331.4423308349981,141.79962807204254 C331.5365737940851,143.68291627595033 331.63081675317216,145.56620447985807 331.72505971225917,147.44949268376587 C331.81930267134624,149.3327808876736 331.913545647093,151.21606942449813 332.0077885895203,153.0993572954892",datum:[{lake:"A",species:"Trout",count:31}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M381.75770764344463,280.8820818527037 L384.25666610697857,285.21040487754874 C385.9888948753927,284.32263490802404 387.7211242370952,283.43486463443816 389.45335330215346,282.54709451288284 C391.1855823672118,281.6593243913276 392.91781143227007,280.77155426977225 394.6500404973284,279.883784148217 C396.3822695623867,278.99601402666167 398.11449862744496,278.1082439051064 399.8467276925033,277.2204737835511 C401.57895675756157,276.33270366199577 403.31118611926405,275.4449333884099 405.0434148876782,274.5571634188852 L401.3770597696467,268.2068500758644 C399.7421140391143,269.26311920971494 398.107167748613,270.31938870533764 396.47222173809615,271.37565802007424 C394.83727572757937,272.4319273348109 393.2023297170625,273.4881966495475 391.5673837065457,274.5444659642841 C389.93243769602884,275.6007352790207 388.297491685512,276.6570045937573 386.66254567499516,277.71327390849393 C385.0275996644783,278.7695432232305 383.39265337397705,279.82581271885323 381.75770764344463,280.8820818527037",datum:[{lake:"B",species:"Salmon",count:16}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M401.3770597696467,268.2068500758644 L405.0434148876782,274.5571634188852 C407.31696523892305,273.3919652863745 409.5905161834562,272.2267668498025 411.86406683134527,271.0615685652612 C414.1376174792343,269.8963702807199 416.41116812712335,268.73117199617855 418.68471877501236,267.56597371163724 C420.95826942290137,266.40077542709594 423.2318200707904,265.2355771425546 425.5053707186794,264.07037885801327 C427.7789213665684,262.90518057347197 430.0524723111016,261.7399821369 432.3260226623465,260.5747840043893 L427.1274594352868,251.5706083687628 C424.98159307646796,252.95696166346852 422.83572615768014,254.34331531994644 420.6898595188768,255.7296687955382 C418.54399288007346,257.11602227113 416.3981262412701,258.50237574672184 414.2522596024668,259.8887292223136 C412.10639296366344,261.2750826979054 409.9605263248601,262.66143617349724 407.81465968605676,264.04778964908905 C405.6687930472534,265.4341431246808 403.52292612846554,266.82049678115874 401.3770597696467,268.2068500758644",datum:[{lake:"B",species:"Perch",count:21}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M427.1274594352868,251.5706083687628 L432.3260226623465,260.5747840043893 C435.0326302798559,259.1876433414898 437.73923849065363,257.800502374529 440.44584640480724,256.41336155959885 C443.15245431896085,255.0262207446687 445.85906223311446,253.63907992973856 448.56567014726807,252.2519391148084 C451.2722780614217,250.86479829987826 453.9788859755753,249.47765748494805 456.68549388972883,248.0905166700179 C459.39210180388244,246.70337585508776 462.09871001468025,245.31623488812704 464.80531763218966,243.92909422522746 L457.78269713247755,231.76555871745137 C455.2280942710295,233.4159793408412 452.67349084961245,235.0664003260033 450.11888770817984,236.71682113027924 C447.56428456674735,238.36724193455518 445.00968142531474,240.01766273883118 442.4550782838822,241.66808354310712 C439.90047514244964,243.31850434738305 437.3458720010171,244.968925151659 434.79126885958453,246.619345955935 C432.236665718152,248.26976676021093 429.68206229673495,249.92018774537297 427.1274594352868,251.5706083687628",datum:[{lake:"B",species:"Bass",count:25}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M457.78269713247755,231.76555871745137 L464.80531763218966,243.92909422522746 C466.6458107171699,242.98583862310556 468.48630439543854,242.04258271692248 470.326797777063,241.09932696276996 C472.1672911586875,240.1560712086175 474.0077845403119,239.212815454465 475.8482779219363,238.26955970031247 C477.68877130356077,237.32630394615995 479.52926468518524,236.3830481920075 481.36975806680965,235.43979243785498 C483.2102514484341,234.49653668370246 485.05074483005853,233.55328092954994 486.891238211683,232.61002517539748 C488.7317315933075,231.66676942124496 490.57222497493194,230.72351366709245 492.4127183565564,229.78025791293993 C494.2532117381808,228.8370021587874 496.09370511980524,227.89374640463495 497.9341985014297,226.95049065048244 C499.7746918830542,226.00723489632992 501.6151852646786,225.06397914217746 503.455678646303,224.12072338802494 C505.29617202792747,223.17746763387242 507.13666570619614,222.23421172768934 508.9771587911764,221.29095612556745 L499.4738204006569,204.83069119166782 C497.7366905444672,205.95297715768942 495.9995601283086,207.0752634854831 494.26242999213446,208.1975496323908 C492.5252998559603,209.31983577929844 490.7881697197862,210.44212192620608 489.051039583612,211.56440807311373 C487.31390944743794,212.68669422002137 485.57677931126375,213.808980366929 483.8396491750897,214.93126651383665 C482.1025190389155,216.05355266074434 480.36538890274136,217.17583880765199 478.6282587665672,218.29812495455963 C476.89112863039304,219.42041110146727 475.15399849421897,220.5426972483749 473.4168683580448,221.66498339528255 C471.67973822187065,222.7872695421902 469.9426080856965,223.90955568909783 468.2054779495224,225.03184183600547 C466.46834781334826,226.1541279829131 464.73121767717413,227.2764141298208 462.994087541,228.39870027672845 C461.2569574048258,229.5209864236361 459.5198269886672,230.64327275142983 457.78269713247755,231.76555871745137",datum:[{lake:"B",species:"Trout",count:34}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M499.4738204006569,204.83069119166782 L508.9771587911764,221.29095612556745 C511.1965769841381,220.1535008093553 513.4159957703882,219.01604518908198 515.6354142599943,217.87858972083927 C517.8548327496002,216.74113425259657 520.0742512392062,215.6036787843538 522.2936697288121,214.4662233161111 C524.513088218418,213.3287678478684 526.732506708024,212.19131237962563 528.95192519763,211.05385691138292 C531.1713436872359,209.91640144314022 533.3907621768419,208.7789459748975 535.6101806664478,207.64149050665475 C537.8295991560537,206.50403503841204 540.0490176456597,205.36657957016934 542.2684361352657,204.22912410192657 C544.4878546248716,203.09166863368387 546.7072731144775,201.95421316544116 548.9266916040835,200.81675769719845 C551.1461100936895,199.67930222895575 553.3655285832954,198.54184676071299 555.5849470729013,197.40439129247028 C557.8043655625073,196.26693582422752 560.0237843487574,195.12948020395424 562.2432025417193,193.9920248877421 L549.7484102240496,172.35040976351706 C547.6536359280594,173.70375464213726 545.5588610721002,175.05709988252966 543.4640864961256,176.41044494203595 C541.3693119201508,177.76379000154225 539.2745373441761,179.1171350610485 537.1797627682014,180.47048012055478 C535.0849881922268,181.82382518006108 532.990213616252,183.17717023956732 530.8954390402773,184.5305152990736 C528.8006644643026,185.8838603585799 526.705889888328,187.2372054180862 524.6111153123533,188.59055047759244 C522.5163407363785,189.94389553709874 520.4215661604038,191.29724059660504 518.3267915844292,192.65058565611128 C516.2320170084545,194.00393071561757 514.1372424324798,195.35727577512387 512.042467856505,196.71062083463016 C509.9476932805304,198.06396589413646 507.8529187045557,199.4173109536427 505.75814412858097,200.770656013149 C503.6633695526063,202.12400107265523 501.5685946966471,203.47734631304763 499.4738204006569,204.83069119166782",datum:[{lake:"B",species:"Catfish",count:41}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M384.25666610697857,330.81959487245206 L381.75770764344463,335.1479178972971 C383.2904692483197,336.1381701989765 384.82323141316374,337.1284228624282 386.35599329802324,338.1186753449938 C387.8887551828828,339.10892782755934 389.42151706774234,340.0991803101249 390.95427895260184,341.0894327926905 C392.4870408374614,342.07968527525605 394.01980272232095,343.0699377578216 395.55256460718044,344.0601902403872 C397.08532649204,345.05044272295277 398.61808865688397,346.0406953864044 400.15085026175905,347.0309476880839 L403.74424308888445,340.80700873994914 C402.1202786370365,339.97472440302164 400.49631359190016,339.14243976203295 398.872348843408,338.3101552730749 C397.2483840949158,337.47787078411676 395.6244193464237,336.6455862951587 394.00045459793154,335.81330180620057 C392.37648984943934,334.9810173172425 390.7525251009472,334.14873282828444 389.12856035245505,333.3164483393263 C387.5045956039629,332.48416385036825 385.88063055882657,331.65187920937956 384.25666610697857,330.81959487245206",datum:[{lake:"C",species:"Bass",count:15}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M403.74424308888445,340.80700873994914 L400.15085026175905,347.0309476880839 C402.3989007462352,348.4833178149606 404.64695179068036,349.9356883036096 406.895002555141,351.3880586113724 C409.1430533196017,352.84042891913526 411.3911040840623,354.29279922689807 413.63915484852294,355.74516953466093 C415.8872056129836,357.1975398424238 418.13525637744425,358.64991015018666 420.3833071419049,360.10228045794946 C422.63135790636557,361.55465076571227 424.87940895081067,363.00702125436123 427.1274594352868,364.459391381238 L432.3260226623465,355.4552157456115 C429.9442079945355,354.23453198050356 427.5623927334361,353.01384791133444 425.180577768981,351.79316399419594 C422.7987628045258,350.5724800770574 420.41694784007063,349.3517961599189 418.03513287561543,348.1311122427803 C415.6533179111603,346.91042832564176 413.27150294670514,345.68974440850326 410.88968798224994,344.4690604913647 C408.5078730177948,343.2483765742262 406.12605775669545,342.0276925050571 403.74424308888445,340.80700873994914",datum:[{lake:"C",species:"Perch",count:22}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M432.3260226623465,355.4552157456115 L427.1274594352868,364.459391381238 C429.68206229673495,366.1098120046278 432.236665718152,367.76023298978987 434.79126885958453,369.41065379406587 C437.3458720010171,371.06107459834175 439.90047514244964,372.71149540261774 442.4550782838822,374.3619162068937 C445.00968142531474,376.0123370111696 447.56428456674735,377.6627578154456 450.11888770817984,379.31317861972155 C452.67349084961245,380.9635994239975 455.2280942710295,382.6140204091596 457.78269713247755,384.2644410325494 L464.80531763218966,372.10090552477334 C462.09871001468025,370.71376486187376 459.39210180388244,369.32662389491304 456.68549388972883,367.9394830799829 C453.9788859755753,366.55234226505274 451.2722780614217,365.1652014501226 448.56567014726807,363.77806063519245 C445.85906223311446,362.3909198202623 443.15245431896085,361.0037790053321 440.44584640480724,359.61663819040194 C437.73923849065363,358.2294973754718 435.0326302798559,356.842356408511 432.3260226623465,355.4552157456115",datum:[{lake:"C",species:"Trout",count:25}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M464.80531763218966,372.10090552477334 L457.78269713247755,384.2644410325494 C459.36655080018124,385.2877017503144 460.9504050278539,386.3109628298516 462.5342589755421,387.3342237285027 C464.1181129232303,388.3574846271538 465.70196687091845,389.38074552580485 467.2858208186067,390.40400642445593 C468.86967476629485,391.42726732310706 470.453528713983,392.45052822175813 472.03738266167124,393.47378912040926 C473.62123660935936,394.49705001906034 475.2050905570476,395.5203109177114 476.78894450473575,396.5435718163625 C478.3727984524239,397.56683271501356 479.95665240011215,398.5900936136647 481.5405063478003,399.61335451231577 C483.1243602954885,400.63661541096684 484.7082142431767,401.65987630961797 486.2920681908649,402.68313720826905 C487.87592213855305,403.7063981069201 489.4597760862413,404.7296590055712 491.0436300339294,405.7529199042223 C492.6274839816176,406.7761808028734 494.21133820929026,407.7994418824106 495.795191876994,408.8227026001756 L505.0796433947952,392.7415608509339 C503.4015467846641,391.8815336977078 501.7234495812447,391.02150624042054 500.0453526744695,390.16147893516387 C498.36725576769425,389.30145162990715 496.68915886091906,388.4414243246505 495.0110619541438,387.58139701939376 C493.3329650473686,386.7213697141371 491.65486814059335,385.8613424088804 489.9767712338181,385.0013151036237 C488.2986743270429,384.141287798367 486.62057742026764,383.2812604931103 484.9424805134924,382.4212331878536 C483.26438360671716,381.56120588259694 481.586286699942,380.7011785773402 479.90818979316674,379.84115127208355 C478.2300928863915,378.9811239668269 476.55199597961627,378.12109666157016 474.873899072841,377.26106935631344 C473.1958021660658,376.4010420510568 471.51770525929055,375.54101474580006 469.83960835251537,374.6809874405434 C468.1615114457401,373.82096013528667 466.4834142423207,372.9609326779994 464.80531763218966,372.10090552477334",datum:[{lake:"C",species:"Catfish",count:31}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M505.0796433947952,392.7415608509339 L495.795191876994,408.8227026001756 C497.37904554469776,409.8459633179406 498.9628997723704,410.86922439747775 500.5467537200586,411.8924852961289 C502.13060766774674,412.91574619477996 503.71446161543497,413.93900709343103 505.2983155631231,414.96226799208216 C506.8821695108113,415.98552889073324 508.4660234584995,417.0087897893843 510.04987740618765,418.0320506880354 C511.6337313538759,419.0553115866865 513.217585301564,420.0785724853376 514.8014392492522,421.1018333839887 C516.3852931969404,422.1250942826398 517.9691471446286,423.14835518129087 519.5530010923168,424.17161607994194 C521.136855040005,425.194876978593 522.7207089876931,426.21813787724415 524.3045629353813,427.2413987758952 C525.8884168830696,428.2646596745463 527.4722708307577,429.2879205731974 529.0561247784459,430.3111814718485 C530.6399787261341,431.3344423704996 532.2238329538068,432.35770345003675 533.8076866215105,433.3809641678018 L545.3539691574008,413.38221617709456 C543.6758725472697,412.52218902386846 541.9977753438503,411.6621615665812 540.319678437075,410.8021342613245 C538.6415815302998,409.9421069560678 536.9634846235247,409.0820796508111 535.2853877167494,408.2220523455544 C533.6072908099741,407.36202504029774 531.9291939031989,406.501997735041 530.2510969964237,405.64197042978435 C528.5730000896484,404.78194312452763 526.8949031828732,403.92191581927096 525.2168062760979,403.06188851401424 C523.5387093693228,402.2018612087576 521.8606124625476,401.34183390350086 520.1825155557723,400.4818065982442 C518.504418648997,399.62177929298747 516.8263217422218,398.7617519877308 515.1482248354466,397.9017246824741 C513.4701279286713,397.0416973772174 511.79203102189615,396.1816700719607 510.1139341151209,395.32164276670403 C508.4358372083457,394.4616154614473 506.7577400049263,393.60158800416 505.0796433947952,392.7415608509339",datum:[{lake:"C",species:"Salmon",count:31}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M342.25899046182735,357.9525128947487 L337.2610735347595,357.9525128947487 C337.115148969607,360.86857171626986 336.9692243711351,363.78463120362443 336.8232997893229,366.7006903580623 C336.6773752075107,369.6167495125002 336.53145060903876,372.53280899985475 336.3855260438863,375.44886782137587 L343.1345379527005,375.44886782137587 C342.988613387548,372.53280899985475 342.84268878907613,369.6167495125002 342.6967642072639,366.7006903580623 C342.5508396254517,363.78463120362443 342.4049150269798,360.86857171626986 342.25899046182735,357.9525128947487",datum:[{lake:"D",species:"Bass",count:12}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M343.1345379527005,375.44886782137587 L336.3855260438863,375.44886782137587 C336.2821628150957,377.5144093895193 336.17879955298565,379.5799516234962 336.07543630753537,381.6454935245563 C335.97207306208503,383.7110354256165 335.86870981663475,385.7765773266766 335.7653465711844,387.84211922773676 C335.6619833257341,389.9076611287969 335.55862008028384,391.9732030298571 335.4552568348335,394.03874493091723 C335.3518935893832,396.10428683197733 335.24853032727316,398.1698290659542 335.1451670984826,400.23537063409765 L344.3748968981042,400.23537063409765 C344.2715336693136,398.1698290659542 344.1681704072036,396.10428683197733 344.06480716175327,394.03874493091723 C343.961443916303,391.9732030298571 343.8580806708527,389.9076611287969 343.75471742540236,387.84211922773676 C343.6513541799521,385.7765773266766 343.54799093450174,383.7110354256165 343.44462768905146,381.6454935245563 C343.3412644436011,379.5799516234962 343.2379011814911,377.5144093895193 343.1345379527005,375.44886782137587",datum:[{lake:"D",species:"Trout",count:17}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M344.3748968981042,400.23537063409765 L335.1451670984826,400.23537063409765 C335.00532272423897,403.0299269908505 334.8654783166759,405.82448401343686 334.7256339257725,408.6190407031065 C334.58578953486915,411.4135973927761 334.4459451439658,414.20815408244573 334.3061007530624,417.00271077211534 C334.16625636215906,419.79726746178494 334.0264119712557,422.59182415145455 333.88656758035233,425.38638084112415 C333.746723189449,428.1809375307938 333.60687878188594,430.97549455338014 333.4670344076423,433.770050910133 L346.0530295889445,433.770050910133 C345.9131852147009,430.97549455338014 345.7733408071378,428.1809375307938 345.63349641623444,425.38638084112415 C345.4936520253311,422.59182415145455 345.3538076344277,419.79726746178494 345.21396324352435,417.00271077211534 C345.074118852621,414.20815408244573 344.9342744617176,411.4135973927761 344.79443007081426,408.6190407031065 C344.65458567991095,405.82448401343686 344.51474127234786,403.0299269908505 344.3748968981042,400.23537063409765",datum:[{lake:"D",species:"Catfish",count:23}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M346.0530295889445,433.770050910133 L333.4670344076423,433.770050910133 C333.32719003339867,436.5646072668859 333.1873456258356,439.35916428947223 333.0475012349322,442.15372097914184 C332.90765684402885,444.94827766881144 332.7678124531255,447.7428343584811 332.6279680622221,450.5373910481507 C332.48812367131876,453.3319477378203 332.3482792804154,456.12650442749 332.20843488951203,458.9210611171595 C332.0685904986087,461.7156178068292 331.92874609104564,464.5101748294155 331.788901716802,467.3047311861684 L347.73116227978477,467.3047311861684 C347.59131790554113,464.5101748294155 347.4514734979781,461.7156178068292 347.31162910707474,458.9210611171595 C347.1717847161714,456.12650442749 347.031940325268,453.3319477378203 346.89209593436465,450.5373910481507 C346.7522515434613,447.7428343584811 346.6124071525579,444.94827766881144 346.47256276165456,442.15372097914184 C346.3327183707512,439.35916428947223 346.19287396318816,436.5646072668859 346.0530295889445,433.770050910133",datum:[{lake:"D",species:"Perch",count:23}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M347.73116227978477,467.3047311861684 L331.788901716802,467.3047311861684 C331.6642578198304,469.79553138100067 331.53961388953945,472.2863322416664 331.4149699759082,474.7771327694154 C331.29032606227696,477.2679332971644 331.1656821486457,479.7587338249134 331.04103823501447,482.2495343526624 C330.9163943213832,484.7403348804114 330.791750407752,487.2311354081604 330.6671064941207,489.7219359359094 C330.5424625804894,492.2127364636584 330.4178186668582,494.7035369914074 330.29317475322694,497.1943375191564 C330.1685308395957,499.6851380469054 330.04388692596444,502.1759385746544 329.9192430123332,504.6667391024034 C329.7945990987019,507.1575396301524 329.66995518507065,509.64834015790143 329.5453112714394,512.1391406856504 C329.42066735780816,514.6299412133994 329.2960234441769,517.1207417411484 329.17137953054566,519.6115422688974 C329.04673561691436,522.1023427966464 328.9220916866234,524.5931436573121 328.79744778965187,527.0839438521444 L350.7226162069349,527.0839438521444 C350.5979723099633,524.5931436573121 350.47332837967235,522.1023427966464 350.3486844660411,519.6115422688974 C350.22404055240986,517.1207417411484 350.0993966387786,514.6299412133994 349.97475272514737,512.1391406856504 C349.8501088115161,509.64834015790143 349.7254648978849,507.1575396301524 349.6008209842536,504.6667391024034 C349.4761770706223,502.1759385746544 349.3515331569911,499.6851380469054 349.22688924335984,497.1943375191564 C349.1022453297286,494.7035369914074 348.97760141609734,492.2127364636584 348.8529575024661,489.7219359359094 C348.7283135888348,487.2311354081604 348.60366967520355,484.7403348804114 348.4790257615723,482.2495343526624 C348.35438184794106,479.7587338249134 348.2297379343098,477.2679332971644 348.10509402067856,474.7771327694154 C347.9804501070473,472.2863322416664 347.85580617675635,469.79553138100067 347.73116227978477,467.3047311861684",datum:[{lake:"D",species:"Salmon",count:41}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M297.7623563531422,335.1479178972971 L295.26339788960826,330.81959487245206 C293.7476977543264,331.59639357678236 292.23199702575624,332.37319258517385 290.71629659383024,333.1499914415347 C289.20059616190423,333.9267902978956 287.684895433334,334.7035893062871 286.16919529805216,335.4803880106174 L289.17888979792883,340.6933317996643 C290.60946727714656,339.76909633015583 292.04004531633325,338.8448604988752 293.4706230755355,337.92062484848066 C294.9012008347377,336.99638919808615 296.3317788739244,336.07215336680554 297.7623563531422,335.1479178972971",datum:[{lake:"E",species:"Bass",count:7}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M289.17888979792883,340.6933317996643 L286.16919529805216,335.4803880106174 C284.2204378965058,336.4791292453365 282.271679901671,337.4778707841168 280.3229222034804,338.47661217086653 C278.37416450528985,339.47535355761624 276.42540651045505,340.4740950963965 274.47664910890865,341.4728363311157 L278.14300422694015,347.8231496741364 C279.9823182087871,346.63484687594377 281.82163275060304,345.44654371597903 283.66094701243446,344.25824073690035 C285.5002612742659,343.06993775782166 287.33957581608183,341.8816345978569 289.17888979792883,340.6933317996643",datum:[{lake:"E",species:"Trout",count:9}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M278.14300422694015,347.8231496741364 L274.47664910890865,341.4728363311157 C271.6617771748331,342.9154626266124 268.84690464746916,344.35808922617036 266.0320324167494,345.8007156736977 C263.2171601860297,347.24334212122506 260.4022876586657,348.6859687207831 257.5874157245902,350.1285950162798 L262.202280624401,358.1217754928183 C264.85906761150636,356.4053380372574 267.51585515858073,354.68890021992434 270.1726424256706,352.97246258347735 C272.8294296927604,351.25602494703037 275.4862172398348,349.5395871296973 278.14300422694015,347.8231496741364",datum:[{lake:"E",species:"Catfish",count:13}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M262.202280624401,358.1217754928183 L257.5874157245902,350.1285950162798 C255.42212968991151,351.2383075161933 253.25684306194444,352.348020320168 251.09155673062156,353.4577329721121 C248.9262703992987,354.5674456240563 246.7609840679758,355.6771582760004 244.59569773665294,356.7868709279445 C242.43041140533006,357.89658357988867 240.26512507400716,359.0062962318327 238.09983874268428,360.1160088837769 C235.9345524113614,361.225721535721 233.76926578339436,362.3354343396957 231.60397974871566,363.44514683960927 L237.67809046664846,373.9658152138675 C239.72177269981003,372.6454787513328 241.76545549294053,371.3251419270259 243.80913800608658,370.0048052836052 C245.85282051923264,368.68446864018443 247.8965030323787,367.36413199676366 249.9401855455247,366.04379535334294 C251.98386805867077,364.72345870992217 254.0275505718168,363.4031220665014 256.07123308496284,362.0827854230806 C258.1149155981089,360.76244877965985 260.1585983912394,359.44211195535297 262.202280624401,358.1217754928183",datum:[{lake:"E",species:"Perch",count:20}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M237.67809046664846,373.9658152138675 L231.60397974871566,363.44514683960927 C229.43869371403696,364.55485933952275 227.27340708606988,365.6645721434975 225.108120754747,366.7742847954416 C222.94283442342413,367.8839974473857 220.77754809210126,368.99371009932986 218.61226176077838,370.10342275127397 C216.4469754294555,371.2131354032181 214.28168909813263,372.32284805516224 212.11640276680976,373.43256070710635 C209.95111643548685,374.54227335905045 207.78583010416398,375.65198601099456 205.6205437728411,376.76169866293867 C203.45525744151823,377.87141131488283 201.28997111019535,378.98112396682694 199.12468477887248,380.09083661877105 C196.9593984475496,381.20054927071516 194.79411211622673,382.31026192265927 192.62882578490385,383.41997457460343 C190.46353945358098,384.52968722654754 188.29825312225807,385.63939987849164 186.1329667909352,386.7491125304358 C183.96768045961232,387.8588251823799 181.80239383164528,388.96853798635465 179.63710779696657,390.07825048626813 L188.62971015114337,405.65389465596576 C190.67339238430495,404.3335581934311 192.71707517743545,403.01322136912427 194.7607576905815,401.6928847257035 C196.80444020372755,400.3725480822827 198.84812271687358,399.05221143886195 200.89180523001963,397.7318747954412 C202.93548774316568,396.41153815202046 204.9791702563117,395.0912015085997 207.02285276945776,393.7708648651789 C209.0665352826038,392.4505282217582 211.11021779574986,391.1301915783374 213.1539003088959,389.80985493491664 C215.19758282204194,388.48951829149587 217.241265335188,387.1691816480751 219.284947848334,385.8488450046543 C221.32863036148007,384.5285083612336 223.37231287462612,383.20817171781283 225.41599538777217,381.88783507439206 C227.45967790091822,380.5674984309713 229.50336041406428,379.24716178755057 231.54704292721033,377.9268251441298 C233.59072544035638,376.606488500709 235.63440823348688,375.28615167640214 237.67809046664846,373.9658152138675",datum:[{lake:"E",species:"Salmon",count:40}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M295.26339788960826,285.21040487754874 L297.7623563531422,280.8820818527037 L292.85751832159167,277.71327390849393 L290.06671069443337,282.54709451288284 L295.26339788960826,285.21040487754874",datum:[{lake:"F",species:"Bass",count:4}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M290.06671069443337,282.54709451288284 L292.85751832159167,277.71327390849393 C291.4269408423739,276.7890384389855 289.9963628031872,275.86480260770486 288.565785043985,274.9405669573103 C287.1352072847827,274.0163313069158 285.70462924559604,273.0920954756352 284.2740517663783,272.1678600061267 L280.97250810287727,277.8863013747175 C282.48820823815913,278.6631000790478 284.0039089667293,279.4398990874393 285.51960939865535,280.21669794380017 C287.03530983058135,280.9934968001611 288.5510105591515,281.77029580855253 290.06671069443337,282.54709451288284",datum:[{lake:"F",species:"Trout",count:7}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M280.97250810287727,277.8863013747175 L284.2740517663783,272.1678600061267 C282.4347377845313,270.97955720793414 280.59542324271536,269.79125404796935 278.75610898088394,268.60295106889066 C276.9167947190525,267.414648089812 275.0774801772366,266.2263449298472 273.2381661953896,265.0380421316546 L269.2799619137337,271.8938530542193 C271.22871931528016,272.89259428893837 273.1774773101149,273.8913358277187 275.1262350083055,274.8900772144684 C277.0749927064961,275.88881860121813 279.02375070133087,276.8875601399984 280.97250810287727,277.8863013747175",datum:[{lake:"F",species:"Catfish",count:9}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M269.2799619137337,271.8938530542193 L273.2381661953896,265.0380421316546 C271.09229983657076,263.6516888369489 268.94643291778294,262.26533518047097 266.8005662789796,260.8789817048792 C264.6546996401762,259.4926282292874 262.50883300137286,258.10627475369563 260.3629663625695,256.7199212781038 C258.2170997237662,255.333567802512 256.07123308496284,253.94721432692018 253.9253664461595,252.5608608513284 C251.77949980735616,251.1745073757366 249.63363288856834,249.78815371925873 247.48776652974945,248.40180042455302 L241.99735413906546,257.91147363972334 C244.2709044903103,259.0766717722341 246.54445543484348,260.241870208806 248.81800608273252,261.40706849334737 C251.09155673062156,262.5722667778887 253.36510737851057,263.73746506243 255.63865802639958,264.90266334697134 C257.91220867428865,266.06786163151264 260.18575932217766,267.233059916054 262.45930997006667,268.3982582005953 C264.7328606179557,269.5634564851366 267.0064115624889,270.7286549217086 269.2799619137337,271.8938530542193",datum:[{lake:"F",species:"Perch",count:21}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M241.99735413906546,257.91147363972334 L247.48776652974945,248.40180042455302 C245.0864398567873,246.8504050494197 242.68511262385624,245.29900931251422 240.28378567090965,243.74761375649484 C237.88245871796303,242.1962182004754 235.4811317650164,240.64482264445604 233.07980481206982,239.0934270884366 C230.67847785912323,237.54203153241724 228.2771509061766,235.9906359763978 225.87582395323,234.43924042037844 C223.4744970002834,232.88784486435907 221.0731700473368,231.33644930833964 218.67184309439017,229.78505375232027 C216.27051614144358,228.23365819630084 213.869189188497,226.68226264028146 211.46786223555037,225.13086708426204 C209.06653528260378,223.57947152824266 206.66520832965716,222.0280759722233 204.26388137671057,220.47668041620386 C201.86255442376395,218.9252848601845 199.46122747081736,217.37388930416512 197.05990051787074,215.8224937481457 C194.65857356492415,214.27109819212632 192.2572463319931,212.71970245522084 189.85591965903095,211.16830708008752 L180.93627959576028,226.6175768548992 C183.48049073842049,227.92148906890293 186.02470247436906,229.22540158696785 188.56891391367344,230.5293139530022 C191.11312535297782,231.8332263190365 193.6573367922822,233.1371386850709 196.20154823158657,234.4410510511052 C198.74575967089095,235.74496341713956 201.28997111019535,237.0488757831739 203.83418254949973,238.3527881492082 C206.3783939888041,239.65670051524256 208.92260542810848,240.96061288127692 211.46681686741286,242.26452524731127 C214.01102830671724,243.56843761334562 216.55523974602164,244.87234997937992 219.09945118532602,246.17626234541427 C221.6436626246304,247.48017471144863 224.18787406393477,248.78408707748298 226.73208550323915,250.08799944351733 C229.27629694254355,251.39191180955163 231.82050838184793,252.69582417558598 234.36471982115233,253.99973654162034 C236.9089312604567,255.3036489076547 239.4531429964053,256.60756142571967 241.99735413906546,257.91147363972334",datum:[{lake:"F",species:"Salmon",count:47}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M342.25899046182735,258.07748685525206 C346.84562661576706,258.9624403447242 351.5687425815439,259.4198605072056 356.0188999055372,260.73234751311617 C359.06908976036596,261.6319414507144 362.000085957821,263.1202740963629 364.7600319982934,264.71372968577845 C367.5199780387658,266.30718527519406 370.2744100179066,268.1013361177615 372.57857614837155,270.2930810496096 C375.9403018996237,273.4907868400699 378.69799736342424,277.3524151702119 381.75770764344463,280.8820818527037 C383.39265337397705,279.82581271885323 385.0275996644783,278.7695432232305 386.66254567499516,277.71327390849393 C388.297491685512,276.6570045937573 389.93243769602884,275.6007352790207 391.5673837065457,274.5444659642841 C393.2023297170625,273.4881966495475 394.83727572757937,272.4319273348109 396.47222173809615,271.37565802007424 C398.107167748613,270.31938870533764 399.7421140391143,269.26311920971494 401.3770597696467,268.2068500758644 C398.9210736451264,265.26577100947105 396.745509146981,262.0256080130898 394.0091007551183,259.3836121091164 C391.8571924772484,257.3059496985035 389.29339476765455,255.5668953241801 386.71210976044904,254.04787513210556 C384.5935559377208,252.801160404465 382.24117359338777,251.88264505531095 379.90958426531705,251.08640734997107 C377.84352236853294,250.3808472566991 375.69049032904627,249.81622967042023 373.5191560858847,249.54248173627002 C363.33485850363263,248.2585106329301 353.0681775563998,247.45632736993014 342.84268878907613,246.41325023750068 C342.74540575119437,248.35728934087587 342.6481226799932,250.30132911008445 342.5508396254517,252.24536854637637 C342.4535565709103,254.18940798266829 342.35627349970906,256.1334477518769 342.25899046182735,258.07748685525206",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M384.25666610697857,285.21040487754874 C385.3089125327623,286.28036538340854 386.17149762805064,287.63238941230804 387.4134060855097,288.4202871081122 C389.02698821956596,289.4439838530517 390.96852919686717,290.060882305688 392.82313788152453,290.6451881997798 C395.27450747543213,291.4175072955368 397.81636147923405,291.9295858317235 400.33134092120446,292.49016207765845 C403.4284892692153,293.1805008395019 406.5505353764948,293.76002563886743 409.65952125146816,294.3979332231151 C411.4062935780278,294.75633926285815 413.15429702483357,295.1090594923878 414.8986155258035,295.47910294963066 C416.75374215228584,295.8726534795969 418.60817036841496,296.2704860146006 420.45785663382503,296.68871518474236 C422.4044182264269,297.1288486574982 424.34906862307423,297.57911614571884 426.2873590998394,298.0541908783237 C428.3083515597817,298.54953585577306 430.3261840186434,299.06014697871086 432.3357054439473,299.5999743149052 C434.41377860312076,300.1582170307119 436.48730792577703,300.73643447177017 438.5501428532714,301.3484010343269 C440.6676240502519,301.9765791168886 442.7789552782955,302.62924915519125 444.87665381737185,303.32040825026047 C447.0155497187967,304.0251412365012 449.1463754675626,304.7588722800904 451.25992617477505,305.5360772782569 C453.4019054208138,306.3237361550037 455.5334743298766,307.1450231234016 457.64324367712555,308.0149998750004 C459.7696039125632,308.8918179844147 461.88266652399324,309.8071104426849 463.9683149228348,310.7764618612961 C466.0599374458785,311.7485898868243 468.1346738295704,312.76430243735945 470.1750564427814,313.8394382074186 C472.21235049123544,314.9129465246525 474.2282822969281,316.0354100485573 476.2013449078299,317.2223941231753 C478.16418145710054,318.4032262529766 480.1000695929123,319.63857785183706 481.9827539232987,320.94288682067645 C483.85038552895645,322.23676737963734 485.6841135101539,323.5907747102768 487.45229271596247,325.0169627065761 C489.2032512784378,326.4292607788623 490.9116943653195,327.90707209779356 492.54016722815027,329.45834502643294 C494.15212636612074,330.9938870854266 495.7110101855942,332.5996913174301 497.17358871836615,334.2774076694752 C498.62317474728434,335.9402203868224 500.11534966951615,337.6095082306569 501.27666091322067,339.47993223460986 C503.58176086638844,343.19255820571675 506.00356271551937,346.97215645767074 507.57282230898295,351.02655759465483 C509.166020286334,355.1428068868166 510.01671990654467,359.62674700947565 510.76403362566464,363.9918835220473 C511.15219660621267,366.25918352720976 511.07823548313945,368.6203049185839 510.9792524079869,370.9238671478573 C510.87642545550466,373.3168851817409 510.60773428110735,375.7289054746003 510.15860354276026,378.0816243115184 C509.68739317986604,380.5500046789192 509.04092581317144,383.0125287738364 508.21822910426306,385.387164760814 C507.34793909718314,387.8991742869749 506.12583850044655,390.29009579414264 505.0796433947952,392.7415608509339 C506.7577400049263,393.60158800416 508.4358372083457,394.4616154614473 510.1139341151209,395.32164276670403 C511.79203102189615,396.1816700719607 513.4701279286713,397.0416973772174 515.1482248354466,397.9017246824741 C516.8263217422218,398.7617519877308 518.504418648997,399.62177929298747 520.1825155557723,400.4818065982442 C521.8606124625476,401.34183390350086 523.5387093693228,402.2018612087576 525.2168062760979,403.06188851401424 C526.8949031828732,403.92191581927096 528.5730000896484,404.78194312452763 530.2510969964237,405.64197042978435 C531.9291939031989,406.501997735041 533.6072908099741,407.36202504029774 535.2853877167494,408.2220523455544 C536.9634846235247,409.0820796508111 538.6415815302998,409.9421069560678 540.319678437075,410.8021342613245 C541.9977753438503,411.6621615665812 543.6758725472697,412.52218902386846 545.3539691574008,413.38221617709456 C546.6647451867349,410.3379983022272 548.1835496489152,407.3669092212258 549.2862976408794,404.2495616340166 C550.3276701533493,401.30571579363414 551.1603649800069,398.2576699553795 551.7863306707031,395.19863589431964 C552.38164756583,392.2893795462725 552.7641532809776,389.308386254993 552.9501453983489,386.3446904066956 C553.1285724908171,383.5015396288813 553.0947927688819,380.6188957663501 552.8795883002218,377.77809601598454 C552.6711324702064,375.0263814556082 552.256441982182,372.2661072966967 551.6791645023224,369.56714747447 C551.1144759025426,366.9270447577559 550.3549186772543,364.3064798747473 549.4536900613036,361.7609083991621 C548.5640588287264,359.24809439241903 547.4955478073771,356.7785591643782 546.3065849567383,354.391991027485 C545.1238820258276,352.0179882326918 543.7814789837846,349.70559828630377 542.3386927166551,347.479195604103 C540.8951251723696,345.2515873118993 539.3125179136212,343.0981952421388 537.6475235224931,341.02995810427154 C535.9752303079216,338.95265445075194 534.1844619737079,336.95680907598035 532.3268298995563,335.04257322994255 C530.457433020741,333.1162140947333 528.4888506361918,331.2740263619532 526.466436663592,329.5081731605304 C524.4306603153376,327.730652716818 522.3130036444437,326.0365096798013 520.1522589369935,324.41245229453693 C517.9796758483623,322.77949695371103 515.7402312114195,321.2266176534279 513.4664532753475,319.7371349822594 C511.18536387733684,318.24286279506754 508.85013385916886,316.82371680357056 506.4876569347453,315.4611877194559 C504.1250757222981,314.098598488525 501.71894076360843,312.8052124627344 499.2912788647352,311.56178003712273 C496.87299279209043,310.3231498479159 494.41985590484023,309.1473217258374 491.94981302019124,308.0149998750004 C489.5004796152687,306.8921717040341 487.0233920362234,305.8256048492681 484.5331499960206,304.79632997171296 C482.07640995919576,303.780902250325 479.5976770902127,302.815266400176 477.10886678910845,301.88089207817126 C474.66745265682584,300.9643117049817 472.20871891323065,300.09123444899177 469.7424766958602,299.2434658861301 C467.33830398127145,298.41703365949695 464.9206135751963,297.6280247784474 462.49762199323067,296.85828970968674 C460.15185173454313,296.11308628231745 457.79568039058614,295.39939694922333 455.43619117390085,294.6986503977402 C453.1692531185473,294.0253906881889 450.8945031474214,293.3778097820576 448.6183401771141,292.7362709265835 C446.4499038772505,292.12509494308387 444.27585145362127,291.5336851254445 442.1023933633881,290.940505880819 C440.05126974289743,290.3807141069156 437.99644776671306,289.8344900984477 435.9445950449426,289.27735787099675 C434.02854210354855,288.7570988719826 432.1105332029534,288.2436474013163 430.1986763738945,287.7083322014237 C428.43406670346053,287.214245843019 426.65813045738776,286.75323097411933 424.91519554646413,286.1891531961048 C421.89722747810924,285.212427839669 418.8204520595463,284.33604224623525 415.9159674360591,283.0859227980726 C413.5965604508408,282.0876266607894 411.20501545038786,280.98256228912896 409.2435207203476,279.4439064397674 C407.58083126759425,278.1396424960665 406.44344994796245,276.18607750638716 405.0434148876782,274.5571634188852 C403.31118611926405,275.4449333884099 401.57895675756157,276.33270366199577 399.8467276925033,277.2204737835511 C398.11449862744496,278.1082439051064 396.3822695623867,278.99601402666167 394.6500404973284,279.883784148217 C392.91781143227007,280.77155426977225 391.1855823672118,281.6593243913276 389.45335330215346,282.54709451288284 C387.7211242370952,283.43486463443816 385.9888948753927,284.32263490802404 384.25666610697857,285.21040487754874",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M495.795191876994,408.8227026001756 C492.7342537403247,412.9825468716412 489.8974771037707,417.32916439669293 486.6123768743156,421.30223622001733 C483.71325527112094,424.8084970795084 480.5360992568376,428.12111755765176 477.24252637904465,431.2607006486221 C474.32598406108133,434.040881104721 471.19563473997744,436.62989243341985 467.98203128704694,439.06152686122493 C465.11370924250417,441.2318975170015 462.1604743935269,443.3636240111142 458.9967498866248,445.06671589936724 C453.5109934978117,448.01980084286885 447.8565519513892,450.8283665260666 442.0335885999013,453.0300573564888 C436.88226885965827,454.97779646320464 431.48685432275084,456.44634450015457 426.07390061143207,457.5150057107812 C415.1281202229984,459.67599424772317 404.04138331089933,461.33394794269145 392.957386300644,462.71900659919464 C377.9271372003502,464.5971897678205 362.8065699551049,465.7761563574698 347.73116227978477,467.3047311861684 C347.85580617675635,469.79553138100067 347.9804501070473,472.2863322416664 348.10509402067856,474.7771327694154 C348.2297379343098,477.2679332971644 348.35438184794106,479.7587338249134 348.4790257615723,482.2495343526624 C348.60366967520355,484.7403348804114 348.7283135888348,487.2311354081604 348.8529575024661,489.7219359359094 C348.97760141609734,492.2127364636584 349.1022453297286,494.7035369914074 349.22688924335984,497.1943375191564 C349.3515331569911,499.6851380469054 349.4761770706223,502.1759385746544 349.6008209842536,504.6667391024034 C349.7254648978849,507.1575396301524 349.8501088115161,509.64834015790143 349.97475272514737,512.1391406856504 C350.0993966387786,514.6299412133994 350.22404055240986,517.1207417411484 350.3486844660411,519.6115422688974 C350.47332837967235,522.1023427966464 350.5979723099633,524.5931436573121 350.7226162069349,527.0839438521444 C356.8046643348833,526.5682689411063 362.90758634335896,526.2316585525257 368.96876158720494,525.5369190345468 C374.3324890492578,524.9221218571611 379.70006933274044,524.1939262806609 384.9973243246313,523.1553337660506 C393.936755459526,521.4026474642229 402.8685707925057,519.4743881168347 411.67881996756154,517.1630825852329 C418.9813479872962,515.2473168592785 426.2037120031931,512.9525854677493 433.33565590900275,510.47411999338203 C439.76119630540785,508.2411411257737 446.140183592015,505.7966947321929 452.3512728742058,503.02874955930645 C458.6211356188488,500.2346122461533 464.85514788734713,497.2464911165855 470.7785119895042,493.7878725352631 C477.47083091958336,489.88026560708545 483.90231623574954,485.4554530579412 490.19832197091444,480.9300730308063 C493.8342077338016,478.31670742975314 497.2407878999385,475.3645527065347 500.57418648366024,472.37163565069875 C504.3104174849856,469.0170324709241 507.96252196663465,465.5399024227346 511.4072107260557,461.88751232397453 C515.2959713945187,457.7642745065965 519.0732206525428,453.5004777488417 522.5745347673123,449.04475190228436 C526.5400459510277,443.99829503011745 530.063302864369,438.60222647508454 533.8076866215105,433.3809641678018 C532.2238329538068,432.35770345003675 530.6399787261341,431.3344423704996 529.0561247784459,430.3111814718485 C527.4722708307577,429.2879205731974 525.8884168830696,428.2646596745463 524.3045629353813,427.2413987758952 C522.7207089876931,426.21813787724415 521.136855040005,425.194876978593 519.5530010923168,424.17161607994194 C517.9691471446286,423.14835518129087 516.3852931969404,422.1250942826398 514.8014392492522,421.1018333839887 C513.217585301564,420.0785724853376 511.6337313538759,419.0553115866865 510.04987740618765,418.0320506880354 C508.4660234584995,417.0087897893843 506.8821695108113,415.98552889073324 505.2983155631231,414.96226799208216 C503.71446161543497,413.93900709343103 502.13060766774674,412.91574619477996 500.5467537200586,411.8924852961289 C498.9628997723704,410.86922439747775 497.37904554469776,409.8459633179406 495.795191876994,408.8227026001756",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M331.788901716802,467.3047311861684 C327.38965463536704,466.7574415158507 322.9293005916095,466.5141094954065 318.5911594801468,465.66286205176175 C314.7589012040669,464.910880966527 310.95681984136945,463.80579771647444 307.27770355417414,462.4950455995296 C304.0093888789771,461.3306490311835 300.8135501922017,459.8648327392715 297.74886659296976,458.2374159958889 C294.9964220288721,456.7758052867223 292.34723212754864,455.0615912859315 289.8263190641852,453.2279632418821 C287.5264777528695,451.55513541351365 285.3495339491935,449.67729577628984 283.2866034689323,447.71804837863556 C281.3691237997089,445.8969414203898 279.4910165758475,443.9862981728125 277.8850886157313,441.88690017418185 C274.89700126811624,437.98063242549483 272.0678223354493,433.90311452205435 269.50455754573863,429.7010511366825 C267.0373184436194,425.6564065351611 265.00031194382984,421.3474336923895 262.7935769402417,417.1467762135021 C260.5310259476868,412.839869524305 258.5415093501169,408.38171087192234 256.09669955730953,404.1783586324291 C250.16968052558582,393.98805720537746 243.81762665669157,384.0366627354406 237.67809046664846,373.9658152138675 C235.63440823348688,375.28615167640214 233.59072544035638,376.606488500709 231.54704292721033,377.9268251441298 C229.50336041406428,379.24716178755057 227.45967790091822,380.5674984309713 225.41599538777217,381.88783507439206 C223.37231287462612,383.20817171781283 221.32863036148007,384.5285083612336 219.284947848334,385.8488450046543 C217.241265335188,387.1691816480751 215.19758282204194,388.48951829149587 213.1539003088959,389.80985493491664 C211.11021779574986,391.1301915783374 209.0665352826038,392.4505282217582 207.02285276945776,393.7708648651789 C204.9791702563117,395.0912015085997 202.93548774316568,396.41153815202046 200.89180523001963,397.7318747954412 C198.84812271687358,399.05221143886195 196.80444020372755,400.3725480822827 194.7607576905815,401.6928847257035 C192.71707517743545,403.01322136912427 190.67339238430495,404.3335581934311 188.62971015114337,405.65389465596576 C198.29272430601088,419.9043439569732 207.9828483197782,434.1365443149007 217.61875317697155,448.40524338665097 C221.39701192345848,454.0000305776624 225.0500651017175,459.68011563475136 228.87220096218414,465.2443534442509 C232.4913186260997,470.5130388279589 235.98944764343614,475.89115028521826 239.94251375011817,480.9040129662734 C244.0210998122121,486.0760468534837 248.41625252289055,491.04209013103593 252.96715746851203,495.79904314904746 C255.4292937852049,498.37265585298155 258.1866689809577,500.6856186724525 260.98163753706126,502.89571013211014 C264.0100572881627,505.2904006246209 267.15914567331464,507.5760556680574 270.4373223901271,509.61338900555245 C274.0535679917229,511.86082663846463 277.8039400601555,513.9572465604983 281.66490449228604,515.7500230433318 C285.98300007083105,517.7550609917313 290.43844823299935,519.563110752535 294.9745024221537,521.0068322992511 C300.0927031333566,522.635837672434 305.34176225368094,524.0184625613481 310.6276691933578,524.9682038030288 C316.6160773761804,526.0441664123125 322.7408552553168,526.3786972076597 328.79744778965187,527.0839438521444 C328.9220916866234,524.5931436573121 329.04673561691436,522.1023427966464 329.17137953054566,519.6115422688974 C329.2960234441769,517.1207417411484 329.42066735780816,514.6299412133994 329.5453112714394,512.1391406856504 C329.66995518507065,509.64834015790143 329.7945990987019,507.1575396301524 329.9192430123332,504.6667391024034 C330.04388692596444,502.1759385746544 330.1685308395957,499.6851380469054 330.29317475322694,497.1943375191564 C330.4178186668582,494.7035369914074 330.5424625804894,492.2127364636584 330.6671064941207,489.7219359359094 C330.791750407752,487.2311354081604 330.9163943213832,484.7403348804114 331.04103823501447,482.2495343526624 C331.1656821486457,479.7587338249134 331.29032606227696,477.2679332971644 331.4149699759082,474.7771327694154 C331.53961388953945,472.2863322416664 331.6642578198304,469.79553138100067 331.788901716802,467.3047311861684",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M231.60397974871566,363.44514683960927 C230.22930200806616,360.35801004738835 228.6962105522048,357.3314745024352 227.4799461199822,354.1837355494228 C226.40650736594256,351.4056349240604 225.38573513586695,348.57067665767875 224.73487018992887,345.66762810448495 C223.64602859213713,340.81107522841836 222.68810660146738,335.85651984318645 222.26082648879273,330.90493126164176 C221.91190568449213,326.861419244143 222.0866386001573,322.73392896422735 222.40626743900307,318.68232630735474 C222.68856355101275,315.1039518353469 223.2229912803495,311.50717035387316 224.0666013413591,308.0149998750004 C225.80152572093897,300.8331845061857 227.919899143919,293.7147221422008 230.1418707607714,286.66036876429234 C231.52447322589074,282.2708588821024 233.12590842829354,277.9377703600012 234.88032358727426,273.68341009470527 C237.07773622105822,268.3548053184782 239.6250107589048,263.16878548755204 241.99735413906546,257.91147363972334 C239.4531429964053,256.60756142571967 236.9089312604567,255.3036489076547 234.36471982115233,253.99973654162034 C231.82050838184793,252.69582417558598 229.27629694254355,251.39191180955163 226.73208550323915,250.08799944351733 C224.18787406393477,248.78408707748298 221.6436626246304,247.48017471144863 219.09945118532602,246.17626234541427 C216.55523974602164,244.87234997937992 214.01102830671724,243.56843761334562 211.46681686741286,242.26452524731127 C208.92260542810848,240.96061288127692 206.3783939888041,239.65670051524256 203.83418254949973,238.3527881492082 C201.28997111019535,237.0488757831739 198.74575967089095,235.74496341713956 196.20154823158657,234.4410510511052 C193.6573367922822,233.1371386850709 191.11312535297782,231.8332263190365 188.56891391367344,230.5293139530022 C186.02470247436906,229.22540158696785 183.48049073842049,227.92148906890293 180.93627959576028,226.6175768548992 C178.8531772257564,231.1244463269037 176.60625089730215,235.56304440722334 174.68697206619103,240.13818617864138 C172.9905733664706,244.1820303696269 171.37316328884947,248.28296027170643 170.08924700326568,252.4745347421097 C167.93151202882945,259.518846691647 165.92138112426198,266.64823118493274 164.36201828613096,273.845845438463 C163.0801763004202,279.76249544545135 162.23485228077354,285.7983035143918 161.56563253174033,291.81732752366565 C160.96849675417076,297.1880216599043 160.65185839219643,302.6117308762432 160.5629517063226,308.0149998750004 C160.47391198187617,313.42635424088064 160.5901543816072,318.86833003578477 161.03179330077953,324.261197617578 C161.5281330635442,330.3220190261278 162.20691365131808,336.41158568361305 163.37688775213363,342.3760668460295 C164.80333766059073,349.648051415767 166.73419947134067,356.85611077072747 168.8210653285975,363.97059481403977 C170.06428063173524,368.2089292550476 171.67589356108303,372.35222963642667 173.36713123331737,376.43452229898986 C175.2812410505394,381.05478152716944 177.5471157482729,385.5303413933906 179.63710779696657,390.07825048626813 C181.80239383164528,388.96853798635465 183.96768045961232,387.8588251823799 186.1329667909352,386.7491125304358 C188.29825312225807,385.63939987849164 190.46353945358098,384.52968722654754 192.62882578490385,383.41997457460343 C194.79411211622673,382.31026192265927 196.9593984475496,381.20054927071516 199.12468477887248,380.09083661877105 C201.28997111019535,378.98112396682694 203.45525744151823,377.87141131488283 205.6205437728411,376.76169866293867 C207.78583010416398,375.65198601099456 209.95111643548685,374.54227335905045 212.11640276680976,373.43256070710635 C214.28168909813263,372.32284805516224 216.4469754294555,371.2131354032181 218.61226176077838,370.10342275127397 C220.77754809210126,368.99371009932986 222.94283442342413,367.8839974473857 225.108120754747,366.7742847954416 C227.27340708606988,365.6645721434975 229.43869371403696,364.55485933952275 231.60397974871566,363.44514683960927",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M342.84268878907613,246.41325023750068 C353.0681775563998,247.45632736993014 363.33485850363263,248.2585106329301 373.5191560858847,249.54248173627002 C375.69049032904627,249.81622967042023 377.84352236853294,250.3808472566991 379.90958426531705,251.08640734997107 C382.24117359338777,251.88264505531095 384.5935559377208,252.801160404465 386.71210976044904,254.04787513210556 C389.29339476765455,255.5668953241801 391.8571924772484,257.3059496985035 394.0091007551183,259.3836121091164 C396.745509146981,262.0256080130898 398.9210736451264,265.26577100947105 401.3770597696467,268.2068500758644 C403.52292612846554,266.82049678115874 405.6687930472534,265.4341431246808 407.81465968605676,264.04778964908905 C409.9605263248601,262.66143617349724 412.10639296366344,261.2750826979054 414.2522596024668,259.8887292223136 C416.3981262412701,258.50237574672184 418.54399288007346,257.11602227113 420.6898595188768,255.7296687955382 C422.83572615768014,254.34331531994644 424.98159307646796,252.95696166346852 427.1274594352868,251.5706083687628 C425.38362552656076,249.26452648762415 423.791701580638,246.8246260712928 421.895957105954,244.65236192772272 C420.2212618324626,242.73338996573517 418.45559240967805,240.81128864144813 416.4161401907606,239.29690005209 C412.9859240676542,236.7498042644662 409.34706439275413,234.26153073865294 405.48695207988237,232.46790879677707 C402.2692124553944,230.9727687785761 398.6813990191583,230.09544741699688 395.1825843786814,229.43061417185947 C392.04006556130497,228.83348308663653 388.77410631084877,228.67925420640836 385.5629517063226,228.68201580569598 C379.30460541370326,228.68739799584 373.03901684924523,229.41987969290642 366.77408168724503,229.4550455401544 C359.09077837378743,229.49817286129888 351.4035177491387,229.0962787128555 343.71823627994934,228.91689531087349 C343.57231171479685,231.83295413239466 343.4263871163249,234.74901361974923 343.2804625345127,237.66507277418708 C343.13453795270055,240.58113192862493 342.9886133542286,243.4971914159795 342.84268878907613,246.41325023750068",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M405.0434148876782,274.5571634188852 C406.501573547975,278.109115150841 408.2063210274235,281.581299941505 409.4178912483363,285.21301953983436 C410.3719243975942,288.0727637179354 411.15116623728136,291.0444588854973 411.54022499819035,294.03155474817646 C412.1411255626928,298.64511899721936 412.55252415464014,303.36986468339296 412.3877692245708,308.0149998750004 C412.22414730997434,312.62819058977834 411.41568248951387,317.26061828091554 410.555094464193,321.80653246733266 C410.002995939213,324.722901790588 409.1516190860751,327.60678751557896 408.1497095736681,330.40185040401775 C406.88133529430553,333.9402796064511 405.21273178718354,337.33862293492626 403.74424308888445,340.80700873994914 C406.12605775669545,342.0276925050571 408.5078730177948,343.2483765742262 410.88968798224994,344.4690604913647 C413.27150294670514,345.68974440850326 415.6533179111603,346.91042832564176 418.03513287561543,348.1311122427803 C420.41694784007063,349.3517961599189 422.7987628045258,350.5724800770574 425.180577768981,351.79316399419594 C427.5623927334361,353.01384791133444 429.9442079945355,354.23453198050356 432.3260226623465,355.4552157456115 C434.42173753488146,350.42808948693954 436.8371679447498,345.5085739688216 438.6131676647356,340.373836046589 C440.0136198069432,336.32487441560244 441.1808989556756,332.1326401782409 441.8553782489266,327.904117085954 C442.9013865802436,321.34636145437804 443.7746305384394,314.64470561198493 443.7746305384394,308.0149998750004 C443.7746305384394,301.38529413801587 442.9013865802436,294.68363829562276 441.8553782489266,288.1258826640468 C441.1808989556756,283.8973595717599 440.0136198069432,279.70512533439836 438.6131676647356,275.6561637034118 C436.8371679447498,270.5214257811792 434.42173753488146,265.60191026306126 432.3260226623465,260.5747840043893 C430.0524723111016,261.7399821369 427.7789213665684,262.90518057347197 425.5053707186794,264.07037885801327 C423.2318200707904,265.2355771425546 420.95826942290137,266.40077542709594 418.68471877501236,267.56597371163724 C416.41116812712335,268.73117199617855 414.1376174792343,269.8963702807199 411.86406683134527,271.0615685652612 C409.5905161834562,272.2267668498025 407.31696523892305,273.3919652863745 405.0434148876782,274.5571634188852",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M400.15085026175905,347.0309476880839 C398.4418787874031,350.53934236109615 396.32005724472214,353.90211008007964 395.0239354007728,357.5561326061353 C393.7668697238977,361.1000481118234 393.1302223755697,364.8996063738523 392.49128769928575,368.6247617833153 C391.8049091023274,372.62652759491584 391.5757501269605,376.7056080451108 391.0479955810459,380.7368962693261 C390.4828498081382,385.05379986953903 390.1300542092252,389.4240747880753 389.2125867428189,393.6693372566 C388.2527855060092,398.11048456379814 386.9437819439935,402.52283817589654 385.416189471398,406.7961255964945 C384.62421524446336,409.0115944221868 383.4736157053108,411.1224581636732 382.25388664422854,413.1356059954708 C380.9880427949185,415.22486571875055 379.56672184450906,417.2671470432275 377.9594707402211,419.10334826172664 C376.25842768214096,421.0467019341137 374.3717393305652,422.8970652170373 372.3290041571242,424.47427066812924 C370.1156961871911,426.18317617899055 367.70508988920153,427.73872454400185 365.1913413100988,428.96168114758626 C362.4075404070061,430.31602013192366 359.43897271188666,431.45177047194994 356.4363557105377,432.2061574318946 C353.05953547150193,433.05456039279886 349.5141379665267,433.24875313369887 346.0530295889445,433.770050910133 C346.19287396318816,436.5646072668859 346.3327183707512,439.35916428947223 346.47256276165456,442.15372097914184 C346.6124071525579,444.94827766881144 346.7522515434613,447.7428343584811 346.89209593436465,450.5373910481507 C347.031940325268,453.3319477378203 347.1717847161714,456.12650442749 347.31162910707474,458.9210611171595 C347.4514734979781,461.7156178068292 347.59131790554113,464.5101748294155 347.73116227978477,467.3047311861684 C352.1216817294103,466.69244549428026 356.59811974291665,466.4480995640486 360.9027216190768,465.46787397238427 C364.71688910186515,464.59932801039196 368.4939313683009,463.30384535671044 372.08747035663043,461.7584165251984 C375.30495245436714,460.37471382575234 378.41908624813016,458.6205468597408 381.33578487727567,456.68047937951013 C383.99114977021367,454.9142403085766 386.49246707624815,452.8391363217407 388.80366092288097,450.639496871706 C390.9507782610796,448.59601444904547 392.91261460023594,446.31030155453914 394.7107184317702,443.9511137614245 C396.4145480617404,441.7156176826786 397.9247579908214,439.30424660971926 399.3094613073944,436.8554452561243 C400.642500380899,434.49801038287507 401.7949513609835,432.0230454899477 402.86394560200296,429.53240508089175 C403.9037790608695,427.1097061252157 404.79119896097905,424.6145114474442 405.63594440705253,422.11542716192827 C406.46219605025493,419.6710547098402 407.1720483279015,417.1851118200818 407.87693686983073,414.7020348680798 C408.56825028279695,412.2667783697288 409.1653920858058,409.8049561302697 409.8245502717389,407.36042681086934 C411.11359047737767,402.579940663816 412.19962308252593,397.73274421935594 413.72153204454617,393.0269884687186 C415.25313068540896,388.2912721468033 416.8741904326592,383.53423314966943 418.9850730803879,379.03601059321136 C421.34283289623943,374.01170078717587 424.4133308128764,369.318264160886 427.1274594352868,364.459391381238 C424.87940895081067,363.00702125436123 422.63135790636557,361.55465076571227 420.3833071419049,360.10228045794946 C418.13525637744425,358.64991015018666 415.8872056129836,357.1975398424238 413.63915484852294,355.74516953466093 C411.3911040840623,354.29279922689807 409.1430533196017,352.84042891913526 406.895002555141,351.3880586113724 C404.64695179068036,349.9356883036096 402.3989007462352,348.4833178149606 400.15085026175905,347.0309476880839",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M333.4670344076423,433.770050910133 C329.9957437932031,433.32458182401786 326.47140048192074,433.1323602456468 323.0531615724587,432.43364352450175 C320.0317282081762,431.8160371870378 317.03547954715845,430.9046147382856 314.14801758640874,429.82108173430606 C311.57878520924925,428.8569658036421 309.07264061099676,427.64066732925187 306.68307855873104,426.29069672057113 C304.53068871950217,425.07471531568274 302.36411840094695,423.7643002449482 300.52216191192497,422.1232256935988 C297.2666838056424,419.22278678283385 294.0732143560419,416.0977624981601 291.3907747728175,412.6661563342283 C288.9651564529579,409.56309789823155 287.0636906609173,406.007440107262 285.19798820267295,402.51923189381324 C283.40670201447824,399.17015596442957 281.9933853998663,395.6179804769663 280.4198088335004,392.15430390573096 C278.8307132779025,388.656467726021 277.5212074114054,385.0182990043593 275.7099718367814,381.6346936409775 C271.4486980083722,373.67412286672175 266.70484419581715,365.9594145865043 262.202280624401,358.1217754928183 C260.1585983912394,359.44211195535297 258.1149155981089,360.76244877965985 256.07123308496284,362.0827854230806 C254.0275505718168,363.4031220665014 251.98386805867077,364.72345870992217 249.9401855455247,366.04379535334294 C247.8965030323787,367.36413199676366 245.85282051923264,368.68446864018443 243.80913800608658,370.0048052836052 C241.76545549294053,371.3251419270259 239.72177269981003,372.6454787513328 237.67809046664846,373.9658152138675 C243.81762665669157,384.0366627354406 250.16968052558582,393.98805720537746 256.09669955730953,404.1783586324291 C258.5415093501169,408.38171087192234 260.5310259476868,412.839869524305 262.7935769402417,417.1467762135021 C265.00031194382984,421.3474336923895 267.0373184436194,425.6564065351611 269.50455754573863,429.7010511366825 C272.0678223354493,433.90311452205435 274.89700126811624,437.98063242549483 277.8850886157313,441.88690017418185 C279.4910165758475,443.9862981728125 281.3691237997089,445.8969414203898 283.2866034689323,447.71804837863556 C285.3495339491935,449.67729577628984 287.5264777528695,451.55513541351365 289.8263190641852,453.2279632418821 C292.34723212754864,455.0615912859315 294.9964220288721,456.7758052867223 297.74886659296976,458.2374159958889 C300.8135501922017,459.8648327392715 304.0093888789771,461.3306490311835 307.27770355417414,462.4950455995296 C310.95681984136945,463.80579771647444 314.7589012040669,464.910880966527 318.5911594801468,465.66286205176175 C322.9293005916095,466.5141094954065 327.38965463536704,466.7574415158507 331.788901716802,467.3047311861684 C331.92874609104564,464.5101748294155 332.0685904986087,461.7156178068292 332.20843488951203,458.9210611171595 C332.3482792804154,456.12650442749 332.48812367131876,453.3319477378203 332.6279680622221,450.5373910481507 C332.7678124531255,447.7428343584811 332.90765684402885,444.94827766881144 333.0475012349322,442.15372097914184 C333.1873456258356,439.35916428947223 333.32719003339867,436.5646072668859 333.4670344076423,433.770050910133",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M257.5874157245902,350.1285950162798 C255.90585532456623,345.60737411401914 253.74555961496168,341.20316899158615 252.54273417592202,336.564931372225 C251.59744190648803,332.91977221356865 251.25287165282583,329.0472438119585 251.14306259916924,325.27840468222723 C251.0531197626009,322.19140893269736 251.43932668722525,319.05065821789293 251.94347850524724,315.9974267344417 C252.38950870104523,313.29618994881736 253.10378987328903,310.6095862865121 253.9936086406292,308.0149998750004 C255.79237617325504,302.7700466677644 257.8456587662067,297.5912725896419 260.00923740514526,292.4788078781985 C262.9411098572416,285.5508903160482 266.1897205477511,278.75550435827995 269.2799619137337,271.8938530542193 C267.0064115624889,270.7286549217086 264.7328606179557,269.5634564851366 262.45930997006667,268.3982582005953 C260.18575932217766,267.233059916054 257.91220867428865,266.06786163151264 255.63865802639958,264.90266334697134 C253.36510737851057,263.73746506243 251.09155673062156,262.5722667778887 248.81800608273252,261.40706849334737 C246.54445543484348,260.241870208806 244.2709044903103,259.0766717722341 241.99735413906546,257.91147363972334 C239.6250107589048,263.16878548755204 237.07773622105822,268.3548053184782 234.88032358727426,273.68341009470527 C233.12590842829354,277.9377703600012 231.52447322589074,282.2708588821024 230.1418707607714,286.66036876429234 C227.919899143919,293.7147221422008 225.80152572093897,300.8331845061857 224.0666013413591,308.0149998750004 C223.2229912803495,311.50717035387316 222.68856355101275,315.1039518353469 222.40626743900307,318.68232630735474 C222.0866386001573,322.73392896422735 221.91190568449213,326.861419244143 222.26082648879273,330.90493126164176 C222.68810660146738,335.85651984318645 223.64602859213713,340.81107522841836 224.73487018992887,345.66762810448495 C225.38573513586695,348.57067665767875 226.40650736594256,351.4056349240604 227.4799461199822,354.1837355494228 C228.6962105522048,357.3314745024352 230.22930200806616,360.35801004738835 231.60397974871566,363.44514683960927 C233.76926578339436,362.3354343396957 235.9345524113614,361.225721535721 238.09983874268428,360.1160088837769 C240.26512507400716,359.0062962318327 242.43041140533006,357.89658357988867 244.59569773665294,356.7868709279445 C246.7609840679758,355.6771582760004 248.9262703992987,354.5674456240563 251.09155673062156,353.4577329721121 C253.25684306194444,352.348020320168 255.42212968991151,351.2383075161933 257.5874157245902,350.1285950162798",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M343.71823627994934,228.91689531087349 C351.4035177491387,229.0962787128555 359.09077837378743,229.49817286129888 366.77408168724503,229.4550455401544 C373.03901684924523,229.41987969290642 379.30460541370326,228.68739799584 385.5629517063226,228.68201580569598 C388.77410631084877,228.67925420640836 392.04006556130497,228.83348308663653 395.1825843786814,229.43061417185947 C398.6813990191583,230.09544741699688 402.2692124553944,230.9727687785761 405.48695207988237,232.46790879677707 C409.34706439275413,234.26153073865294 412.9859240676542,236.7498042644662 416.4161401907606,239.29690005209 C418.45559240967805,240.81128864144813 420.2212618324626,242.73338996573517 421.895957105954,244.65236192772272 C423.791701580638,246.8246260712928 425.38362552656076,249.26452648762415 427.1274594352868,251.5706083687628 C429.68206229673495,249.92018774537297 432.236665718152,248.26976676021093 434.79126885958453,246.619345955935 C437.3458720010171,244.968925151659 439.90047514244964,243.31850434738305 442.4550782838822,241.66808354310712 C445.00968142531474,240.01766273883118 447.56428456674735,238.36724193455518 450.11888770817984,236.71682113027924 C452.67349084961245,235.0664003260033 455.2280942710295,233.4159793408412 457.78269713247755,231.76555871745137 C455.4441479103719,228.63709020921618 453.29592744120225,225.34486066486784 450.76704886743977,222.38015239178804 C448.5344326865491,219.76276469639924 446.0650679983357,217.31035267958725 443.49821286851807,215.01927081204553 C441.2220038390075,212.98760912079268 438.7628246268252,211.1253210747999 436.23785638945526,209.4119217154044 C433.9776385119277,207.87817732760016 431.63862806493444,206.37703979168236 429.1426545238256,205.27783957044613 C424.78755035695804,203.35989797976686 420.2789160796812,201.58363108203366 415.684623265526,200.36049627965798 C411.59176453224103,199.270857860778 407.31546900532794,198.6851100440855 403.0811998815051,198.33951990667913 C394.7008588742476,197.65553806340984 386.2504805542775,197.70291639125162 377.840792872285,197.27178033763101 C367.022203584039,196.71714810063793 356.2111766051853,196.0120701163886 345.39636897078964,195.38221503483817 C345.256524596546,198.17677139159105 345.1166801889829,200.97132841417738 344.97683579807955,203.76588510384698 C344.8369914071762,206.5604417935166 344.6971470162728,209.3549984831862 344.55730262536946,212.1495551728558 C344.41745823446615,214.94411186252546 344.2776138435628,217.73866855219507 344.1377694526594,220.53322524186467 C343.99792506175606,223.32778193153428 343.858080654193,226.1223389541206 343.71823627994934,228.91689531087349",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M432.3260226623465,260.5747840043893 C433.35014450147594,263.2795955082284 434.68000291269055,265.9075715794475 435.3983885338325,268.68921945111504 C436.04046158643575,271.1753788168745 436.3567701053898,273.811076655514 436.40739868358196,276.3782057166704 C436.45366047781766,278.7239163932139 436.1764683664401,281.13142754622373 435.68905965111617,283.4277386642148 C435.2311108156533,285.5852565117274 434.4757933518027,287.7252945032148 433.57132603122176,289.7396926131812 C432.69904521895876,291.6824060530144 431.57719884009276,293.54882714016406 430.35881525258446,295.2990733136137 C429.16248167143925,297.01764396249365 427.85571819276595,298.7160675237088 426.32717452526117,300.1461430801699 C423.32522353135994,302.9547097108377 420.1295717542115,305.6417133137713 416.76733126836643,308.0149998750004 C413.545554572362,310.28913801833033 410.01200336794125,312.1335209340117 406.57512297971283,314.08841719384714 C403.46339170292583,315.8583687625543 400.19254614257216,317.356022798275 397.12149627332025,319.18954336062825 C394.4957307229544,320.7572141356025 391.72918580397595,322.26291224265026 389.4846767208596,324.2919912058297 C387.44090908186206,326.13959607992484 385.9993361032299,328.6437272437522 384.25666610697857,330.81959487245206 C385.88063055882657,331.65187920937956 387.5045956039629,332.48416385036825 389.12856035245505,333.3164483393263 C390.7525251009472,334.14873282828444 392.37648984943934,334.9810173172425 394.00045459793154,335.81330180620057 C395.6244193464237,336.6455862951587 397.2483840949158,337.47787078411676 398.872348843408,338.3101552730749 C400.49631359190016,339.14243976203295 402.1202786370365,339.97472440302164 403.74424308888445,340.80700873994914 C404.81896537369175,339.088201078967 405.75490892874404,337.2647024399603 406.96841047347095,335.65058490910826 C408.13750021766356,334.0955409460903 409.4118063071977,332.56141131302803 410.8920169556429,331.29952425833926 C414.040398286217,328.61551327081617 417.4547212426254,326.19260471802824 420.8541864105288,323.8128907824727 C422.73044656879534,322.4994599264925 424.7566308103271,321.405175633065 426.7191929341527,320.2200898837321 C428.79961117015284,318.96383716479636 430.90672787960847,317.75166091636845 432.9831274900061,316.4888753776667 C435.1556788093443,315.16761410675826 437.3372440034312,313.85758091561115 439.4660457233601,312.4679494549016 C441.6643386935416,311.0329557480557 443.8562866048836,309.5776239044921 445.9644115603372,308.0149998750004 C448.1180246815655,306.41865825172323 450.2482213424996,304.77002123722366 452.2512599534058,302.9910524965951 C454.28460793744125,301.18516494019764 456.27145441002494,299.2936604174188 458.0735713451622,297.26043098392233 C459.903663604085,295.1956385310548 461.6529186628551,293.0119660566302 463.14788753558594,290.6969868375031 C464.6801687172689,288.32422901079616 466.08084382051925,285.80545120199923 467.15532150840374,283.1972198464202 C468.27741173521537,280.47341185453797 469.1998463978183,277.5942590256126 469.73759127967423,274.7008687951193 C470.3135911166994,271.6016439443639 470.6135341201316,268.3680903825144 470.496555665047,265.21937460267407 C470.3679802330846,261.7585023315621 469.8953596666494,258.2180666969982 469.00092961853306,254.8721046422624 C467.99828032236366,251.12130657118269 466.2038548416392,247.576764052998 464.80531763218966,243.92909422522746 C462.09871001468025,245.31623488812704 459.39210180388244,246.70337585508776 456.68549388972883,248.0905166700179 C453.9788859755753,249.47765748494805 451.2722780614217,250.86479829987826 448.56567014726807,252.2519391148084 C445.85906223311446,253.63907992973856 443.15245431896085,255.0262207446687 440.44584640480724,256.41336155959885 C437.73923849065363,257.800502374529 435.0326302798559,259.1876433414898 432.3260226623465,260.5747840043893",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M381.75770764344463,335.1479178972971 C378.69799736342424,338.6775845797889 375.9403018996237,342.5392129099309 372.57857614837155,345.7369187003912 C370.2744100179066,347.9286636322393 367.5199780387658,349.72281447480674 364.7600319982934,351.31627006422235 C362.000085957821,352.9097256536379 359.06908976036596,354.3980582992864 356.0188999055372,355.29765223688463 C351.5687425815439,356.6101392427952 346.84562661576706,357.0675594052766 342.25899046182735,357.9525128947487 C342.4049150269798,360.86857171626986 342.5508396254517,363.78463120362443 342.6967642072639,366.7006903580623 C342.84268878907613,369.6167495125002 342.988613387548,372.53280899985475 343.1345379527005,375.44886782137587 C349.40234449541254,374.4695631318928 355.7672061278149,373.8958551158759 361.93795856884947,372.510953598556 C366.2603756758593,371.54087384455704 370.563618899918,370.15973995504436 374.61404659683353,368.3839240074193 C378.75180013378133,366.5698220734805 382.7590353667613,364.2654302577469 386.5025022704394,361.74119995386445 C388.93956002513437,360.09788502815513 391.1535926519183,358.0390832228753 393.1556205719529,355.881288318644 C395.7030419823582,353.13566580094846 397.8191072385195,349.9810609700931 400.15085026175905,347.0309476880839 C398.61808865688397,346.0406953864044 397.08532649204,345.05044272295277 395.55256460718044,344.0601902403872 C394.01980272232095,343.0699377578216 392.4870408374614,342.07968527525605 390.95427895260184,341.0894327926905 C389.42151706774234,340.0991803101249 387.8887551828828,339.10892782755934 386.35599329802324,338.1186753449938 C384.82323141316374,337.1284228624282 383.2904692483197,336.1381701989765 381.75770764344463,335.1479178972971",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M337.2610735347595,357.9525128947487 C332.67443738081977,357.0675594052766 327.95132141504286,356.6101392427952 323.50116409104965,355.29765223688463 C320.4509742362209,354.3980582992864 317.51997803876577,352.9097256536379 314.7600319982934,351.31627006422235 C312.000085957821,349.72281447480674 309.2456539786802,347.9286636322393 306.9414878482153,345.7369187003912 C303.5797620969631,342.5392129099309 300.8220666331626,338.6775845797889 297.7623563531422,335.1479178972971 C296.3317788739244,336.07215336680554 294.9012008347377,336.99638919808615 293.4706230755355,337.92062484848066 C292.04004531633325,338.8448604988752 290.60946727714656,339.76909633015583 289.17888979792883,340.6933317996643 C292.61440966051805,345.2312053267009 295.87060049951157,349.9192526536057 299.4854499893015,354.3069531780575 C302.08621237651874,357.4637558395787 304.7694702593626,360.6322484959764 307.8257254289503,363.32684135758313 C310.99948518540134,366.1250338872145 314.5216569961676,368.6755006750796 318.1754947674178,370.7853093517719 C320.55688125427287,372.1603758399608 323.2611825502517,373.0976291017459 325.9313982032661,373.7814668522267 C329.3311929757412,374.6521485916139 332.9008170928522,374.89306755082816 336.3855260438863,375.44886782137587 C336.53145060903876,372.53280899985475 336.6773752075107,369.6167495125002 336.8232997893229,366.7006903580623 C336.9692243711351,363.78463120362443 337.115148969607,360.86857171626986 337.2610735347595,357.9525128947487",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M295.26339788960826,330.81959487245206 C293.73647201568895,326.4049747004881 291.7710515137126,322.0859262078647 290.68261994097145,317.5757334114939 C289.93659621660765,314.4843945420475 289.7600319982934,311.20191105383157 289.7600319982934,308.0149998750004 C289.7600319982934,304.82808869616923 289.93659621660765,301.5456052079533 290.68261994097145,298.4542663385069 C291.7710515137126,293.9440735421361 293.73647201568895,289.6250250495127 295.26339788960826,285.21040487754874 L290.06671069443337,282.54709451288284 C288.1375644086868,287.43367431997893 285.9093767342464,292.2265103352701 284.27927146998877,297.20683486431113 C283.1307514754358,300.7158121226426 282.2171242034145,304.36344835138686 281.73083491800145,308.0149998750004 C281.2319936694172,311.76080422633805 281.12663397787287,315.6295961943379 281.32387986799677,319.39890248916464 C281.4523941310872,321.8547692275673 281.9975009009625,324.33200659648315 282.7081153776445,326.69051897468864 C283.6126060443143,329.69250177030074 285.0155021133757,332.5504319754631 286.16919529805216,335.4803880106174 C287.684895433334,334.7035893062871 289.20059616190423,333.9267902978956 290.71629659383024,333.1499914415347 C292.23199702575624,332.37319258517385 293.7476977543264,331.59639357678236 295.26339788960826,330.81959487245206",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M345.39636897078964,195.38221503483817 C348.55896739773874,195.382558132577 351.73104144069697,195.5527219798143 354.8841652516368,195.3832443281632 C357.8154120873408,195.2256923701965 360.7815297382695,195.0140850047169 363.64948091072114,194.40112620598472 C369.2743738430329,193.19893432492864 374.84799495054074,191.60261554931338 380.36269756592685,189.93779228879856 C383.2149630773656,189.0767271870542 385.96592524848944,187.8914036578941 388.75038529119587,186.8234611192073 C391.6267645154287,185.7202642035254 394.47501885281974,184.54393840851208 397.3452153667447,183.42437392569252 C400.3038172998536,182.27032554362535 403.2517042659147,181.08471035673182 406.23678063229755,180.00262252454718 C409.2999521455307,178.89222526312614 412.37286383166116,177.79099301742332 415.48995900559265,176.8469186448756 C418.67725000903727,175.88158406691048 421.89507695255986,174.96893876291142 425.149939164426,174.27439567300877 C428.4784608913324,173.56413464979687 431.8551530902404,172.95696699362577 435.24011082191026,172.63250630553193 C438.7226992137636,172.29868735843058 442.2618080827069,172.1282443574528 445.7525775349954,172.29955676742338 C449.392164356147,172.47817251336437 453.07812357712226,172.8892996184619 456.6311796422305,173.68229077326663 C460.40967405946606,174.52559653496604 464.1968517098352,175.67109603685032 467.74722898202685,177.2084475169358 C471.6093950004687,178.88080687189586 475.41287083883276,180.91124969405092 478.86880951413104,183.31142327840325 C482.70568947925653,185.97616325323224 486.39477219904,189.02891790313208 489.6256849032982,192.4031881944798 C493.2631091612153,196.2020072075536 496.1911087752302,200.68819045385453 499.4738204006569,204.83069119166782 C501.5685946966471,203.47734631304763 503.6633695526063,202.12400107265523 505.75814412858097,200.770656013149 C507.8529187045557,199.4173109536427 509.9476932805304,198.06396589413646 512.042467856505,196.71062083463016 C514.1372424324798,195.35727577512387 516.2320170084545,194.00393071561757 518.3267915844292,192.65058565611128 C520.4215661604038,191.29724059660504 522.5163407363785,189.94389553709874 524.6111153123533,188.59055047759244 C526.705889888328,187.2372054180862 528.8006644643026,185.8838603585799 530.8954390402773,184.5305152990736 C532.990213616252,183.17717023956732 535.0849881922268,181.82382518006108 537.1797627682014,180.47048012055478 C539.2745373441761,179.1171350610485 541.3693119201508,177.76379000154225 543.4640864961256,176.41044494203595 C545.5588610721002,175.05709988252966 547.6536359280594,173.70375464213726 549.7484102240496,172.35040976351706 C545.4526337599565,166.88830258118276 541.6075637824915,160.9961637882975 536.8610802135822,155.96408743048391 C532.6501323987985,151.49976966025963 527.8609045185797,147.44056410685585 522.8761160729706,143.86122737940343 C518.3992798831094,140.64662672543318 513.4814813238985,137.89212906398666 508.4762063071715,135.58227528621592 C503.89643477517785,133.46878451115356 499.01060462411704,131.84065276746674 494.1209764268088,130.5911937209042 C489.5494921370986,129.42303079081853 484.7983425895454,128.72901670587504 480.092868846116,128.32940935627153 C475.60536293340306,127.94831269270742 471.0427796103935,127.99456837708539 466.5420374583815,128.24908168140132 C462.1869559197273,128.49535799662476 457.82899937290154,129.09804387102452 453.52539777411744,129.83177821488948 C449.3274549737967,130.54749846349387 445.16524712408574,131.53985470476425 441.0374042610671,132.59744545880937 C437.00064353611833,133.6317001435616 433.0110859041544,134.86549995839243 429.03158701021516,136.10731453128153 C425.1428446680425,137.3208082498188 421.29445963898377,138.66457166345458 417.43268055273154,139.96337033308845 C413.66378587915267,141.23092999372784 409.9176672109035,142.56726364712586 406.1395657307219,143.8063895221013 C402.44657844533754,145.01760000050683 398.75357986820103,146.24056722493117 395.0194142560335,147.31437939323143 C391.33823979072156,148.3729532073139 387.6339398479396,149.38572854447455 383.8935454982835,150.20354746924954 C380.1327233999328,151.02583282133435 376.33217737744025,151.74016492879042 372.51576491201314,152.2346922238106 C368.54919690859106,152.74867653840346 364.5420392766035,153.09084389020688 360.54460409173595,153.22908229808866 C356.20754277495456,153.37906558076634 351.8563846353062,153.14259895970451 347.5122754070665,153.0993572954892 C347.4241126555481,154.86114270171208 347.3359498707101,156.6229287737683 347.2477871025319,158.3847145129078 C347.15962433435374,160.14650025204736 347.0714615661755,161.90828599118686 346.9832987979973,163.6700717303264 C346.8951360298191,165.43185746946597 346.8069732616409,167.19364320860552 346.7188104934627,168.95542894774508 C346.63064772528446,170.71721468688457 346.5424849571063,172.47900042602413 346.4543221889281,174.24078616516363 C346.36615942074985,176.00257190430318 346.2779966525717,177.76435764344274 346.18983388439347,179.5261433825823 C346.10167111621524,181.28792912172185 346.0135083480371,183.04971486086134 345.92534557985886,184.8115006000009 C345.83718281168063,186.57328633914045 345.74902004350247,188.33507207827995 345.66085727532425,190.0968578174195 C345.572694507146,191.85864355655906 345.48453172230813,193.62042962861528 345.39636897078964,195.38221503483817",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M508.9771587911764,221.29095612556745 C511.0193462214934,226.16563035999843 513.4286657982045,230.9191753034084 515.1037214685272,235.91497975119177 C516.5841389381975,240.3302814695703 517.6653601907517,244.93261429743671 518.4435782111552,249.5242746240532 C519.1357902384688,253.60848036086423 519.4550986874348,257.8000270530702 519.5150116116783,261.9425779414744 C519.5689450243801,265.67168830493677 519.2819988974145,269.4419311688918 518.7851172219915,273.13925837965286 C518.3303540407443,276.5231792760036 517.5741707328411,279.8949416928839 516.6600770416676,283.18632226280954 C515.8074475557569,286.25638843914373 514.830264050782,289.3370064434339 513.4849476907389,292.2235986184325 C510.97307142075226,297.6132323141641 508.17446789390993,302.9257768515505 505.0884991515781,308.0149998750004 C502.1242899430212,312.9034232551773 498.61293501404253,317.46165626468894 495.3344138380727,322.1565378293129 C492.01366165221054,326.911894705566 488.490287432968,331.53092211704984 485.290679066082,336.3657151976316 C481.82061657775625,341.60918007957645 478.4521487799982,346.9369331037461 475.3254012724374,352.3913117168928 C471.62369496870076,358.8486632127933 468.31201202197974,365.53104121621266 464.80531763218966,372.10090552477334 C466.4834142423207,372.9609326779994 468.1615114457401,373.82096013528667 469.83960835251537,374.6809874405434 C471.51770525929055,375.54101474580006 473.1958021660658,376.4010420510568 474.873899072841,377.26106935631344 C476.55199597961627,378.12109666157016 478.2300928863915,378.9811239668269 479.90818979316674,379.84115127208355 C481.586286699942,380.7011785773402 483.26438360671716,381.56120588259694 484.9424805134924,382.4212331878536 C486.62057742026764,383.2812604931103 488.2986743270429,384.141287798367 489.9767712338181,385.0013151036237 C491.65486814059335,385.8613424088804 493.3329650473686,386.7213697141371 495.0110619541438,387.58139701939376 C496.68915886091906,388.4414243246505 498.36725576769425,389.30145162990715 500.0453526744695,390.16147893516387 C501.7234495812447,391.02150624042054 503.4015467846641,391.8815336977078 505.0796433947952,392.7415608509339 C509.6968755713962,384.0495043403354 514.0710454930024,375.21847231121785 518.9313403937199,366.66539043600477 C523.0278455110863,359.456415592546 527.5022102099217,352.4552274667792 531.9500434490469,345.45539069491826 C534.017308059047,342.20200549446696 536.2763633787295,339.07174963764373 538.4766339410959,335.905724519068 C540.6277418558618,332.8104407810574 542.8358858572673,329.7548638209154 545.0041788804438,326.6714641251594 C547.15757667347,323.60924604444455 549.3422678678407,320.5678425422534 551.4417063897038,317.46887118965554 C553.5552894667346,314.34902112553374 555.6682679993846,311.2230889940541 557.6432436771256,308.0149998750004 C559.6579802413847,304.74232440744584 561.6337244633191,301.43206861434743 563.410843115704,298.0265774298308 C565.2503449185165,294.50154145939996 567.0041713356215,290.90771346846446 568.4931050427174,287.22341841015805 C570.0605878693555,283.3447573222667 571.4861243674375,279.37301526952416 572.5800927169056,275.3377089912374 C573.7536850015083,271.00869497862135 574.7209699850321,266.57665735826635 575.2957869449298,262.1304575374496 C575.9242163157969,257.2695665911506 576.2789457458696,252.3156013783618 576.1898317092,247.41643668989002 C576.0907947905995,241.9717481470301 575.6540360129541,236.46503677243527 574.7313340791195,231.09889784345455 C573.6937361397186,225.0645605443982 572.2618103312825,219.01773394592567 570.3089320894935,213.21500800577883 C568.0990998188157,206.64877629402156 564.9317789286742,200.39968561971511 562.2432025417193,193.9920248877421 C560.0237843487574,195.12948020395424 557.8043655625073,196.26693582422752 555.5849470729013,197.40439129247028 C553.3655285832954,198.54184676071299 551.1461100936895,199.67930222895575 548.9266916040835,200.81675769719845 C546.7072731144775,201.95421316544116 544.4878546248716,203.09166863368387 542.2684361352657,204.22912410192657 C540.0490176456597,205.36657957016934 537.8295991560537,206.50403503841204 535.6101806664478,207.64149050665475 C533.3907621768419,208.7789459748975 531.1713436872359,209.91640144314022 528.95192519763,211.05385691138292 C526.732506708024,212.19131237962563 524.513088218418,213.3287678478684 522.2936697288121,214.4662233161111 C520.0742512392062,215.6036787843538 517.8548327496002,216.74113425259657 515.6354142599943,217.87858972083927 C513.4159957703882,219.01604518908198 511.1965769841381,220.1535008093553 508.9771587911764,221.29095612556745",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M457.78269713247755,384.2644410325494 C455.3835694560932,387.3461771193201 453.2256678029834,390.6533612199639 450.58531348902955,393.50965008193776 C448.24620298496797,396.0400586882252 445.60014229079735,398.3558265809363 442.8443026784311,400.4245334373333 C440.37796310255766,402.275923325162 437.6761975910698,403.88782260163515 434.91877592431047,405.2699403146149 C432.4102899061693,406.5272826356063 429.7347408168967,407.5340120732054 427.0465796237294,408.34291353924687 C424.5516501853265,409.09366914330946 421.95327371270594,409.5992556958844 419.36950402959974,409.948911524927 C416.92360630540907,410.27990944710916 414.42122824397575,410.5124827683465 411.95757740183865,410.3848747929211 C407.2886305109126,410.14304066207364 402.58286888050054,409.64433224232687 397.9717108304102,408.8405852061084 C393.56188426582196,408.07193121658497 389.2479183944508,406.748399891424 384.89462355780284,405.6676717156956 C380.6684359884157,404.6184985828079 376.49458555147123,403.3239228846492 372.23326361230494,402.4508812802601 C367.92498778447526,401.568219961877 363.5630436757844,400.7486724769052 359.185830256815,400.4005629473789 C354.2769214377175,400.0101689281844 349.31187435102856,400.29043473480715 344.3748968981042,400.23537063409765 C344.51474127234786,403.0299269908505 344.65458567991095,405.82448401343686 344.79443007081426,408.6190407031065 C344.9342744617176,411.4135973927761 345.074118852621,414.20815408244573 345.21396324352435,417.00271077211534 C345.3538076344277,419.79726746178494 345.4936520253311,422.59182415145455 345.63349641623444,425.38638084112415 C345.7733408071378,428.1809375307938 345.9131852147009,430.97549455338014 346.0530295889445,433.770050910133 C352.7680616818576,433.76329065067074 359.50701025759844,433.3666216031955 366.1981268676833,433.7497701307394 C372.0710059953187,434.0860645224417 377.9375098201236,434.9556419541974 383.7450168021053,435.9283796678716 C389.38214451386085,436.8725794319072 394.93909701720673,438.29719363783204 400.532030948895,439.5005825638686 C403.36012800841314,440.1090826328393 406.173294263215,440.7895171835512 409.0081097757245,441.36404665289336 C411.88919728941346,441.94795402642916 414.7751562189011,442.5298306888758 417.6797400274905,442.97589309250236 C420.64830493330453,443.43178119367985 423.6343645262575,443.84459431095274 426.62755591893483,444.0698981673056 C429.71131274408947,444.3020190755982 432.82187837889313,444.4442522684433 435.91058468098635,444.34816738643894 C439.13195019412495,444.24795568129457 442.3802868898266,444.0050455685966 445.55777136463024,443.4810084058596 C448.92782475117724,442.92521238892795 452.3093833143293,442.17102469040515 455.55319826503813,441.108667847433 C459.061783033746,439.9595982812514 462.54665627251995,438.560707997751 465.81497052288046,436.8467291783983 C469.41833863499835,434.9570404430449 472.9441888109333,432.77872749813207 476.1682453524732,430.2976651833146 C479.77713583990135,427.52045514642595 483.24169929833863,424.4332855726381 486.31381160978447,421.07191212327984 C489.78401480651223,417.2749647115918 492.63473199195664,412.9057721776162 495.795191876994,408.8227026001756 C494.21133820929026,407.7994418824106 492.6274839816176,406.7761808028734 491.0436300339294,405.7529199042223 C489.4597760862413,404.7296590055712 487.87592213855305,403.7063981069201 486.2920681908649,402.68313720826905 C484.7082142431767,401.65987630961797 483.1243602954885,400.63661541096684 481.5405063478003,399.61335451231577 C479.95665240011215,398.5900936136647 478.3727984524239,397.56683271501356 476.78894450473575,396.5435718163625 C475.2050905570476,395.5203109177114 473.62123660935936,394.49705001906034 472.03738266167124,393.47378912040926 C470.453528713983,392.45052822175813 468.86967476629485,391.42726732310706 467.2858208186067,390.40400642445593 C465.70196687091845,389.38074552580485 464.1181129232303,388.3574846271538 462.5342589755421,387.3342237285027 C460.9504050278539,386.3109628298516 459.36655080018124,385.2877017503144 457.78269713247755,384.2644410325494",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M335.1451670984826,400.23537063409765 C332.59674183260694,399.92963647695206 330.0167368211909,399.78880742064456 327.49989030797536,399.31816804354526 C325.27767414456457,398.90262326342616 323.01935404686003,398.4219945964808 320.9279790686037,397.5768181624424 C317.41898697334966,396.1587475357162 313.87078926978927,394.5709166905174 310.6987890874443,392.52842686125155 C308.0747665981607,390.8387865907505 305.7177237719725,388.62940414215745 303.5399110537181,386.3804278631416 C301.5970188541777,384.37404851159044 299.8790814339724,382.10402385947447 298.3366743340598,379.76235996955063 C291.41344582504644,369.2515977964727 284.87422741784655,358.4695528241973 278.14300422694015,347.8231496741364 C275.4862172398348,349.5395871296973 272.8294296927604,351.25602494703037 270.1726424256706,352.97246258347735 C267.51585515858073,354.68890021992434 264.85906761150636,356.4053380372574 262.202280624401,358.1217754928183 C266.70484419581715,365.9594145865043 271.4486980083722,373.67412286672175 275.7099718367814,381.6346936409775 C277.5212074114054,385.0182990043593 278.8307132779025,388.656467726021 280.4198088335004,392.15430390573096 C281.9933853998663,395.6179804769663 283.40670201447824,399.17015596442957 285.19798820267295,402.51923189381324 C287.0636906609173,406.007440107262 288.9651564529579,409.56309789823155 291.3907747728175,412.6661563342283 C294.0732143560419,416.0977624981601 297.2666838056424,419.22278678283385 300.52216191192497,422.1232256935988 C302.36411840094695,423.7643002449482 304.53068871950217,425.07471531568274 306.68307855873104,426.29069672057113 C309.07264061099676,427.64066732925187 311.57878520924925,428.8569658036421 314.14801758640874,429.82108173430606 C317.03547954715845,430.9046147382856 320.0317282081762,431.8160371870378 323.0531615724587,432.43364352450175 C326.47140048192074,433.1323602456468 329.9957437932031,433.32458182401786 333.4670344076423,433.770050910133 C333.60687878188594,430.97549455338014 333.746723189449,428.1809375307938 333.88656758035233,425.38638084112415 C334.0264119712557,422.59182415145455 334.16625636215906,419.79726746178494 334.3061007530624,417.00271077211534 C334.4459451439658,414.20815408244573 334.58578953486915,411.4135973927761 334.7256339257725,408.6190407031065 C334.8654783166759,405.82448401343686 335.00532272423897,403.0299269908505 335.1451670984826,400.23537063409765",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M274.47664910890865,341.4728363311157 C273.0979776123658,337.8948650698314 271.3863856881263,334.40736501891 270.34063425972664,330.7389216141385 C269.51930672219726,327.85774592899725 268.91338001676746,324.81318006030517 268.87541221112133,321.82397906137743 C268.8171695305963,317.23853948059246 269.21678268898467,312.5353405771173 270.0520028012131,308.0149998750004 C270.85866691231354,303.64920867701875 272.2828688291466,299.35415063432816 273.801064881108,295.1655833610817 C275.92303726303464,289.3112511342339 278.5820271567302,283.64606172896816 280.97250810287727,277.8863013747175 C279.02375070133087,276.8875601399984 277.0749927064961,275.88881860121813 275.1262350083055,274.8900772144684 C273.1774773101149,273.8913358277187 271.22871931528016,272.89259428893837 269.2799619137337,271.8938530542193 C266.1897205477511,278.75550435827995 262.9411098572416,285.5508903160482 260.00923740514526,292.4788078781985 C257.8456587662067,297.5912725896419 255.79237617325504,302.7700466677644 253.9936086406292,308.0149998750004 C253.10378987328903,310.6095862865121 252.38950870104523,313.29618994881736 251.94347850524724,315.9974267344417 C251.43932668722525,319.05065821789293 251.0531197626009,322.19140893269736 251.14306259916924,325.27840468222723 C251.25287165282583,329.0472438119585 251.59744190648803,332.91977221356865 252.54273417592202,336.564931372225 C253.74555961496168,341.20316899158615 255.90585532456623,345.60737411401914 257.5874157245902,350.1285950162798 C260.4022876586657,348.6859687207831 263.2171601860297,347.24334212122506 266.0320324167494,345.8007156736977 C268.84690464746916,344.35808922617036 271.6617771748331,342.9154626266124 274.47664910890865,341.4728363311157",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M347.5122754070665,153.0993572954892 C351.8018369342646,153.5488240936553 356.12520077782114,153.78567583793148 360.38096098321597,154.44775779419842 C364.13700960075704,155.03209805222878 367.9218147835351,155.71071388339715 371.54770187587417,156.83862393838103 C377.61362418797296,158.7255593542751 383.70369596754745,160.81851213587038 389.45638919652947,163.4922942068323 C394.15386787345597,165.67562534672606 398.6132073360979,168.48671359324527 402.8982175935998,171.40996357094815 C406.68279143303624,173.99181395797552 410.33112914820236,176.85987120924187 413.6651414873445,180.00759530102312 C420.5265646035822,186.48563576695722 427.07871949126627,193.34540777984319 433.48452395973925,200.28725724409423 C437.4745860352889,204.6112122473736 441.2577555032914,209.14770215582786 444.8527411194125,213.80500870361436 C449.35714656087083,219.6404693136136 453.47271198954115,225.7787089833622 457.78269713247755,231.76555871745137 C459.5198269886672,230.64327275142983 461.2569574048258,229.5209864236361 462.994087541,228.39870027672845 C464.73121767717413,227.2764141298208 466.46834781334826,226.1541279829131 468.2054779495224,225.03184183600547 C469.9426080856965,223.90955568909783 471.67973822187065,222.7872695421902 473.4168683580448,221.66498339528255 C475.15399849421897,220.5426972483749 476.89112863039304,219.42041110146727 478.6282587665672,218.29812495455963 C480.36538890274136,217.17583880765199 482.1025190389155,216.05355266074434 483.8396491750897,214.93126651383665 C485.57677931126375,213.808980366929 487.31390944743794,212.68669422002137 489.051039583612,211.56440807311373 C490.7881697197862,210.44212192620608 492.5252998559603,209.31983577929844 494.26242999213446,208.1975496323908 C495.9995601283086,207.0752634854831 497.7366905444672,205.95297715768942 499.4738204006569,204.83069119166782 C493.5396410513108,196.8201800113456 487.9670605990374,188.5107238515168 481.67128175736093,180.79915684716633 C476.6805730606518,174.68614279732424 471.1654482069272,168.97309227137214 465.61435778550003,163.3569480290903 C461.0127424622827,158.7014058849868 456.16243355353845,154.26909922174855 451.21316452342757,149.98409768801037 C446.75357069989536,146.1230494690866 442.1561157877005,142.3875500498374 437.3877692245708,138.9187987711045 C432.5738974032854,135.41692997556538 427.6300372881253,132.02541781033585 422.4665093701823,129.0722374651943 C416.63243615426313,125.73555165131523 410.62561935032807,122.55309946749458 404.3949658229843,120.04920029404263 C396.76965092696935,116.98483159152192 388.8264419444978,114.55955370805236 380.89860410010607,112.36743383727651 C376.1648973453876,111.05852050641363 371.27524228178436,110.24431347333723 366.4103320256538,109.54610068912632 C360.90040972346753,108.75531566147919 355.3195146269407,108.44899379803041 349.77410642515565,107.90044040170244 C349.6798634827283,109.78372827269351 349.5856205069815,111.66701680951797 349.4913775478945,113.55030501342577 C349.39713458880743,115.43359321733351 349.3028916297204,117.3168814212413 349.20864867063335,119.2001696251491 C349.1144057115463,121.0834578290569 349.02016275245927,122.96674603296469 348.9259197933722,124.85003423687249 C348.8316768342852,126.73332244078028 348.7374338751981,128.61661064468802 348.64319091611105,130.49989884859582 C348.54894795702404,132.38318705250356 348.454704997937,134.26647525641135 348.36046203884996,136.14976346031915 C348.2662190797629,138.03305166422695 348.1719761206758,139.91633986813474 348.0777331615888,141.79962807204254 C347.98349020250174,143.68291627595033 347.88924724341473,145.56620447985807 347.79500428432766,147.44949268376587 C347.7007613252406,149.3327808876736 347.60651834949385,151.21606942449813 347.5122754070665,153.0993572954892",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M464.80531763218966,243.92909422522746 C466.31505021364137,247.531041343501 468.0953779289689,251.04360021509365 469.33451576310557,254.73493650231188 C470.42963671096084,257.99725291485794 471.2304595669088,261.3974580683331 471.8080939781654,264.79005232452033 C472.3218504155098,267.8074749441705 472.5608164120681,270.9041203510052 472.6086883089086,273.9649871298242 C472.6517764788098,276.7199886341524 472.61325961563574,279.5399292943665 472.0809741783904,282.2376571739619 C471.14163023613196,286.9984380712834 469.95590471916734,291.8245448703909 468.19380017039714,296.3405134605747 C466.6031819000109,300.4169924374038 464.29178204794204,304.2516426995608 462.02280572092116,308.0149998750004 C459.84312178993565,311.6302553821546 457.2597945083436,315.00334031664556 454.84781939637793,318.476351508356 C452.40309621085555,321.9965167628946 449.6800483615629,325.3374314599607 447.452710828457,328.99452921374746 C442.1727827835524,337.66371953904587 437.3682518856184,346.63498719104155 432.3260226623465,355.4552157456115 C435.0326302798559,356.842356408511 437.73923849065363,358.2294973754718 440.44584640480724,359.61663819040194 C443.15245431896085,361.0037790053321 445.85906223311446,362.3909198202623 448.56567014726807,363.77806063519245 C451.2722780614217,365.1652014501226 453.9788859755753,366.55234226505274 456.68549388972883,367.9394830799829 C459.39210180388244,369.32662389491304 462.09871001468025,370.71376486187376 464.80531763218966,372.10090552477334 C468.31201202197974,365.53104121621266 471.62369496870076,358.8486632127933 475.3254012724374,352.3913117168928 C478.4521487799982,346.9369331037461 481.82061657775625,341.60918007957645 485.290679066082,336.3657151976316 C488.490287432968,331.53092211704984 492.01366165221054,326.911894705566 495.3344138380727,322.1565378293129 C498.61293501404253,317.46165626468894 502.1242899430212,312.9034232551773 505.0884991515781,308.0149998750004 C508.17446789390993,302.9257768515505 510.97307142075226,297.6132323141641 513.4849476907389,292.2235986184325 C514.830264050782,289.3370064434339 515.8074475557569,286.25638843914373 516.6600770416676,283.18632226280954 C517.5741707328411,279.8949416928839 518.3303540407443,276.5231792760036 518.7851172219915,273.13925837965286 C519.2819988974145,269.4419311688918 519.5689450243801,265.67168830493677 519.5150116116783,261.9425779414744 C519.4550986874348,257.8000270530702 519.1357902384688,253.60848036086423 518.4435782111552,249.5242746240532 C517.6653601907517,244.93261429743671 516.5841389381975,240.3302814695703 515.1037214685272,235.91497975119177 C513.4286657982045,230.9191753034084 511.0193462214934,226.16563035999843 508.9771587911764,221.29095612556745 C507.13666570619614,222.23421172768934 505.29617202792747,223.17746763387242 503.455678646303,224.12072338802494 C501.6151852646786,225.06397914217746 499.7746918830542,226.00723489632992 497.9341985014297,226.95049065048244 C496.09370511980524,227.89374640463495 494.2532117381808,228.8370021587874 492.4127183565564,229.78025791293993 C490.57222497493194,230.72351366709245 488.7317315933075,231.66676942124496 486.891238211683,232.61002517539748 C485.05074483005853,233.55328092954994 483.2102514484341,234.49653668370246 481.36975806680965,235.43979243785498 C479.52926468518524,236.3830481920075 477.68877130356077,237.32630394615995 475.8482779219363,238.26955970031247 C474.0077845403119,239.212815454465 472.1672911586875,240.1560712086175 470.326797777063,241.09932696276996 C468.48630439543854,242.04258271692248 466.6458107171699,242.98583862310556 464.80531763218966,243.92909422522746",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M427.1274594352868,364.459391381238 C425.34900926800384,366.73876902234724 423.7511043323974,369.1876486339733 421.79210831829096,371.29752509297805 C420.05611026230065,373.16722845369816 418.08997573210564,374.8759470598343 416.0424772249966,376.39813084041253 C414.2087326398168,377.76140229364796 412.1986789016632,378.9443350793779 410.1483790414244,379.95389079441895 C408.2809181580353,380.8734176616849 406.32009781162924,381.75465451642305 404.28919499411313,382.18537858733356 C400.6215860928697,382.96322350577395 396.79835631975857,383.56133861525666 393.05284388514576,383.5795977624718 C389.58303921409606,383.59651285096834 386.07188143555646,382.9373930998552 382.6432436771255,382.29090129446865 C379.36496767510283,381.67276116989837 376.16437323767207,380.6388572784326 372.932102603785,379.7857019726012 C369.80655176295375,378.9607152726805 366.72361848290547,377.94903813559546 363.56977925297065,377.2564752772123 C360.4048812842359,376.56148399074664 357.19788534907383,375.90804233828675 353.9758910077763,375.6230395380548 C350.3861382489838,375.3055065196746 346.74832197110214,375.5069250549144 343.1345379527005,375.44886782137587 C343.2379011814911,377.5144093895193 343.3412644436011,379.5799516234962 343.44462768905146,381.6454935245563 C343.54799093450174,383.7110354256165 343.6513541799521,385.7765773266766 343.75471742540236,387.84211922773676 C343.8580806708527,389.9076611287969 343.961443916303,391.9732030298571 344.06480716175327,394.03874493091723 C344.1681704072036,396.10428683197733 344.2715336693136,398.1698290659542 344.3748968981042,400.23537063409765 C349.31187435102856,400.29043473480715 354.2769214377175,400.01016892818444 359.185830256815,400.40056294737894 C363.5630436757844,400.74867247690526 367.92498778447526,401.568219961877 372.23326361230494,402.4508812802601 C376.49458555147123,403.3239228846492 380.6684359884157,404.6184985828079 384.89462355780284,405.6676717156956 C389.2479183944508,406.748399891424 393.56188426582196,408.07193121658497 397.9717108304102,408.8405852061084 C402.58286888050054,409.64433224232687 407.2886305109126,410.14304066207364 411.95757740183865,410.3848747929211 C414.42122824397575,410.5124827683465 416.92360630540907,410.27990944710916 419.36950402959974,409.948911524927 C421.95327371270594,409.5992556958844 424.5516501853265,409.09366914330946 427.0465796237294,408.34291353924687 C429.7347408168967,407.5340120732054 432.4102899061693,406.5272826356063 434.91877592431047,405.2699403146149 C437.6761975910698,403.88782260163515 440.37796310255766,402.275923325162 442.8443026784311,400.4245334373333 C445.60014229079735,398.3558265809363 448.24620298496797,396.0400586882252 450.58531348902955,393.50965008193776 C453.2256678029834,390.6533612199639 455.3835694560932,387.3461771193201 457.78269713247755,384.2644410325494 C455.2280942710295,382.6140204091596 452.67349084961245,380.9635994239975 450.11888770817984,379.31317861972155 C447.56428456674735,377.6627578154456 445.00968142531474,376.0123370111696 442.4550782838822,374.3619162068937 C439.90047514244964,372.71149540261774 437.3458720010171,371.06107459834175 434.79126885958453,369.41065379406587 C432.236665718152,367.76023298978987 429.68206229673495,366.1098120046278 427.1274594352868,364.459391381238",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M336.3855260438863,375.44886782137587 C332.9008170928522,374.89306755082816 329.3311929757412,374.6521485916139 325.9313982032661,373.7814668522267 C323.2611825502517,373.0976291017459 320.55688125427287,372.1603758399608 318.1754947674178,370.7853093517719 C314.5216569961676,368.6755006750796 310.99948518540134,366.1250338872145 307.8257254289503,363.32684135758313 C304.7694702593626,360.6322484959764 302.08621237651874,357.4637558395787 299.4854499893015,354.3069531780575 C295.87060049951157,349.9192526536057 292.61440966051805,345.2312053267009 289.17888979792883,340.6933317996643 C287.33957581608183,341.8816345978569 285.5002612742659,343.06993775782166 283.66094701243446,344.25824073690035 C281.82163275060304,345.44654371597903 279.9823182087871,346.63484687594377 278.14300422694015,347.8231496741364 C284.87422741784655,358.4695528241973 291.41344582504644,369.2515977964727 298.3366743340598,379.76235996955063 C299.8790814339724,382.10402385947447 301.59701885417763,384.37404851159044 303.539911053718,386.3804278631416 C305.7177237719725,388.62940414215745 308.0747665981607,390.8387865907505 310.6987890874443,392.52842686125155 C313.87078926978927,394.5709166905174 317.41898697334966,396.1587475357162 320.9279790686037,397.5768181624424 C323.01935404686003,398.4219945964808 325.27767414456457,398.90262326342616 327.49989030797536,399.31816804354526 C330.0167368211909,399.7888074206446 332.59674183260694,399.9296364769521 335.1451670984826,400.23537063409765 C335.24853032727316,398.1698290659542 335.3518935893832,396.10428683197733 335.4552568348335,394.03874493091723 C335.55862008028384,391.9732030298571 335.6619833257341,389.9076611287969 335.7653465711844,387.84211922773676 C335.86870981663475,385.7765773266766 335.97207306208503,383.7110354256165 336.07543630753537,381.6454935245563 C336.17879955298565,379.5799516234962 336.2821628150957,377.5144093895193 336.3855260438863,375.44886782137587",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M286.16919529805216,335.4803880106174 C285.0155021133757,332.5504319754631 283.6126060443143,329.69250177030074 282.7081153776445,326.69051897468864 C281.9975009009625,324.33200659648315 281.4523941310872,321.8547692275673 281.32387986799677,319.39890248916464 C281.12663397787287,315.6295961943379 281.2319936694172,311.76080422633805 281.73083491800145,308.0149998750004 C282.2171242034145,304.36344835138686 283.1307514754358,300.7158121226426 284.27927146998877,297.20683486431113 C285.9093767342464,292.2265103352701 288.1375644086868,287.43367431997893 290.06671069443337,282.54709451288284 C288.5510105591515,281.77029580855253 287.03530983058135,280.9934968001611 285.51960939865535,280.21669794380017 C284.0039089667293,279.4398990874393 282.48820823815913,278.6631000790478 280.97250810287727,277.8863013747175 C278.5820271567302,283.64606172896816 275.92303726303464,289.3112511342339 273.801064881108,295.1655833610817 C272.2828688291466,299.35415063432816 270.85866691231354,303.64920867701875 270.0520028012131,308.0149998750004 C269.21678268898467,312.5353405771173 268.8171695305963,317.23853948059246 268.87541221112133,321.82397906137743 C268.91338001676746,324.81318006030517 269.51930672219726,327.85774592899725 270.34063425972664,330.7389216141385 C271.3863856881263,334.40736501891 273.0979776123658,337.8948650698314 274.47664910890865,341.4728363311157 C276.42540651045505,340.4740950963965 278.37416450528985,339.47535355761624 280.3229222034804,338.47661217086653 C282.271679901671,337.4778707841168 284.2204378965058,336.4791292453365 286.16919529805216,335.4803880106174",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"rect",x:659.7000339982667,y:8.389921756510489,w:10,h:10,rx:0,ry:0,style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:16.38992175651049,text:"Salmon",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:26.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:34.38992175651049,text:"Perch",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:44.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:52.38992175651049,text:"Bass",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:62.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:70.38992175651049,text:"Catfish",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:80.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:88.38992175651049,text:"Trout",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}}]}},{key:"treemap",label:"Fare circle treemap",source:"https://gofish.graphics/js/examples/titanic-fare-circle-treemap.html",blurb:"GoFish's titanic fare circle treemap, verbatim: faceted by passenger class (facet by pclass, dir x), then a squarify-circle treemap per facet sizing each passenger by fare (sort desc, so fares run large→small) and colouring by survival. Three blocks — big first-class circles, then a field of tiny third-class ones. Every circle is a data node carrying its passenger; the facet labels/legend are chrome.",doc:Ae},{key:"bottle",label:"Bottle fill pictorial",source:"https://gofish.graphics/js/examples/bottle-fill-chart.html",blurb:"GoFish's real bottle-fill technique: a fill rect sized by amount is color-composited *inside* the bottle silhouette via paint({ blendMode: 'color' }), so the liquid reads as rising within the bottle (not a bar behind a picture). Bakes to a composite item; the adapter harvests the composite's datum so each bottle keeps hit-testing and tooltips.",doc:Se},{key:"python",label:"Python memory diagram",source:"https://gofish.graphics/js/examples/python-tutor-memory-diagram.html",blurb:"A Python Tutor runtime memory diagram: a Global Frame of variables (c, d → pointers; x = 5) whose arrows fan into a heap of tuples, with tuple cells pointing on to further tuples. NOTE: GoFish's own example is not a portable spec — it relies on ~250 lines of unpublished story helpers (globalFrame/heap/tuple/Arrow). This is a best-effort reconstruction from GoFish primitives only (rect/text/Arrow/ref + .name()). It is also vertically flipped vs the live example: a free-space Layer baked through toDisplayList orients y-down differently than .render() (GoFish issue #143/#16). See gofish-displaylist-findings.md §6.",doc:Me}],Le=[{name:"Classic",tapioca:95,tea:470,ice:60},{name:"Extra Boba",tapioca:240,tea:360,ice:45},{name:"Light Ice",tapioca:95,tea:500,ice:12},{name:"Mega",tapioca:150,tea:660,ice:120}],Fe="#111111",Pe=function(){const e=.62,t=710,r=1180/Le.length,s=[];return Le.forEach((o,i)=>{const a=r*(i+.5),n=o.tapioca*e,l=o.tea*e,c=o.ice*e,d=n+l+c+70,u=t-d,f=e=>(150+e/d*70)/2,y=(e,r,s)=>{const o=f(e),i=f(r);return{kind:"path",d:`M ${a-o} ${t-e} L ${a+o} ${t-e} L ${a+i} ${t-r} L ${a-i} ${t-r} Z`,style:{fill:s}}};s.push({...y(n,n+l,"#cda86a"),datum:[{name:o.name,component:"tea",volume:o.tea}],role:"node",id:o.name+"-tea"}),s.push({...y(n+l,n+l+c,"#dcebf1"),datum:[{name:o.name,component:"ice",volume:o.ice}],role:"node",id:o.name+"-ice"});const p=13,h=Math.max(1,Math.round(n/26));for(let e=0;h>e;e++){const r=t-(e*p*2+p),o=f(e*p*2+p)-6,i=Math.max(1,Math.floor(2*o/26)),n=i*p*2;for(let e=0;i>e;e++)s.push({kind:"ellipse",cx:a-n/2+p+e*p*2,cy:r,rx:p,ry:p,style:{fill:"#241a12"},role:"overlay"})}s.push({kind:"rect",x:a-f(0),y:t-n,w:2*f(0),h:n,style:{fill:"rgba(0,0,0,0)"},datum:[{name:o.name,component:"tapioca",volume:o.tapioca}],role:"node",id:o.name+"-tapioca"});const m=Math.max(1,Math.round(c/34));for(let e=0;m>e;e++){const r=t-(n+l)-40*e*.78-20,o=f(n+l+40*e)-10,i=Math.max(1,Math.floor(2*o/40)),c=40*i;for(let e=0;i>e;e++)s.push({kind:"rect",x:a-c/2+4+40*e,y:r-20,w:33,h:33,rx:6,ry:6,style:{fill:"#cfe6ee",stroke:"#bcd9e3",strokeWidth:1},role:"overlay"})}const k=f(0),x=f(d);s.push({kind:"path",d:`M ${a-k} 710 L ${a+k} 710 L ${a+x} ${u} L ${a-x} ${u} Z`,style:{fill:"none",stroke:Fe,strokeWidth:4},role:"overlay"}),s.push({kind:"rect",x:a-x-10,y:u-4,w:2*(x+10),h:8,style:{fill:Fe},role:"overlay"});const v=a+22,b=a-14,g=u-64;s.push({kind:"path",d:`M ${v-13} ${g} L ${v+13} ${g} L ${b+13} 686 L ${b-13} 686 Z`,style:{fill:"#5b86b8",opacity:.85},role:"overlay"}),s.push({kind:"text",x:a,y:750,text:o.name,fontSize:26,fontFamily:"system-ui, sans-serif",textAnchor:"middle",style:{fill:"#444444"},role:"overlay"})}),{irVersion:0,ir:"gofish-display-list",viewport:{w:1180,h:820},items:s}}(),Ie=we,ze=Ae,De=Se,$e=Pe,Te=Me,Re=Be.map(e=>({key:e.key,label:e.label,doc:e.doc,blurb:e.blurb,source:e.source})),Ee={key:"boba",label:"Boba volume cups (hand-written)",doc:Pe,blurb:"A pictorial bubble-tea chart written by hand — no gofish-graphics, no GoFish layout solve. Trapezoid cup outlines, lid bars, tilted straws, packed tapioca pearls, tan tea, and ice cubes are all computed in plain arithmetic and emitted as path/ellipse/rect/text items, proving the render IR is an open format any host can produce and still get Semiotic's hit-testing, tooltips, SSR, and a11y. The three volume bands per drink are data nodes; the cup, straw, pearls, and labels are chrome.",source:"https://observablehq.com/@kristw/boba-science",handWritten:!0},je=Re.findIndex(e=>"bottle"===e.key),Ne=[...Re.slice(0,je+1),Ee,...Re.slice(je+1)],_e={info:"#2563eb",warning:"#d97706",error:"#dc2626"};function Oe(e){if("string"==typeof e)return e;try{return JSON.stringify(e,null,2)??e+""}catch{return e+""}}function qe(e,t){return null==t?e.findings:e.findings.slice(0,Math.max(0,t))}function Qe(...e){for(const t of e){const e=t?.trim();if(e)return e}return"Review this finding."}function He(e){return Qe(e.remediation,e.explanation,e.evidence,e.condition)}function Ve(e){return Qe(e.name,e.ruleId)}function Ze(e,t){return e.domain?`${t} · ${e.domain}`:t}function Ge(e,t){return t[e]??t.info??_e.info}function Ue(e,t){return`${function(e){return Qe(e.ruleId,e.name)}(e)}:${t}`}function Xe(e,t={},r=0,s={kind:"image",findings:[e]}){const o=t.sourcePrefix??"datapitfalls";return{id:Ue(e,r),level:(i=e.severity,"error"===i?"error":"warning"===i?"warning":"info"===i?"info":"neutral"),title:Ve(e),message:t.message?t.message(e,r,s):He(e),source:Ze(e,o),...void 0===t.dismissible?{}:{dismissible:t.dismissible}};var i}function Ye(e,t={}){return qe(e,t.max).map((r,s)=>Xe(r,t,s,e))}function Je(e,t={}){return{notifications:Ye(e,t),meta:{count:e.findings.length,kind:e.kind}}}function Ke(e,t={},r=0,s={kind:"image",findings:[e]}){const o={..._e,...t.palette},i=t.anchorFor?.(e,r,s);return{...i??{},type:t.type??"label",title:Ve(e),label:He(e),wrap:t.wrap??240,color:Ge(e.severity,o),className:(a=e.severity,"pitfall-"+(a+"").toLowerCase().replace(/[^a-z0-9_-]/g,"-")),emphasis:"error"===e.severity?"primary":"secondary",provenance:{author:"datapitfalls",authorKind:"watcher",source:"computed",basis:"llm-inference",stableId:e.ruleId},dataPitfall:{ruleId:e.ruleId,domain:e.domain,severity:e.severity,evidence:e.evidence??""}};var a}function et(e,t={}){return qe(e,t.max).map((r,s)=>Ke(r,t,s,e))}function tt(e,t={}){return{annotations:et(e,t),meta:{count:e.findings.length,kind:e.kind}}}function rt(e,t,r){return{role:e,artifact:{kind:"text",content:t,...r?{filename:r}:{}}}}function st(e,t,r,s){return{role:e,artifact:{kind:"code",content:t,language:r,...s?{filename:s}:{}}}}function ot(a,n,l={}){const c=[],d=!1!==l.includeConfig,u=!1!==l.includeJSX,f=!1!==l.includeGrounding,y=!1!==l.includeDiagnostics,p=!1!==l.includeAccessibility,h=l.filenamePrefix??a,m=i(a,n,l.config);l.context?.trim()&&c.push(rt("Analysis context",l.context.trim(),h+".context.md")),d&&c.push(st("Semiotic chart config",Oe(m),"json",h+".semiotic-config.json")),u&&c.push(st("Semiotic chart JSX",r(m),"jsx",h+".semiotic.jsx"));var k;const x=(v=(k=l.rendered?.image,null==k?[]:Array.isArray(k)?k:[k])).length>0?{role:"Rendered chart image",artifact:{kind:"image",images:v}}:null;var v;let b,g,C;return x&&c.push(x),l.rendered?.svg?.trim()&&c.push(st("Rendered chart SVG",l.rendered.svg.trim(),"svg",h+".rendered.svg")),null!=l.rendered?.evidence&&c.push(rt("Semiotic render evidence",[a+": Semiotic render evidence","\n```json",Oe(l.rendered.evidence),"```"].join("\n"),h+".render-evidence.md")),f&&(b=t(a,n,l.grounding),c.push(rt("Semiotic reader grounding",function(e){return[e.component+": Semiotic reader grounding","",e.text,"\nStructured grounding JSON:\n```json",Oe(e),"```"].join("\n")}(b),h+".reader-grounding.md"))),y&&(g=s(a,n),c.push(rt("Semiotic config diagnostics",function(e,t){const r=t.diagnoses.filter(e=>"error"===e.severity).length,s=t.diagnoses.filter(e=>"warning"===e.severity).length,o=[e+": Semiotic diagnoseConfig report","ok: "+t.ok,"errors: "+r,"warnings: "+s];if(0===t.diagnoses.length)return o.push("","No Semiotic config issues detected."),o.join("\n");o.push("");for(const e of t.diagnoses)o.push(`[${e.severity}] ${e.code}: ${e.message}`),e.fix&&o.push("Fix: "+e.fix);return o.join("\n")}(a,g),h+".diagnose-config.md"))),p&&(C=e(a,n,l.accessibility),c.push(rt("Semiotic accessibility audit",o(C),h+".accessibility.md"))),l.narrative?.trim()&&c.push(rt("Author narrative",l.narrative.trim(),h+".narrative.md")),l.additionalStages?.length&&c.push(...l.additionalStages),0===c.length&&c.push(st("Semiotic chart config",Oe(m),"json",h+".semiotic-config.json")),{input:{kind:"chain",stages:c},config:m,...b?{grounding:b}:{},...g?{diagnosis:g}:{},...C?{accessibility:C}:{}}}function it(e,t,r={}){return ot(e,t,r).input}var at="0.1",nt=["trend","compare-series","compare-categories","rank","part-to-whole","distribution","correlation","flow","hierarchy","geo","outlier-detection","composition-over-time","change-detection"],lt=new Set(["fresh","aging","stale","expired"]),ct=new Set(["proposed","accepted","disputed","retracted"]),dt=new Set(["fixed","latest","sticky","semantic"]),ut=new Set(["visual","screen-reader","sonified","agent"]);function ft(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function yt(e,t,r){("number"!=typeof r||!Number.isInteger(r)||1>r||r>5)&&e.push(t+" must be an integer in [1, 5]")}function pt(e,t,r){void 0!==r&&"string"!=typeof r&&e.push(t+" must be a string")}function ht(e,t,r,s,o){void 0!==r&&("number"!=typeof r||!Number.isFinite(r)||void 0!==s&&s>r||void 0!==o&&r>o)&&e.push(`${t} must be a finite number${void 0!==s&&void 0!==o?` in [${s}, ${o}]`:void 0!==s?" >= "+s:""}`)}function mt(e,t,r){void 0!==r&&"boolean"!=typeof r&&e.push(t+" must be a boolean")}function kt(e,t,r,s){for(const o of Object.keys(r))s.includes(o)||e.push(`${t}.${o} is not allowed`)}function xt(e,t){void 0!==t&&t!==at&&e.push("specVersion must be the string "+at)}function vt(e){const t=[];if(!ft(e))return{valid:!1,errors:["capability must be an object"]};xt(t,e.specVersion),"string"==typeof e.component&&0!==e.component.length||t.push("component is required and must be a non-empty string"),pt(t,"family",e.family),pt(t,"importPath",e.importPath);const r=e.rubric;if(ft(r)?(kt(t,"rubric",r,["familiarity","accuracy","precision"]),yt(t,"rubric.familiarity",r.familiarity),yt(t,"rubric.accuracy",r.accuracy),yt(t,"rubric.precision",r.precision)):t.push("rubric is required and must be an object"),void 0!==e.intentScores)if(ft(e.intentScores))for(const[r,s]of Object.entries(e.intentScores))ht(t,"intentScores."+r,s,0,5);else t.push("intentScores must be an object");if(void 0!==e.variants&&(Array.isArray(e.variants)?e.variants.forEach((e,r)=>{if(ft(e)){if("string"!=typeof e.key&&t.push(`variants[${r}].key is required`),"string"!=typeof e.label&&t.push(`variants[${r}].label is required`),pt(t,`variants[${r}].description`,e.description),void 0!==e.intentDeltas)if(ft(e.intentDeltas))for(const[s,o]of Object.entries(e.intentDeltas))ht(t,`variants[${r}].intentDeltas.${s}`,o);else t.push(`variants[${r}].intentDeltas must be an object`);if(void 0!==e.rubricDeltas)if(ft(e.rubricDeltas)){kt(t,`variants[${r}].rubricDeltas`,e.rubricDeltas,["familiarity","accuracy","precision"]);for(const s of["familiarity","accuracy","precision"])ht(t,`variants[${r}].rubricDeltas.${s}`,e.rubricDeltas[s])}else t.push(`variants[${r}].rubricDeltas must be an object`);for(const s of["caveats","tags"]){const o=e[s];void 0!==o&&(Array.isArray(o)&&!o.some(e=>"string"!=typeof e)||t.push(`variants[${r}].${s} must be an array of strings`))}void 0===e.props||ft(e.props)||t.push(`variants[${r}].props must be an object`)}else t.push(`variants[${r}] must be an object`)}):t.push("variants must be an array")),void 0!==e.mobile)if(ft(e.mobile)){const r=e.mobile;pt(t,"mobile.strategy",r.strategy),mt(t,"mobile.responsive",r.responsive),mt(t,"mobile.supportsResponsiveLayout",r.supportsResponsiveLayout);for(const e of["minViewportWidth","maxMarks","maxAnnotations","minimumHitTarget"])ht(t,"mobile."+e,r[e],0);void 0!==r.breakpoints&&(Array.isArray(r.breakpoints)?r.breakpoints.forEach((e,r)=>{ht(t,`mobile.breakpoints[${r}]`,e)}):t.push("mobile.breakpoints must be an array")),void 0!==r.summary&&"boolean"!=typeof r.summary&&"string"!=typeof r.summary&&t.push("mobile.summary must be a boolean or string"),void 0!==r.interaction&&(ft(r.interaction)?(pt(t,"mobile.interaction.primary",r.interaction.primary),pt(t,"mobile.interaction.hoverFallback",r.interaction.hoverFallback),ht(t,"mobile.interaction.targetSize",r.interaction.targetSize,0),void 0===r.interaction.alternatives||Array.isArray(r.interaction.alternatives)&&!r.interaction.alternatives.some(e=>"string"!=typeof e)||t.push("mobile.interaction.alternatives must be an array of strings")):t.push("mobile.interaction must be an object")),void 0!==r.labels&&(ft(r.labels)?(pt(t,"mobile.labels.strategy",r.labels.strategy),ht(t,"mobile.labels.minFontSize",r.labels.minFontSize,0)):t.push("mobile.labels must be an object")),void 0!==r.custom&&(ft(r.custom)?(mt(t,"mobile.custom.dataBearingSceneNodes",r.custom.dataBearingSceneNodes),mt(t,"mobile.custom.stableIds",r.custom.stableIds),pt(t,"mobile.custom.navigationGranularity",r.custom.navigationGranularity)):t.push("mobile.custom must be an object"))}else t.push("mobile must be an object");for(const r of["caveats","tags"]){const s=e[r];void 0===s||Array.isArray(s)&&!s.some(e=>"string"!=typeof e)||t.push(r+" must be an array of strings")}return{valid:0===t.length,errors:t}}function bt(e){const t=[];if(!ft(e))return{valid:!1,errors:["audience profile must be an object"]};if(xt(t,e.specVersion),pt(t,"name",e.name),void 0!==e.familiarity)if(ft(e.familiarity))for(const[r,s]of Object.entries(e.familiarity))("number"!=typeof s||!Number.isInteger(s)||1>s||s>5)&&t.push(`familiarity.${r} must be an integer in [1, 5]`);else t.push("familiarity must be an object");if(void 0!==e.targets)if(ft(e.targets))for(const[r,s]of Object.entries(e.targets))!ft(s)||"increase"!==s.direction&&"decrease"!==s.direction?t.push(`targets.${r}.direction must be "increase" or "decrease"`):(kt(t,"targets."+r,s,["direction","weight","reason"]),void 0===s.weight||"number"==typeof s.weight&&Number.isInteger(s.weight)&&s.weight>=1&&3>=s.weight||t.push(`targets.${r}.weight must be an integer in [1, 3]`),pt(t,`targets.${r}.reason`,s.reason));else t.push("targets must be an object");return void 0===e.exposureLevel||"number"==typeof e.exposureLevel&&Number.isInteger(e.exposureLevel)&&[0,1,2].includes(e.exposureLevel)||t.push("exposureLevel must be 0, 1, or 2"),void 0===e.receptionModality||ut.has(e.receptionModality)||t.push("receptionModality must be one of "+[...ut].join(", ")),{valid:0===t.length,errors:t}}function gt(e){const t=[];if(!ft(e))return{valid:!1,errors:["annotation must be an object"]};const r=e.provenance;if(void 0!==r)if(ft(r)){for(const e of["author","authorKind","source","basis","dataVersion","stableId"])pt(t,"provenance."+e,r[e]);ht(t,"provenance.confidence",r.confidence,0,1),void 0===r.createdAt||"string"==typeof r.createdAt&&function(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.test(e)&&!Number.isNaN(Date.parse(e))}(r.createdAt)||t.push("provenance.createdAt must be an ISO 8601 date-time string")}else t.push("provenance must be an object");const s=e.lifecycle;return void 0!==s&&(ft(s)?(void 0===s.freshness||lt.has(s.freshness)||t.push("lifecycle.freshness must be one of "+[...lt].join(", ")),void 0===s.status||ct.has(s.status)||t.push("lifecycle.status must be one of "+[...ct].join(", ")),void 0===s.anchor||dt.has(s.anchor)||t.push("lifecycle.anchor must be one of "+[...dt].join(", ")),pt(t,"lifecycle.supersedes",s.supersedes),void 0===s.ttlHint||"string"==typeof s.ttlHint||"number"==typeof s.ttlHint&&Number.isFinite(s.ttlHint)||t.push("lifecycle.ttlHint must be an ISO 8601 duration string or a number of milliseconds")):t.push("lifecycle must be an object")),{valid:0===t.length,errors:t}}var Ct={linear:"linear",monotoneX:"monotone-x",monotoneY:"monotone-y",step:"step",stepAfter:"step-after",stepBefore:"step-before",basis:"basis",cardinal:"cardinal",catmullRom:"catmull-rom"};function Wt(e){return{field:e,type:"quantitative"}}function wt(e){return{field:e,type:"nominal"}}function At(e){return"time"===e.xScaleType?"temporal":"quantitative"}function St(e,t){return"string"==typeof t&&(e.axis={title:t}),e}var Mt={BarChart:["categoryAccessor","valueAccessor"],StackedBarChart:["categoryAccessor","valueAccessor","stackBy"],GroupedBarChart:["categoryAccessor","valueAccessor","groupBy"],LineChart:["xAccessor","yAccessor"],AreaChart:["xAccessor","yAccessor"],StackedAreaChart:["xAccessor","yAccessor","areaBy"],Scatterplot:["xAccessor","yAccessor"],BubbleChart:["xAccessor","yAccessor","sizeBy"],Heatmap:["xAccessor","yAccessor","valueAccessor"],PieChart:["valueAccessor","categoryAccessor"],DonutChart:["valueAccessor","categoryAccessor"],DotPlot:["categoryAccessor","valueAccessor"],Histogram:["valueAccessor"]},Bt={LineChart:["lineBy","colorBy"],AreaChart:["colorBy"],StackedAreaChart:["colorBy"],Scatterplot:["colorBy"],BubbleChart:["colorBy"],Heatmap:["colorBy"],Histogram:["categoryAccessor"]};function Lt(e,t={}){const r=[],s={adapter:"semiotic/vega-lite",direction:"export",sourceFormat:"semiotic-chart-config",targetFormat:"vega-lite",..."string"==typeof e.version?{specVersion:e.version}:{}},o=e.props||{},i=function(e,t){const r=[];for(const s of Mt[e]||[])"string"==typeof t[s]&&0!==t[s].length||r.push({code:"UNSERIALIZABLE_ACCESSOR",severity:"error",path:"/props/"+s,message:`${e} requires a string ${s} for Vega-Lite export.`});for(const s of Bt[e]||[])void 0===t[s]||"string"==typeof t[s]&&0!==t[s].length||r.push({code:"UNSERIALIZABLE_ACCESSOR",severity:"error",path:"/props/"+s,message:`${e} can export ${s} only as a non-empty string field name.`});return r}(e.component,o);if(i.length>0)return{status:"refused",diagnostics:i,lossReport:i.map(({code:e,message:t,path:r})=>({code:e,message:t,path:r})),provenance:s};const a={};let n;const l=e.component;switch(l){case"BarChart":case"StackedBarChart":case"GroupedBarChart":{n="bar";const e="horizontal"===o.orientation,t=St(wt(o.categoryAccessor),o.categoryLabel),s=St(Wt(o.valueAccessor),o.valueLabel);e?(a.y=t,a.x=s):(a.x=t,a.y=s),"StackedBarChart"===l&&o.stackBy?a.color=wt(o.stackBy):"GroupedBarChart"===l&&o.groupBy&&(a.color=wt(o.groupBy),r.push({code:"GROUPED_BAR_APPROXIMATION",path:"/props/groupBy",message:"GroupedBarChart maps groupBy to color; Vega-Lite needs xOffset for an exact grouped layout."}));break}case"LineChart":n=o.curve||o.showPoints?{type:"line"}:"line","object"==typeof n&&(o.curve&&Ct[o.curve]&&(n.interpolate=Ct[o.curve]),o.showPoints&&(n.point=!0)),a.x=St({field:o.xAccessor,type:At(o)},o.xLabel),a.y=St(Wt(o.yAccessor),o.yLabel),o.lineBy?a.color=wt(o.lineBy):o.colorBy&&(a.color=wt(o.colorBy));break;case"AreaChart":case"StackedAreaChart":n=o.curve?{type:"area"}:"area","object"==typeof n&&o.curve&&Ct[o.curve]&&(n.interpolate=Ct[o.curve]),"object"==typeof n&&void 0!==o.areaOpacity&&(n.opacity=o.areaOpacity),a.x=St({field:o.xAccessor,type:At(o)},o.xLabel),a.y=St(Wt(o.yAccessor),o.yLabel),"StackedAreaChart"===l&&o.areaBy&&(a.color=wt(o.areaBy));break;case"Scatterplot":case"BubbleChart":n="point",a.x=St(Wt(o.xAccessor),o.xLabel),a.y=St(Wt(o.yAccessor),o.yLabel),o.colorBy&&(a.color=wt(o.colorBy)),"BubbleChart"===l&&o.sizeBy&&(a.size=Wt(o.sizeBy),Array.isArray(o.sizeRange)&&(a.size.scale={range:o.sizeRange}));break;case"Heatmap":n="rect",a.x=St(wt(o.xAccessor),o.xLabel),a.y=St(wt(o.yAccessor),o.yLabel),o.valueAccessor&&(a.color=Wt(o.valueAccessor));break;case"PieChart":case"DonutChart":n="DonutChart"===l?{type:"arc",innerRadius:o.innerRadius??60}:"arc",o.valueAccessor&&(a.theta=Wt(o.valueAccessor)),o.categoryAccessor&&(a.color=wt(o.categoryAccessor));break;case"DotPlot":{n="tick";const e="horizontal"===o.orientation,t=St(wt(o.categoryAccessor),o.categoryLabel),r=St(Wt(o.valueAccessor),o.valueLabel);e?(a.y=t,a.x=r):(a.x=t,a.y=r);break}case"Histogram":n="bar",o.valueAccessor&&(a.x=St(Wt(o.valueAccessor),o.valueLabel),a.x.bin=!o.bins||{maxbins:o.bins},a.y={aggregate:"count",type:"quantitative"}),o.categoryAccessor&&(a.color=wt(o.categoryAccessor));break;default:{const e=`Component "${l}" has no supported Vega-Lite single-view equivalent.`;return{status:"refused",diagnostics:[{code:"UNSUPPORTED_COMPONENT",severity:"error",path:"/component",message:e}],lossReport:[{code:"UNSUPPORTED_COMPONENT",path:"/component",message:e}],provenance:s}}}o.colorScheme&&a.color&&(a.color.scale={...a.color.scale||{},scheme:o.colorScheme});const c={mark:n};return Array.isArray(o.data)&&(c.data={values:o.data}),Object.keys(a).length>0&&(c.encoding=a),"string"==typeof o.title&&(c.title=o.title),"number"==typeof o.width&&(c.width=o.width),"number"==typeof o.height&&(c.height=o.height),r.length>0&&!t.allowLossy?{status:"refused",diagnostics:r.map(({code:e,message:t,path:r})=>({code:e,severity:"error",message:t,path:r})),lossReport:r,provenance:s}:{status:r.length>0?"lossy":"success",spec:c,artifact:c,diagnostics:r.map(({code:e,message:t,path:r})=>({code:e,severity:"warning",message:t,path:r})),lossReport:r,provenance:s}}function Ft(e,t){return Lt(e,t).spec}function Pt(e,t){const r={...It(e),specVersion:at};return void 0!==t.capability&&(r.capability=t.capability),void 0!==t.audience&&(r.audience=t.audience),{...e,usermeta:{...e.usermeta,idid:r}}}function It(e){const t=e.usermeta;return t?.idid}function zt(e,t){const r={...It(e),specVersion:at,annotations:[...t]},s=t.map(Tt).filter(e=>null!==e).map(e=>({...e,usermeta:{idid:{role:"annotation-layer"}}}));if(0===s.length)return{...e,usermeta:{...e.usermeta,idid:r}};const o=Array.isArray(e.layer)?e.layer:[$t(e)],{mark:i,encoding:a,data:n,transform:l,usermeta:c,...d}=e;return{...d,usermeta:{...e.usermeta,idid:r},layer:[...o,...s]}}function Dt(e){const t=It(e)?.annotations;return Array.isArray(t)?t:[]}function $t(e){const{mark:t,encoding:r,data:s,transform:o}=e,i={};return t&&(i.mark=t),r&&(i.encoding=r),s&&(i.data=s),o&&(i.transform=o),i}function Tt(e){const t=e;switch(t.type){case"y-threshold":return{mark:"rule",encoding:{y:{datum:t.value}}};case"x-threshold":return{mark:"rule",encoding:{x:{datum:t.value}}};case"callout":case"label":case"text":return"string"==typeof t.label?{mark:{type:"text",text:t.label}}:null;default:return null}}var Rt={category10:"category10",tableau10:"category10",observable10:"category10",accent:"accent",dark2:"dark2",paired:"paired",pastel1:"pastel1",pastel2:"pastel2",set1:"set1",set2:"set2",set3:"set3"},Et={linear:"linear","monotone-x":"monotoneX","monotone-y":"monotoneY",step:"step","step-after":"stepAfter","step-before":"stepBefore",basis:"basis",cardinal:"cardinal","catmull-rom":"catmullRom",natural:"natural"},jt=new Set(["frame","gridx","gridy","gridfx","gridfy","axisx","axisy","axisfx","axisfy","rulex","ruley","tip","crosshair","pointer","hexgrid","text"]);function Nt(e){return"string"==typeof e?e:void 0}function _t(e,t){if(!Array.isArray(e)||!t)return!1;for(const r of e){const e=r?.[t];if(null!=e)return!("number"==typeof e||e instanceof Date)&&"string"==typeof e&&Number.isNaN(Date.parse(e))}return!1}function Ot(e,t,r){(function(e){return"function"==typeof e})(t)&&e.push(`The "${r}" channel is a function accessor, which can't be serialized to a config. Pass a field name (string) instead, or pre-derive the field on your data.`)}function qt(e){const t=[];(e.facet||e.fx||e.fy)&&t.push('Faceted plots ("facet"/"fx"/"fy") are not supported. Use Semiotic\'s LinkedCharts or render multiple charts.');const r=(Array.isArray(e.marks)?e.marks:[]).filter(e=>e&&!jt.has(e.type.toLowerCase()));if(0===r.length)return t.push("No translatable data mark found in the Plot spec. Defaulting to an empty Scatterplot."),Gt("Scatterplot",{},t);r.length>1&&t.push(`Multiple data marks (${r.map(e=>e.type).join(", ")}); only the first is translated. Layered multi-mark plots aren't supported.`);const s=r[0],o=s.options||{},i=s.data||e.data,a={};"number"==typeof e.width&&(a.width=e.width),"number"==typeof e.height&&(a.height=e.height),"string"==typeof e.title&&(a.title=e.title),e.x?.label&&(a.xLabel=e.x.label),e.y?.label&&(a.yLabel=e.y.label);const n=e.color?.scheme?Rt[e.color.scheme]:void 0;Ot(t,o.x,"x"),Ot(t,o.y,"y"),Ot(t,o.fill,"fill"),Ot(t,o.stroke,"stroke"),Ot(t,o.r,"r");const l=Nt(o.x),c=Nt(o.y),d=Nt(o.fill),u=Nt(o.stroke),f=d||u,y=s.type.toLowerCase();let p;switch(y){case"line":case"liney":case"linex":{p="LineChart",l&&(a.xAccessor=l),c?a.yAccessor=c:t.push(s.type+" has no explicit y field; provide options.y."),_t(i,l)&&t.push(`The x field "${l}" looks categorical; LineChart uses a continuous x scale, so a categorical x won't position (the line won't draw). Use a numeric/time x, or a bar chart for categories.`),"liney"!==y||l||t.push("lineY without an explicit x plots against the row index, which Semiotic doesn't infer. Provide options.x.");const e=u||d;e&&(a.lineBy=e),Vt(o,a),Zt(a,i,{colorScheme:n});break}case"bary":case"bar":p=f?"StackedBarChart":"BarChart",l&&(a.categoryAccessor=l),c&&(a.valueAccessor=c),f&&(a.stackBy=f),Zt(a,i,{colorScheme:n});break;case"barx":p=f?"StackedBarChart":"BarChart",a.orientation="horizontal",c&&(a.categoryAccessor=c),l&&(a.valueAccessor=l),f&&(a.stackBy=f),Zt(a,i,{colorScheme:n});break;case"dot":case"doty":case"dotx":case"circle":{const e=o.r;"string"==typeof e?(p="BubbleChart",a.sizeBy=e):(p="Scatterplot","number"==typeof e&&(a.pointRadius=e)),l&&(a.xAccessor=l),c&&(a.yAccessor=c),Zt(a,i,{colorBy:f,colorScheme:n});break}case"area":case"areay":case"areax":p=d&&d!==c?"StackedAreaChart":"AreaChart",l&&(a.xAccessor=l),c&&(a.yAccessor=c),_t(i,l)&&t.push(`The x field "${l}" looks categorical; ${p} uses a continuous x scale, so a categorical x won't position. Use a numeric/time x.`),"StackedAreaChart"===p&&d&&(a.areaBy=d),Vt(o,a),Zt(a,i,{colorBy:"StackedAreaChart"===p?void 0:f,colorScheme:n});break;case"recty":case"rectx":case"rect":{p="Histogram";const e="rectx"===y?l:c||l;e&&(a.valueAccessor=e),f&&(a.categoryAccessor=f),Zt(a,i,{colorScheme:n});break}case"cell":case"celly":case"cellx":p="Heatmap",l&&(a.xAccessor=l),c&&(a.yAccessor=c),f&&(a.valueAccessor=f),Zt(a,i);break;case"tick":case"tickx":case"ticky":p="DotPlot","tickx"===y?(c&&(a.categoryAccessor=c),l&&(a.valueAccessor=l),a.orientation="horizontal"):(l&&(a.categoryAccessor=l),c&&(a.valueAccessor=c)),Zt(a,i,{colorBy:f,colorScheme:n});break;default:t.push(`Plot mark "${s.type}" has no faithful Semiotic equivalent in this adapter. Defaulting to a Scatterplot of x/y; verify the result or file for support.`),p="Scatterplot",l&&(a.xAccessor=l),c&&(a.yAccessor=c),Zt(a,i,{colorBy:f,colorScheme:n})}if(Qt.has(p)){const t=Ht(e.x?.type),r=Ht(e.y?.type);t&&(a.xScaleType=t),r&&(a.yScaleType=r)}return Gt(p,a,t)}var Qt=new Set(["LineChart","AreaChart","StackedAreaChart","Scatterplot","BubbleChart"]);function Ht(e){return"time"===e||"utc"===e?"time":"log"===e?"log":void 0}function Vt(e,t){e.curve&&Et[e.curve]&&(t.curve=Et[e.curve])}function Zt(e,t,r={}){Array.isArray(t)&&(e.data=t),r.colorBy&&(e.colorBy=r.colorBy),r.colorScheme&&(e.colorScheme=r.colorScheme)}function Gt(e,t,r){const s={component:e,props:t,version:"1",createdAt:(new Date).toISOString()};if(r.length>0){s.warnings=r;for(const e of r)console.warn("[semiotic/fromObservablePlot] "+e)}return s}var Ut=new Set(["sequencediagram","classdiagram","statediagram","statediagram-v2","erdiagram","gantt","pie","journey","gitgraph","mindmap","timeline","quadrantchart","requirementdiagram","c4context","sankey-beta","block-beta","xychart-beta"]),Xt=new Set(["TD","TB","BT","LR","RL"]),Yt=/(<-->|-\.->|-\.-|-->|--x|--o|---|==>|===)/,Jt=[["((","))","circle"],["([","])","stadium"],["[[","]]","subroutine"],["[(",")]","cylinder"],["{{","}}","hexagon"],["[","]","rect"],["(",")","round"],["{","}","diamond"],[">","]","flag"]];function Kt(e){const t=e.trim();return t.length>=2&&('"'===t[0]&&t.endsWith('"')||"'"===t[0]&&t.endsWith("'"))?t.slice(1,-1):t}function er(e){const t=e.trim();if(!t)return null;const r=t.match(/^([A-Za-z0-9_][\w-]*)/);if(!r)return null;const s=r[1],o=t.slice(s.length).trim();if(!o)return{id:s};for(const[e,t,r]of Jt)if(o.startsWith(e)&&o.endsWith(t)&&o.length>=e.length+t.length)return{id:s,label:Kt(o.slice(e.length,o.length-t.length)),shape:r};return{id:s}}function tr(e){const t=[],r=()=>({kind:"flowchart",direction:"TD",nodes:[],edges:[],...t.length?{warnings:t}:{}});if("string"!=typeof e||!e.trim())return t.push("Empty Mermaid input."),r();const s=e.split("\n").map(e=>e.replace(/%%.*$/,"").trim()).filter(e=>e.length>0);if(0===s.length)return t.push("No content after stripping comments."),r();const o=s[0],i=o.split(/\s+/)[0].toLowerCase();if("graph"!==i&&"flowchart"!==i&&(Ut.has(i)?t.push(`Mermaid "${o.split(/\s+/)[0]}" diagrams aren't supported — only graph/flowchart compile to a Semiotic graph. Other diagram types are declined rather than mistranslated.`):t.push(`Expected a "graph" or "flowchart" header; got "${o}". Treating remaining lines as flowchart edges.`),Ut.has(i)))return r();let a="TD";const n=o.split(/\s+/)[1]?.toUpperCase();n&&Xt.has(n)&&(a=n);const l="graph"===i||"flowchart"===i?1:0,c=new Map,d=[];let u=0;const f=e=>{const t=c.get(e.id);t?e.label&&t.label===t.id&&(t.label=e.label,e.shape&&(t.shape=e.shape)):c.set(e.id,{id:e.id,label:e.label??e.id,shape:e.shape??"rect",layer:0,row:u++})},y=e=>e.replace(/--\s+([^->|]+?)\s+-->/g,"--\x3e|$1|").replace(/-\.\s+([^->|]+?)\s+\.->/g,"-.->|$1|").replace(/==\s+([^=>|]+?)\s+==>/g,"==>|$1|");for(let e=l;s.length>e;e++){const r=y(s[e]);if(/^(subgraph|end|classDef|class|style|click|linkStyle|direction)\b/.test(r)){/^subgraph\b/.test(r)&&t.push("`subgraph` grouping is flattened; nodes are kept, the grouping is dropped.");continue}if(!Yt.test(r)){const e=er(r);e&&f(e);continue}const o=r.split(Yt);let i=null;for(let e=0;o.length>e;e+=2){let r,s=o[e].trim();const a=s.match(/^\|([^|]*)\|\s*(.*)$/);a&&(r=Kt(a[1]),s=a[2].trim()),s.includes("&")&&(t.push('Multiple nodes joined with "&" — only the first is linked in this alpha.'),s=s.split("&")[0].trim());const n=er(s);n?(f(n),i&&d.push({source:i.id,target:n.id,...r?{label:r}:{}}),i=n):i=null}}return 0===c.size?(t.push("No nodes found."),r()):(function(e,t,r){const s=new Map,o=new Map;for(const t of e.keys())s.set(t,[]),o.set(t,0);for(const r of t)r.source!==r.target&&e.has(r.source)&&e.has(r.target)&&(s.get(r.source).push(r.target),o.set(r.target,(o.get(r.target)||0)+1));const i=[];for(const[e,t]of o)0===t&&i.push(e);let a=0;for(;i.length>0;){const t=i.shift();a++;const r=e.get(t).layer;for(const a of s.get(t)){const t=e.get(a);r+1>t.layer&&(t.layer=r+1);const s=(o.get(a)||0)-1;o.set(a,s),0===s&&i.push(a)}}e.size>a&&r.push("Graph contains a cycle; layering is best-effort (not a strict DAG).");const n=new Map;for(const t of e.values()){const e=n.get(t.layer)||[];e.push(t),n.set(t.layer,e)}for(const e of n.values())e.sort((e,t)=>e.row-t.row),e.forEach((e,t)=>{e.row=t})}(c,d,t),{kind:"flowchart",direction:a,nodes:[...c.values()],edges:d,...t.length?{warnings:t}:{}})}var rr={linear:"linear",monotone:"monotoneX","monotone-x":"monotoneX","monotone-y":"monotoneY",step:"step","step-before":"stepBefore","step-after":"stepAfter",basis:"basis",cardinal:"cardinal","catmull-rom":"catmullRom"},sr={category10:"category10",tableau10:"category10",accent:"accent",dark2:"dark2",paired:"paired",pastel1:"pastel1",pastel2:"pastel2",set1:"set1",set2:"set2",set3:"set3"},or=new Set(["blues","reds","greens","viridis","custom"]),ir={theta:"size",value:"size"},ar={bar:["x","y","color"],groupedBar:["x","y","group","color"],stackedBar:["x","y","color","group"],line:["x","y","color","detail","strokeDash","order"],area:["x","y","color"],scatter:["x","y","color","size","shape"],heatmap:["x","y","color"],pie:["size","color","angle","value","theta","y"],histogram:["x","y","color"],boxplot:["x","y","color"]};function nr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function lr(e,t){const r=e[t]?.field;return"string"==typeof r&&r.length>0?r:void 0}function cr(e){return"nominal"===e?.type||"ordinal"===e?.type}function dr(e){return"quantitative"===e?.type||"temporal"===e?.type}function ur(e,t,r){if("temporal"===e?.type)return!0;const s=function(e,t){if(!e||!t)return;const r=t[e];return"string"==typeof r?r:"string"==typeof r?.semanticType?r.semanticType:void 0}(t,r);return!!s&&/date|time|year|month|quarter|week/i.test(s)}function fr(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function yr(e){return"string"==typeof e&&e.length>0?e:void 0}function pr(e){return"boolean"==typeof e?e:void 0}function hr(e,t,r){r.push(`Temporal ${t} field "${e||"unknown"}" contains unparseable date strings; those rows will be skipped by the time scale. Prefer Date objects, ISO date strings, or epoch timestamps.`)}function mr(e,t,r){if(!t)return;const s=t.toLowerCase(),o=sr[s];o?e.colorScheme=o:r.push(`Flint color scheme "${t}" is not mapped to a Semiotic categorical colorScheme.`)}function kr(e,t,r,s){r&&("xy"===s?(t.x&&r[t.x]&&(e.xLabel=r[t.x]),t.y&&r[t.y]&&(e.yLabel=r[t.y])):(t.category&&r[t.category]&&(e.categoryLabel=r[t.category]),t.value&&r[t.value]&&(e.valueLabel=r[t.value])))}function xr(e){const t=e.x,r=e.y,s=lr(e,"x"),o=lr(e,"y");return cr(t)&&!cr(r)?{category:s,value:o,valueEncoding:r}:cr(r)&&!cr(t)||dr(t)&&!dr(r)&&o?{category:o,value:s,valueEncoding:t,orientation:"horizontal"}:{category:s,value:o,valueEncoding:r}}function vr(e,t,r,s,o){const i=function(e){return"count"===e||"sum"===e||"mean"===e?e:"average"===e?"mean":void 0}(s);if(!i)return{data:e,valueAccessor:r};if(!e)return o.push(`aggregate: "${s}" requires inline data.values; leaving the requested value accessor unchanged.`),{data:e,valueAccessor:r||"value"};if("count"!==i&&!r)return o.push(`aggregate: "${s}" requires an encoded value field; leaving data unaggregated.`),{data:e,valueAccessor:r};const a=new Map,n=t.filter(e=>!!e);for(const t of e){const e={};for(const r of n)e[r]=t[r];const s=JSON.stringify(e);let o=a.get(s);if(o||(o={keys:e,values:[],count:0},a.set(s,o)),o.count+=1,r){const e=Number(t[r]);Number.isFinite(e)&&o.values.push(e)}}const l=[];for(const e of a.values()){let t=e.count;"sum"===i?t=e.values.reduce((e,t)=>e+t,0):"mean"===i&&(t=e.values.length>0?e.values.reduce((e,t)=>e+t,0)/e.values.length:0),l.push({...e.keys,value:t})}return{data:l,valueAccessor:"value"}}function br(e,t){t&&(e.data=t)}function gr(e,t,r){const s=yr(t?.interpolate);if(!s)return;const o=rr[s];o?e.curve=o:r.push(`Flint interpolate "${s}" is not mapped to a Semiotic curve.`)}function Cr(e){const t=[],r=e.chart_spec,s=r?.chartType,o=function(e){const t=((e||"")+"").toLowerCase().replace(/[^a-z0-9]/g,"");return"barchart"===t||"bar"===t?"bar":"groupedbarchart"===t||"groupedbar"===t||"clusteredbar"===t?"groupedBar":"stackedbarchart"===t||"stackedbar"===t?"stackedBar":"linechart"===t||"line"===t?"line":"areachart"===t||"area"===t||"streamgraph"===t?"area":"scatterplot"===t||"scatter"===t||"scatterchart"===t||"pointchart"===t?"scatter":"heatmap"===t||"heatmapchart"===t?"heatmap":"piechart"===t||"pie"===t||"donutchart"===t||"donut"===t?"pie":"histogram"===t||"histogramchart"===t?"histogram":"boxplot"===t||"boxplotchart"===t||"boxandwhisker"===t||"boxandwhiskerplot"===t?"boxplot":void 0}(s),i=r?.chartProperties,a=Array.isArray(e.data?.values)?e.data.values:void 0,n="string"==typeof e.data?.url?e.data.url:void 0,l=function(e,t){const r={};if(!e||"object"!=typeof e)return r;for(const[s,o]of Object.entries(e)){const e=ir[s]||s;let i=o;if(Array.isArray(i)){if(0===i.length)continue;t.push(`Static-series array encoding on "${s}" is not supported; using the first field and preserving the full encoding in flint.unmappedEncodings.`),i=i[0]}"string"==typeof i?r[e]={field:i}:nr(i)?r[e]=i:null!=i&&t.push(`Encoding "${s}" is not an object, string, or array and was ignored.`)}return r}(r?.encodings,t),c={};n&&t.push("data.url is preserved in flint.dataUrl but not fetched; resolve it to data.values before rendering."),o||t.push(`Unsupported Flint chartType "${s}". Defaulting to Scatterplot.`),function(e,t,r,s){const o=t||r;if(!o)return;let i=o.width,a=o.height;t&&r&&(t.width>r.width&&(i=r.width,s.push("chart_spec.canvasSize.width is smaller than baseSize.width; clamped Semiotic width to the canvas ceiling.")),t.height>r.height&&(a=r.height,s.push("chart_spec.canvasSize.height is smaller than baseSize.height; clamped Semiotic height to the canvas ceiling."))),Number.isFinite(i)&&(e.width=i),Number.isFinite(a)&&(e.height=a)}(c,r?.baseSize,r?.canvasSize,t),function(e,t){const r=yr(t?.title);r&&(e.title=r)}(c,i);const d=o||"scatter";let u;switch(d){case"bar":case"groupedBar":case"stackedBar":u=function(e,t,r,s,o,i,a){const n={...s},l=xr(t),c="groupedBar"===e?lr(t,"group")||lr(t,"color"):lr(t,"color")||lr(t,"group"),d=vr(r,[l.category,c],l.value,l.valueEncoding?.aggregate,a);br(n,d.data),l.category&&(n.categoryAccessor=l.category),d.valueAccessor&&(n.valueAccessor=d.valueAccessor),l.orientation&&(n.orientation=l.orientation),kr(n,{category:l.category,value:l.value},i,"ordinal");const u=fr(o?.cornerRadius);void 0!==u&&(n.roundedTop=u);const f=yr(o?.stackMode);if("normalize"===f?n.normalize=!0:f&&"stacked"!==f&&a.push(`Flint stackMode "${f}" is not supported by Semiotic ${e}; leaving default stacking behavior.`),mr(n,t.color?.scheme,a),"groupedBar"===e)return c&&(n.groupBy=c,n.colorBy=c,n.showLegend=!0),{component:"GroupedBarChart",props:n,supportedProperties:["cornerRadius"]};if("stackedBar"===e)return c?(n.stackBy=c,n.colorBy=c,n.showLegend=!0,{component:"StackedBarChart",props:n,supportedProperties:["cornerRadius","stackMode"]}):(a.push("Stacked Bar Chart has no color/group series field; emitted a BarChart instead."),{component:"BarChart",props:n,supportedProperties:["cornerRadius","stackMode"]});const y=lr(t,"color");return y&&(n.colorBy=y),{component:"BarChart",props:n,supportedProperties:["cornerRadius"]}}(d,l,a,c,i,e.field_display_names,t);break;case"line":case"area":case"scatter":u=function(e,t,r,s,o,i,a,n){const l={...s},c=lr(t,"x"),d=lr(t,"y"),u=lr(t,"color"),f=lr(t,"detail"),y=lr(t,"size"),p=lr(t,"shape"),h=vr(r,[c,u||f],d,t.y?.aggregate,n),m=ur(t.x,c,i),k=ur(t.y,d,i);let x=h.data;if(m){const e=K(x,c);x=e.data,e.failed&&hr(c,"x",n)}if(k){const e=K(x,h.valueAccessor);x=e.data,e.failed&&hr(h.valueAccessor,"y",n)}if(br(l,x),c&&(l.xAccessor=c),h.valueAccessor&&(l.yAccessor=h.valueAccessor),m&&(l.xScaleType="time"),k&&(l.yScaleType="time"),kr(l,{x:c,y:d},a,"xy"),"line"===e){(u||f)&&(l.lineBy=u||f,l.colorBy=u||f),gr(l,o,n);const e=pr(o?.showPoints);return void 0!==e&&(l.showPoints=e),{component:"LineChart",props:l,supportedProperties:["interpolate","showPoints"]}}if("area"===e){gr(l,o,n);const e=fr(o?.opacity);void 0!==e&&(l.areaOpacity=e);const t=yr(o?.stackMode);return"normalize"===t?l.normalize=!0:t&&"stacked"!==t&&n.push(`Flint area stackMode "${t}" is not supported by Semiotic; leaving default stacking behavior.`),u?(l.areaBy=u,l.colorBy=u,{component:"StackedAreaChart",props:l,supportedProperties:["interpolate","opacity","stackMode"]}):{component:"AreaChart",props:l,supportedProperties:["interpolate","opacity"]}}if(u&&(l.colorBy=u),y){l.sizeBy=y,p&&n.push("Flint shape encoding is not mapped for BubbleChart; Semiotic only maps shape onto Scatterplot in this adapter.");const e=fr(o?.opacity);return void 0!==e&&(l.bubbleOpacity=e),mr(l,t.color?.scheme,n),{component:"BubbleChart",props:l,supportedProperties:["opacity"]}}p&&(l.symbolBy=p);const v=fr(o?.opacity);return void 0!==v&&(l.pointOpacity=v),mr(l,t.color?.scheme,n),{component:"Scatterplot",props:l,supportedProperties:["opacity"]}}(d,l,a,c,i,e.semantic_types,e.field_display_names,t);break;case"heatmap":u=function(e,t,r,s,o,i){const a={...r},n=lr(e,"x"),l=lr(e,"y"),c=lr(e,"color");br(a,t),n&&(a.xAccessor=n),l&&(a.yAccessor=l),c&&(a.valueAccessor=c);const d=pr(s?.showTextLabels);return void 0!==d&&(a.showValues=d),kr(a,{x:n,y:l},o,"xy"),function(e,t,r){if(!t)return;const s=t.toLowerCase();or.has(s)?e.colorScheme=s:r.push(`Flint heatmap color scheme "${t}" is not available in Semiotic's Heatmap colorScheme enum.`)}(a,e.color?.scheme||yr(s?.colorScheme),i),{component:"Heatmap",props:a,supportedProperties:["showTextLabels","colorScheme"]}}(l,a,c,i,e.field_display_names,t);break;case"pie":u=function(e,t,r,s,o,i){const a={...s},n=lr(t,"color"),l=vr(r,[n],lr(t,"size")||lr(t,"angle")||lr(t,"y"),t.size?.aggregate||t.angle?.aggregate||t.y?.aggregate,i);br(a,l.data),n&&(a.categoryAccessor=n),l.valueAccessor&&(a.valueAccessor=l.valueAccessor);const c=fr(o?.innerRadius),d=/donut/i.test(e)||void 0!==c&&c>0;d&&void 0!==c&&(a.innerRadius=c);const u=fr(o?.cornerRadius);return void 0!==u&&(a.cornerRadius=u),null!=o?.sortSlices&&i.push("Flint sortSlices is not mapped; preserve or sort slice order before calling unstable_fromFlintChart()."),mr(a,t.color?.scheme,i),{component:d?"DonutChart":"PieChart",props:a,supportedProperties:["innerRadius","cornerRadius","sortSlices"]}}(s,l,a,c,i,t);break;case"histogram":u=function(e,t,r,s){const o={...r},i=lr(e,"x")||lr(e,"y"),a=lr(e,"color");br(o,t),i&&(o.valueAccessor=i),a&&(o.categoryAccessor=a,o.colorBy=a);const n=fr(s?.binCount);return void 0!==n&&n>0&&(o.bins=n),{component:"Histogram",props:o,supportedProperties:["binCount"]}}(l,a,c,i);break;case"boxplot":u=function(e,t,r,s,o,i){const a={...r},n=xr(e);br(a,t),n.category&&(a.categoryAccessor=n.category),n.value&&(a.valueAccessor=n.value),n.orientation&&(a.orientation=n.orientation);const l=lr(e,"color");l&&(a.colorBy=l);const c=pr(s?.showOutliers);void 0!==c&&(a.showOutliers=c);const d=yr(s?.whiskerMethod);return d&&"iqr"!==d&&i.push(`Flint whiskerMethod "${d}" is not mapped; Semiotic BoxPlot keeps its default whisker calculation.`),kr(a,{category:n.category,value:n.value},o,"ordinal"),{component:"BoxPlot",props:a,supportedProperties:["showOutliers","whiskerMethod"]}}(l,a,c,i,e.field_display_names,t)}!function(e,t,r,s){if(!t)return;const o=new Set([...r,"title"]),i=Object.keys(t).filter(e=>!o.has(e));i.length>0&&s.push(`Flint chartProperties not mapped for ${e}: ${i.join(", ")}.`)}(d,i,u.supportedProperties,t);const f=function(e,t,r){if(!t)return;const s=new Set(ar[e]),o={};for(const[e,r]of Object.entries(t))s.has(ir[e]||e)&&!Array.isArray(r)||(o[e]=r);if(0===Object.keys(o).length)return;const i=Object.keys(o),a=i.filter(e=>"column"===e||"row"===e);a.length>0&&r.push(`Flint facet channel(s) ${a.join(", ")} are not supported by this adapter; render multiple Semiotic charts instead.`);const n=i.filter(e=>"column"!==e&&"row"!==e&&!s.has(ir[e]||e));return n.length>0&&r.push(`Flint encoding channel(s) not mapped for ${e}: ${n.join(", ")}.`),o}(d,r?.encodings,t),y={component:u.component,props:u.props,version:"1",createdAt:(new Date).toISOString(),flint:{chartType:s||"",...e.semantic_types?{semanticTypes:e.semantic_types}:{},...e.field_display_names?{fieldDisplayNames:e.field_display_names}:{},...i?{chartProperties:i}:{},...r?.baseSize?{baseSize:r.baseSize}:{},...r?.canvasSize?{canvasSize:r.canvasSize}:{},...n?{dataUrl:n}:{},...e.options?{options:e.options}:{},...f?{unmappedEncodings:f}:{}}};if(t.length>0){y.warnings=t;for(const e of t)console.warn("[semiotic/fromFlintChart] "+e)}return y}var Wr={annotationBackground:"rgba(248, 250, 252, 0.94)",annotationStroke:"#334155",annotationText:"#0f172a",background:"#f8fafc",border:"#334155",closedWindowFill:"rgba(220, 38, 38, 0.08)",closedWindowStroke:"rgba(220, 38, 38, 0.55)",danger:"#dc2626",focus:"#f97316",grid:"#cbd5e1",gutterFill:"rgba(71, 85, 105, 0.14)",lateFill:"#f97316",openWindowFill:"rgba(14, 165, 233, 0.07)",openWindowStroke:"rgba(14, 165, 233, 0.3)",primary:"#0ea5e9",selectedFill:"#f97316",selectedStroke:"#7c2d12",success:"#22c55e",text:"#0f172a",textSecondary:"#475569",warning:"#f97316"},wr={background:{names:["--semiotic-bg","--surface-1","--surface-0"],fallback:"#f8fafc"},border:{names:["--semiotic-border","--surface-3"],fallback:Wr.border},danger:{names:["--semiotic-danger","--viz-4"],fallback:Wr.danger},focus:{names:["--semiotic-focus","--accent","--viz-9"],fallback:Wr.focus},grid:{names:["--semiotic-grid","--surface-3"],fallback:Wr.grid},primary:{names:["--semiotic-primary","--accent","--viz-5"],fallback:"#0ea5e9"},success:{names:["--semiotic-success","--viz-2"],fallback:"#22c55e"},text:{names:["--semiotic-text","--text-primary"],fallback:Wr.text},textSecondary:{names:["--semiotic-text-secondary","--text-secondary"],fallback:"#475569"},warning:{names:["--semiotic-warning","--viz-9","--viz-3"],fallback:"#f97316"}};function Ar(e,t){const r=e.canvas;if("function"!=typeof getComputedStyle||!r)return t.fallback;const s=getComputedStyle(r);for(const r of t.names){const t=s.getPropertyValue(r).trim();if(t)return ae(e,t)??t}return t.fallback}function Sr(e,t){const r=Math.max(0,Math.min(1,t)),s=e.trim(),o=s.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i);if(o){const[,e,t,s]=o;return Sr(`#${e}${e}${t}${t}${s}${s}`,r)}const i=s.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);if(i){const[,e,t,s]=i;return`rgba(${parseInt(e,16)}, ${parseInt(t,16)}, ${parseInt(s,16)}, ${r})`}const a=s.match(/^rgb\s*\(\s*([^)]+?)\s*\)$/i);if(a)return`rgba(${a[1]}, ${r})`;const n=s.match(/^rgba\s*\(\s*([^,]+,\s*[^,]+,\s*[^,]+),\s*[^)]+\)$/i);return n?`rgba(${n[1]}, ${r})`:s}function Mr(e){const t=Ar(e,wr.primary),r=Ar(e,wr.danger),s=Ar(e,wr.warning),o=Ar(e,wr.success),i=Ar(e,wr.border),a=Ar(e,wr.background),n=Ar(e,wr.text),l=Ar(e,wr.textSecondary),c=Ar(e,wr.focus),d=Ar(e,wr.grid);return{annotationBackground:Sr(a,.94),annotationStroke:i,annotationText:n,background:a,border:i,closedWindowFill:Sr(r,.08),closedWindowStroke:Sr(r,.55),danger:r,focus:c,grid:d,gutterFill:Sr(l,.14),lateFill:s,openWindowFill:Sr(t,.07),openWindowStroke:Sr(t,.3),primary:t,selectedFill:s,selectedStroke:c,success:o,text:n,textSecondary:l,warning:s}}function Br(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function Lr(e,t){const r="sensor"===e.physics?t.sensorThickness:t.barrierThickness;return Math.max(0,Br(e.thickness)??Br(r)??Br(t.thickness)??4)}function Fr(e=[],t={}){const r=t.idPrefix?t.idPrefix+"-":"",s=[];for(const o of e){if("barrier"!==o.physics&&"sensor"!==o.physics)continue;const e=o.axis??t.defaultAxis??"x",i=Lr(o,t),a=o.colliderId??`${r}${o.id}`;let n;if("x"===e){const e=Br(o.x),r=Br(o.y1)??Br(t.plotBounds?.y)??Br(o.y),s=Br(o.y2)??(t.plotBounds?t.plotBounds.y+t.plotBounds.height:void 0)??Br(o.y);if(null==e||null==r||null==s)continue;n={type:"segment",x1:e,y1:r,x2:e,y2:s,thickness:i}}else{const e=Br(o.y),r=Br(o.x1)??Br(t.plotBounds?.x)??Br(o.x),s=Br(o.x2)??(t.plotBounds?t.plotBounds.x+t.plotBounds.width:void 0)??Br(o.x);if(null==e||null==r||null==s)continue;n={type:"segment",x1:r,y1:e,x2:s,y2:e,thickness:i}}s.push({id:a,shape:n,sensor:"sensor"===o.physics,..."barrier"!==o.physics||null==o.restitution&&null==t.barrierRestitution?{}:{restitution:Br(o.restitution)??Br(t.barrierRestitution)},..."barrier"!==o.physics||null==o.friction&&null==t.barrierFriction?{}:{friction:Br(o.friction)??Br(t.barrierFriction)}})}return s}function Pr(e,t){if(0===e.length||0===t.length)return[];const r=new Map(t.map(e=>[e.id,e]));return e.flatMap(e=>{const t=r.get(e.bodyId);if(!t)return[];const s=e.dx??18,o=e.dy??-24;return[{...e,anchorX:t.x,anchorY:t.y,labelX:t.x+s,labelY:t.y+o,body:t}]})}function Ir(e=[],t=[]){return{bodyCount:t.length,barrierCount:e.filter(e=>"barrier"===e.physics).length,sensorCount:e.filter(e=>"sensor"===e.physics).length,staticCount:e.length,totalCount:e.length+t.length}}import*as zr from"react";import{forwardRef as Dr,memo as $r,useCallback as Tr,useEffect as Rr,useImperativeHandle as Er,useId as jr,useRef as Nr}from"react";import*as _r from"react";import{scaleLinear as Or}from"d3-scale";import{Fragment as qr,jsx as Qr,jsxs as Hr}from"react/jsx-runtime";function Vr(e){return"circle"===e.shape.type?e.shape.radius:Math.max(e.shape.width,e.shape.height)/2}function Zr(e){const{width:t,height:r,totalWidth:s,totalHeight:o,margin:i,title:a,legend:n,legendHoverBehavior:l,legendClickBehavior:c,legendHighlightedCategory:d,legendIsolatedCategories:u,legendPosition:f="right",legendLayout:y,pointNodes:p=[],annotations:h,onAnnotationActivate:m,onObservation:k,chartId:x,chartType:v,autoPlaceAnnotations:b,svgAnnotationRules:g,children:C}=e,W=re({onAnnotationActivate:m,onObservation:k,chartId:x,chartType:v}),w=_r.useMemo(()=>function(e){return e?.length?e.map(e=>null!=e.pointId||null==e.bodyId?e:{...e,pointId:e.bodyId+""}):e}(h),[h]),A=_r.useMemo(()=>function(e){const{width:t,height:r,pointNodes:s=[],data:o}=e;return{scales:{x:Or().domain([0,Math.max(1,t)]).range([0,Math.max(1,t)]),y:Or().domain([0,Math.max(1,r)]).range([0,Math.max(1,r)])},width:t,height:r,frameType:"network",pointNodes:s,data:o,xAccessor:"x",yAccessor:"y"}}({width:t,height:r,pointNodes:p}),[r,p,t]),M=_r.useMemo(()=>w&&b?se({annotations:w,context:A,..."object"==typeof b?b:{}}):w,[A,b,w]),B=_r.useMemo(()=>T("network",W),[W]),L=M?O(M,B,g,A):null,F=!0===M?.some(e=>"widget"===e.type&&!0===e._annotationDeferred);return Hr(qr,{children:[F?Qr("style",{children:S},"physics-annotation-disclosure-style"):null,Hr("svg",{className:"stream-physics-frame__overlay","data-testid":"stream-physics-overlay",role:"presentation",width:s,height:o,style:{position:"absolute",top:0,left:0,pointerEvents:"none",overflow:"visible"},children:[Hr("g",{transform:`translate(${i.left},${i.top})`,children:[L,C]}),a&&"string"==typeof a?Qr("text",{x:s/2,y:16,textAnchor:"middle",fontWeight:600,fill:"var(--semiotic-text, #333)",className:"semiotic-chart-title",style:{fontSize:"var(--semiotic-title-font-size, 14px)"},children:a}):a?Qr("foreignObject",{x:0,y:0,width:s,height:Math.max(i.top,28),children:a}):null,n?Q({legend:n,totalWidth:s,totalHeight:o,margin:i,legendPosition:f,legendLayout:y,title:a,legendHoverBehavior:l,legendClickBehavior:c,legendHighlightedCategory:d,legendIsolatedCategories:u}):null]})]})}var Gr=2500;function Ur(e){return"function"==typeof e}function Xr(e){return void 0===e||!1===e||!Ur(e.binAccessor)&&!Ur(e.labelAccessor)&&!Ur(e.valueAccessor)}function Yr(e){if(void 0!==e){if(!1===e)return!1;if(!Xr(e))throw new TypeError("Physics worker sediment config only supports string or numeric accessors");return{binAccessor:"string"==typeof e.binAccessor?e.binAccessor:void 0,labelAccessor:"string"==typeof e.labelAccessor?e.labelAccessor:void 0,valueAccessor:"string"==typeof e.valueAccessor||"number"==typeof e.valueAccessor?e.valueAccessor:void 0,retainBodyIds:e.retainBodyIds}}}function Jr(e){if(e)return{chartId:e.chartId,chartType:e.chartType,sensors:e.sensors}}function Kr(e){return function(e){return!Ur(e?.timeAccessor)}(e)}function es(e={}){if(e.engine)throw new TypeError("Physics workers use the built-in kernel adapter");const{engine:t,observation:r,sediment:s,...o}=e;return{...o,observation:Jr(r),sediment:Yr(s)}}function ts(){if("undefined"!=typeof DOMException)return new DOMException("Physics worker request aborted","AbortError");const e=Error("Physics worker request aborted");return e.name="AbortError",e}var rs=class{constructor(e=function(){const e="string"==typeof import.meta.url&&import.meta.url?new URL("./physicsWorker.js",import.meta.url):n("physicsWorker.js");return new Worker(e,{type:"module",name:"semiotic-physics"})}()){this.nextRequestId=1,this.pending=new Map,this.worker=e,this.worker.onmessage=e=>{const t=e.data,r=this.pending.get(t.requestId);r&&(this.pending.delete(t.requestId),r.cleanup(),t.ok?r.resolve(t.payload):r.reject(function(e){const t=Error(e.error.message);return t.name=e.error.name??"Error",e.error.stack&&(t.stack=e.error.stack),t}(t)))},this.worker.onerror=e=>{this.rejectAll(Error(e.message||"Physics worker failed")),this.worker.terminate()}}request(e,t){if(t?.aborted)return Promise.reject(ts());const r=this.nextRequestId;this.nextRequestId+=1;const s={command:e,requestId:r};return new Promise((e,o)=>{const i=()=>{this.pending.delete(r),t?.removeEventListener("abort",i),o(ts())},a=()=>t?.removeEventListener("abort",i);this.pending.set(r,{cleanup:a,reject:o,resolve:e}),t?.addEventListener("abort",i,{once:!0});try{this.worker.postMessage(s)}catch(e){this.pending.delete(r),a(),o(e)}})}async init(e,t,r,s){if(!Kr(r))throw new TypeError("Physics worker spawn pacing only supports string time accessors");const o=await this.request({type:"init",config:es(e),initialSpawns:t,initialSpawnPacing:r},s);if("frame"!==o.type)throw Error("Physics worker returned a non-frame init response");return o.frame}async restore(e,t){const r=await this.request({type:"restore",snapshot:e},t);if("frame"!==r.type)throw Error("Physics worker returned a non-frame restore response");return r.frame}async initFromSnapshot(e,t,r){const s=await this.request({type:"init",config:es(e),snapshot:t},r);if("frame"!==s.type)throw Error("Physics worker returned a non-frame init response");return s.frame}async enqueue(e,t,r){if(!Kr(t))throw new TypeError("Physics worker spawn pacing only supports string time accessors");const s=await this.request({type:"enqueue",spawns:e,pacing:t},r);if("frame"!==s.type)throw Error("Physics worker returned a non-frame enqueue response");return s.frame}async tick(e,t){const r=await this.request({type:"tick",deltaSeconds:e},t);if("frame"!==r.type)throw Error("Physics worker returned a non-frame tick response");return r.frame}async settle(e,t){const r=await this.request({type:"settle",maxSteps:e},t);if("frame"!==r.type)throw Error("Physics worker returned a non-frame settle response");return r.frame}async snapshot(e){const t=await this.request({type:"snapshot"},e);if("snapshot"!==t.type)throw Error("Physics worker returned a non-snapshot response");return t.snapshot}async remove(e,t){const r=await this.request({type:"remove",ids:e},t);if("removed"!==r.type)throw Error("Physics worker returned a non-remove response");return{frame:r.frame,removed:r.removed}}terminate(){this.rejectAll(Error("Physics worker terminated")),this.worker.terminate()}rejectAll(e){for(const[t,r]of this.pending)this.pending.delete(t),r.cleanup(),r.reject(e)}};function ss(e,t,r){const s=new x(e);return t?.length&&(s.enqueue(t,r),s.materializeDueSpawns()),s}function os(){return"undefined"!=typeof performance?performance.now():Date.now()}import{useEffect as is,useRef as as}from"react";function ns(){return"undefined"==typeof document||!document.hidden}function ls(e,t,r){const s=$(e,r.fill)??"#4e79a7",o=r.stroke,i=r.strokeWidth??0,a=r.opacity??1,n=r.fillOpacity??1,l=function(e,t){const r=t.mark;if(r)return r;const s=e.datum,o=s?.__physicsMark??s?.mark;return"circle"===o||"halo"===o||"faceted"===o||"pill"===o||"diamond"===o||"square"===o?o:"circle"===e.shape.type?"circle":"square"}(t,r),c="circle"===t.shape.type?r.r??t.shape.radius:Math.max(t.shape.width,t.shape.height)/2;if(e.save(),e.globalAlpha*=a,e.beginPath(),"pill"===l||"square"===l||"aabb"===t.shape.type){const r="pill"===l?2.4*c:"aabb"===t.shape.type?t.shape.width:1.7*c,s="pill"===l?1.35*c:"aabb"===t.shape.type?t.shape.height:1.7*c,o=t.x-r/2,i=t.y-s/2,a="pill"===l?s/2:Math.min(4,r/4);e.moveTo(o+a,i),e.arcTo(o+r,i,o+r,i+s,a),e.arcTo(o+r,i+s,o,i+s,a),e.arcTo(o,i+s,o,i,a),e.arcTo(o,i,o+r,i,a),e.closePath()}else if("diamond"===l)e.moveTo(t.x,t.y-c),e.lineTo(t.x+c,t.y),e.lineTo(t.x,t.y+c),e.lineTo(t.x-c,t.y),e.closePath();else if("faceted"===l){const r=6;for(let s=0;r>s;s+=1){const o=2*Math.PI*s/r-Math.PI/2,i=t.x+Math.cos(o)*c,a=t.y+Math.sin(o)*c;0===s?e.moveTo(i,a):e.lineTo(i,a)}e.closePath()}else e.arc(t.x,t.y,c,0,2*Math.PI);s&&(e.save(),e.globalAlpha*=n,e.fillStyle=s,e.fill(),e.restore()),"halo"===l&&(e.beginPath(),e.arc(t.x,t.y,1.35*c,0,2*Math.PI),e.strokeStyle=o??s,e.lineWidth=Math.max(1.5,i||1.5),e.globalAlpha*=.55,e.stroke(),e.globalAlpha/=.55),o&&i>0&&(e.strokeStyle=o,e.lineWidth=i,r.strokeDasharray&&e.setLineDash(r.strokeDasharray.split(/[,\s]+/).map(e=>Number(e)).filter(e=>Number.isFinite(e))),e.stroke()),e.restore()}function cs(e){return"circle"===e.shape.type?e.shape.radius:Math.max(e.shape.width,e.shape.height)/2}function ds(e){return e.sensorId??"stream-region-"+e.id}function us(e){const t=ds(e),r={bodyFilter:e.bodyFilter,friction:e.friction,restitution:e.restitution};if("boundary"===e.collider&&"aabb"===e.shape.type){const s=e.colliderThickness??8,o=e.shape.x-e.shape.width/2,i=e.shape.x+e.shape.width/2,a=e.shape.y-e.shape.height/2,n=e.shape.y+e.shape.height/2;return[{...r,id:t+"-top",shape:{type:"segment",x1:o,y1:a,x2:i,y2:a,thickness:s}},{...r,id:t+"-right",shape:{type:"segment",x1:i,y1:a,x2:i,y2:n,thickness:s}},{...r,id:t+"-bottom",shape:{type:"segment",x1:i,y1:n,x2:o,y2:n,thickness:s}},{...r,id:t+"-left",shape:{type:"segment",x1:o,y1:n,x2:o,y2:a,thickness:s}}]}return e.collider?[{...r,id:t+"-collider",shape:e.shape}]:[]}function fs(e){if(e)return{activeRegionIds:Array.from(e.activeRegionIds),regionIds:Array.from(e.regionIds),charges:{...e.charges},attributes:{...e.attributes},energy:e.energy}}function ys(e,t){const r="function"==typeof e?e(t):e;if(!r)return null;const s=Number(r.x??0),o=Number(r.y??0);return Number.isFinite(s)||Number.isFinite(o)?{x:Number.isFinite(s)?s:0,y:Number.isFinite(o)?o:0}:null}function ps(e){if(!1===e.semanticItem)return null;const t=e.shape,r=e.semanticItem??{},s="aabb"===t.type?{id:e.id,label:e.label??e.id,description:e.description,group:e.kind??"region",x:t.x,y:t.y,width:t.width,height:t.height}:{id:e.id,label:e.label??e.id,description:e.description,group:e.kind??"region",x:(t.x1+t.x2)/2,y:(t.y1+t.y2)/2,pathData:`M ${t.x1} ${t.y1} L ${t.x2} ${t.y2}`};return{...s,...r,id:r.id??s.id}}function hs(e){return e.some(e=>null!=e.force||null!=e.damping||null!=e.impulseOnEnter||null!=e.impulseOnExit)}function ms(e,t){const r="function"==typeof e?e(t):e;if(!r)return null;const s=Number(r.x??0),o=Number(r.y??0);return Number.isFinite(s)||Number.isFinite(o)?{x:Number.isFinite(s)?s:0,y:Number.isFinite(o)?o:0}:null}var ks=[];function xs(e){const t=e.store.controls(),r=e.store.snapshot(),s=Math.max(0,e.result.steps*(r.config.fixedDt||1/60)),o=function(e,t,r,s){const o=Number.isFinite(s)?Math.max(0,s):0;if(0>=o||!hs(t))return!1;const i=new Map(t.map(e=>[e.id,e])),a=e.readBodies();let n=!1;for(const t of a){const s=r.get(t.id);if(!s||!s.activeRegionIds.size)continue;const a=fs(s);if(a)for(const r of s.activeRegionIds){const s=i.get(r);if(!s)continue;const l=ys(s.force,{body:t,region:s,regionState:a}),c=Number(s.damping??0),d=(l?.x??0)*o-(Number.isFinite(c)?t.vx*c*o:0),u=(l?.y??0)*o-(Number.isFinite(c)?t.vy*c*o:0);(d||u)&&(e.applyImpulse(t.id,d,u),n=!0)}}return n}(t,e.regionEffects,e.regionState,s),i=function(e,t,r,s,o,i){const a=Number.isFinite(i)?Math.max(0,i):0;if(0>=a||!t)return!1;const n=new Map(r.map(e=>[e.id,e])),l=e.readBodies();let c=!1;for(let r=0;l.length>r;r+=1){const i=l[r],d=s.get(i.id),u=fs(d);let f=ks;if(d&&d.activeRegionIds.size>0){const e=[];for(const t of d.activeRegionIds){const r=n.get(t);r&&e.push(r)}f=e}const y=ms(t,{body:i,bodies:l,index:r,regionState:u,regions:f,simulationState:o});if(!y)continue;const p=(y.x??0)*a,h=(y.y??0)*a;(p||h)&&(e.applyImpulse(i.id,p,h),c=!0)}return c}(t,e.bodyForces,e.regionEffects,e.regionState,r.simulationState,s);return e.composed&&e.composed.onTick(e.result,t,{dt:s,elapsed:e.result.elapsedSeconds,getRegionState:t=>fs(e.regionState.get(t))}),e.onTick?.(e.result,t),{regionEffectsApplied:o,bodyForcesApplied:i,snapshot:r}}function vs(e,t,r,s,o,i,a,n,l,c){const d=function(e,t){return!!t?.isActive&&(t.predicate?.(e)??!0)}(e,o),u={selected:d,simulationState:t,regionState:i,regions:a},f="function"==typeof r?r(e,u):r,y=a.reduce((t,r)=>r.bodyStyle?{...t,..."function"==typeof r.bodyStyle?r.bodyStyle(e,u):r.bodyStyle}:t,{}),p=d?"function"==typeof s?s(e,u):s:void 0;return{fill:c?.color??n,stroke:c?.stroke??l,strokeWidth:c?.strokeWidth??1,opacity:c?.opacity??.9,...f,...y,...p}}import{useCallback as bs}from"react";import*as gs from"react";import{jsx as Cs,jsxs as Ws}from"react/jsx-runtime";var ws={border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:1},As="semiotic-accessible-data-table",Ss=As+" semiotic-accessible-data-table-hidden",Ms=As+" semiotic-accessible-data-table-visible",Bs={position:"absolute",top:0,left:0,right:0,zIndex:"var(--semiotic-data-table-z-index, var(--semiotic-overlay-z-index, 20))",padding:"14px 16px 12px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontFamily:"var(--semiotic-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)",fontSize:13,lineHeight:1.5,color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",borderRadius:"var(--semiotic-border-radius, 0px) var(--semiotic-border-radius, 0px) 0 0"},Ls={marginBottom:8,paddingRight:28,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:12,letterSpacing:"0.01em"},Fs={position:"absolute",top:10,right:10,width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",cursor:"pointer",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:13,lineHeight:1,padding:0,borderRadius:"var(--semiotic-border-radius, 4px)"},Ps={width:"100%",borderCollapse:"collapse",fontSize:12,marginTop:4,fontVariantNumeric:"tabular-nums"},Is={textAlign:"left",padding:"5px 10px",borderBottom:"2px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))"},zs={padding:"4px 10px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))"},Ds={textAlign:"left",fontSize:11,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",marginBottom:4,fontStyle:"italic"},$s={marginTop:8,padding:"4px 10px",fontSize:12,cursor:"pointer",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",borderRadius:"var(--semiotic-border-radius, 4px)",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",fontFamily:"inherit"};function Ts(e){return null==e?null:"string"==typeof e||"number"==typeof e||"boolean"==typeof e?e+"":null}function Rs(e){return{__semioticHoverData:!0,body:e,data:e.datum??e,id:e.id,type:"body",x:e.x,y:e.y}}function Es(e){if("circle"===e.shape.type){const t=Math.max(4,2*e.shape.radius);return{height:t,shape:"circle",width:t}}return{height:e.shape.height,shape:"rect",width:e.shape.width}}function js(e){const t=e.datum;if(t&&"object"==typeof t){const e=t.label??t.name??t.id;if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return e+""}return e.id}function Ns(e){const t=_s(e.datum??e);return t.length?t.map(([e,t])=>`${e}: ${t}`).join(", "):"Physics body "+e.id}function _s(e){return e&&"object"==typeof e?Object.entries(e).map(([e,t])=>{if(e.startsWith("_"))return null;const r=Ts(t);return null==r?null:[e,r]}).filter(e=>null!=e).slice(0,8):[]}function Os({hover:e}){const t=_s(e.data);return Ws("div",{className:"semiotic-tooltip",style:ee,children:[Cs("div",{style:{fontWeight:700,marginBottom:t.length?4:0},children:e.id}),t.map(([e,t])=>Ws("div",{children:[Ws("span",{style:{opacity:.72},children:[e,": "]}),Cs("span",{children:t})]},e))]})}function qs(e){return e.datum&&"object"==typeof e.datum?Object.entries(e.datum).map(([e,t])=>{const r=Ts(t);return null==r?null:`${e}: ${r}`}).filter(e=>null!=e).slice(0,8).join(", "):""}function Qs(e){const t=[`${e.length} semantic item${1===e.length?"":"s"}.`],r=new Map;for(const t of e)t.group&&r.set(t.group,(r.get(t.group)??0)+1);return r.size&&t.push(Array.from(r).map(([e,t])=>`${e}: ${t}`).join(", ")),t.join(" ")}function Hs(e){const{chartTitle:t,items:r,tableId:s}=e,[o,i]=gs.useState(!1),[a,n]=gs.useState(5),l=Z(),c=l?.visible??!1,d=o||c,u=gs.useRef(null),f="Data summary for "+(t??"physics chart");gs.useEffect(()=>{d||n(5)},[d]);const y=gs.useCallback(e=>{e.target===e.currentTarget&&(o||c||i(!0))},[o,c]),p=gs.useCallback(e=>{c||u.current?.contains(e.relatedTarget)||i(!1)},[c]);if(!r.length)return Cs("span",{id:s,tabIndex:-1,style:ws});if(!d)return Cs("div",{id:s,className:Ss,role:"region","aria-label":f,tabIndex:-1,style:ws,onFocus:y,children:Ws("button",{type:"button",onClick:()=>i(!0),children:["View data summary (",r.length," semantic items)"]})});const h=Math.min(a,r.length),m=r.slice(0,h),k=r.length-h;return Ws("div",{ref:u,id:s,className:Ms,role:"region","aria-label":f,tabIndex:-1,onBlur:p,style:Bs,children:[Cs("button",{type:"button",className:"semiotic-accessible-data-table-close","aria-label":"Close data summary",onClick:()=>{c&&l&&l.setVisible(!1),i(!1)},style:Fs,children:"×"}),Cs("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:Ls,children:Qs(r)}),Ws("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Semantic items for "+(t??"physics chart"),style:Ps,children:[Cs("caption",{className:"semiotic-accessible-data-table-caption",style:Ds,children:k>0?`First ${h} of ${r.length} semantic items`:`All ${r.length} semantic items`}),Cs("thead",{children:Ws("tr",{children:[Cs("th",{scope:"col",style:Is,children:"Item"}),Cs("th",{scope:"col",style:Is,children:"Description"}),Cs("th",{scope:"col",style:Is,children:"Group"}),Cs("th",{scope:"col",style:Is,children:"Position"}),Cs("th",{scope:"col",style:Is,children:"Data"})]})}),Cs("tbody",{children:m.map((e,t)=>Ws("tr",{children:[Cs("th",{scope:"row",style:zs,children:e.label}),Cs("td",{style:zs,children:e.description??e.label}),Cs("td",{style:zs,children:e.group??""}),Ws("td",{style:zs,children:[Math.round(e.x),", ",Math.round(e.y)]}),Cs("td",{style:zs,children:qs(e)})]},e.id??`${e.label}-${t}`))})]}),k>0?Ws("button",{type:"button",className:"semiotic-accessible-data-table-show-more",onClick:()=>n(e=>e+25),style:$s,children:["Show ",Math.min(25,k)," more"," ",1===k?"row":"rows"," (",k," remaining)"]}):null]})}Os.ownsChrome=!0;import{jsx as Vs,jsxs as Zs}from"react/jsx-runtime";var Gs=[640,360],Us={top:0,right:0,bottom:0,left:0},Xs=new Set(["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]),Ys="StreamPhysicsFrame",Js=$r(Dr(function(e,t){const{accessibleTable:r=!0,annotations:s,onAnnotationActivate:o,autoPlaceAnnotations:i,background:n,backgroundGraphics:l,bodySemanticItemLimit:c=200,bodySemanticItems:d=!1,bodySemanticUpdateMs:u=200,bodyForces:f,bodyStyle:y,chartId:p,className:m,frameScheduler:k,clock:x,random:v,seed:b,color:g,config:C,controllers:W,continuous:w=!1,description:A,emphasis:S,chartMode:P,enableHover:$=!0,foregroundGraphics:T,hoverRadius:R=16,initialSpawns:O,initialSpawnPacing:q,legend:Q,legendClickBehavior:H,legendHighlightedCategory:V,legendHoverBehavior:Z,legendIsolatedCategories:K,legendLayout:ee,legendPosition:te,margin:re,onClick:se,onObservation:oe,onRegionEvent:ie,onSimulationExecutionChange:ae,onBodyHover:ne,onBodyPointerDown:le,onSemanticItemActivate:ce,onSemanticItemFocus:de,onTick:ue,opacity:fe,paused:ye=!1,regionEffects:pe=[],responsiveHeight:he,responsiveWidth:me,selectedBodyStyle:ke={stroke:"#111827",strokeWidth:2,opacity:1},selection:xe,semanticItems:ve=[],simulationExecution:be="auto",size:ge=Gs,stroke:Ce,strokeWidth:We,summary:we,suspendWhenHidden:Ae=!0,svgAnnotationRules:Se,title:Me,tooltipContent:Be,workerBodyThreshold:Le=Gr,renderBody:Fe,beforePaint:Pe,afterPaint:Ie}=e,ze=zr.useMemo(()=>({color:g,stroke:Ce,strokeWidth:We,opacity:fe}),[g,fe,Ce,We]),De=Nr(oe);De.current=oe;const $e=Nr(p);$e.current=p;const Te=Nr(new Map),Re=Nr(pe);Re.current=pe;const Ee=Nr(f);Ee.current=f;const je=Nr(ue);je.current=ue;const Ne=zr.useMemo(()=>a(W),[W]),_e=Nr(Ne);_e.current=Ne;const Oe=w||!!Ne?.continuous,qe=Nr(Oe);qe.current=Oe;const Qe=zr.useMemo(()=>{if(!f&&!Ne?.bodyForce)return f;if(!Ne?.bodyForce)return f;if(!f)return Ne.bodyForce;const e=Ne.bodyForce;return t=>{const r="function"==typeof f?f(t):f,s="function"==typeof e?e(t):e;return r||s?{x:(r?.x??0)+(s?.x??0),y:(r?.y??0)+(s?.y??0)}:null}},[f,Ne]);Ee.current=Qe;const He=zr.useMemo(()=>new Map(pe.map(e=>[ds(e),e])),[pe]),Ve=zr.useMemo(()=>new Map(pe.map(e=>[e.id,e])),[pe]),Ze=zr.useMemo(()=>pe.map(ps).filter(e=>null!=e),[pe]),[Ge,Ue]=zr.useState([]),Xe=zr.useMemo(()=>Ge.length||Ze.length?[...ve,...Ge,...Ze]:ve,[Ge,Ze,ve]),Ye=zr.useMemo(()=>hs(pe),[pe]),Je=!!Qe,Ke=Nr(null),et=Nr(x??os);et.current=x??os;const tt=Tr((e,t,r)=>{const s=Ke.current;if(!s||!r)return!1;const o=s.readBodies().find(t=>t.id===e),i=fs(Te.current.get(e));if(!o||!i)return!1;const a=ys(r,{body:o,region:t,regionState:i});return!(!a||!a.x&&!a.y||(s.applyImpulse(e,a.x??0,a.y??0),0))},[]),rt=Tr((e,t,r)=>{if(!r.bodyId)return;const s=fs(Te.current.get(r.bodyId));if(!s)return;const o={bodyId:r.bodyId,datum:r.datum,observation:r,region:t,regionState:s,type:e};"region-enter"===e?t.onEnter?.(o):t.onExit?.(o),ie?.(o)},[ie]),st=Tr(e=>{const t=e.sensorId?He.get(e.sensorId):void 0;if(!t||!e.bodyId)return;const r=function(e,t){let r=e.get(t);return r||(r={activeRegionIds:new Set,attributes:{},charges:{},energy:0,regionIds:new Set},e.set(t,r)),r}(Te.current,e.bodyId),s=Ke.current?.readBodies().find(t=>t.id===e.bodyId),o=fs(r),i=s&&o?{body:s,region:t,regionState:o}:null;if("physics-proximity-enter"===e.type){if(r.activeRegionIds.add(t.id),r.regionIds.add(t.id),r.energy+=t.energyDelta??0,i){!function(e,t,r){const s="function"==typeof e.attributes?e.attributes(t):e.attributes;s&&(r.attributes={...r.attributes,...s})}(t,i,r);const e=function(e,t){return void 0!==e.charge?"function"==typeof e.charge?e.charge(t):e.charge:"charge-gate"===e.kind?1:void 0}(t,i);void 0!==e&&(r.charges[t.id]=e)}tt(e.bodyId,t,t.impulseOnEnter),rt("region-enter",t,e)}else"physics-proximity-exit"===e.type&&(r.activeRegionIds.delete(t.id),tt(e.bodyId,t,t.impulseOnExit),rt("region-exit",t,e))},[tt,rt,He]),ot=zr.useMemo(()=>{if(!s?.length)return[];const e=s.filter(e=>"barrier"===e.physics||"sensor"===e.physics);return e.length?Fr(e,{idPrefix:p?p+"-ann":"physics-ann",plotBounds:{x:0,y:0,width:ge?.[0]??Gs[0],height:ge?.[1]??Gs[1]}}):[]},[s,p,ge]),it=zr.useMemo(()=>{const e=void 0===b||void 0!==C?.kernel?.seed?C:{...C,kernel:{...C?.kernel,seed:b}},t=pe.flatMap(e=>[{id:ds(e),sensor:!0,shape:e.shape,bodyFilter:e.bodyFilter,friction:e.friction,restitution:e.restitution},...us(e)]),r=Object.fromEntries(pe.map(e=>[ds(e),{binId:e.binId??e.id,enterType:"physics-proximity-enter",exitType:"physics-proximity-exit"}])),s=e?.observation,o=pe.length>0;return o||t.length>0||ot.length>0||null!=p||s?{...e,colliders:[...e?.colliders??[],...t,...ot],observation:{...s,chartId:p??s?.chartId,chartType:s?.chartType??Ys,sensors:{...s?.sensors??{},...r},onObservation:e=>{o&&st(e),s?.onObservation?.(e)}}}:e},[ot,p,C,st,pe,b]);if(!Ke.current){const e=ss(it,O,q);e.setPaused(ye),Ae&&e.setVisible(ns()),Ke.current=e}const at=Nr(-1),nt=Nr(null),lt=Nr(!0),ct=Y("StreamPhysicsFrame"),dt=Nr(""),ut=jr().replace(/:/g,""),ft=Nr(!1),yt=Nr(!1),pt=Nr(0),ht=Nr(!1),mt=Nr(null),kt=Nr(!1),xt=G({sizeProp:ge,responsiveWidth:me,responsiveHeight:he,userMargin:re,marginDefault:Us,foregroundGraphics:T,backgroundGraphics:l,frameScheduler:k,clock:x,random:v,seed:b,paused:ye,suspendWhenHidden:Ae}),{margin:vt,rafRef:bt,reducedMotionRef:gt,renderFnRef:Ct,cancelRender:Wt,resolvedBackground:wt,resolvedForeground:At,responsiveRef:St,scheduleRender:Mt,size:Bt,frameRuntime:Lt}=xt,Ft=Nr(Lt.now);Ft.current=Lt.now;const Pt=X(),It=J(),[zt,Dt]=zr.useState(null),[$t,Tt]=zr.useState(null),Rt=Nr(null),Et=Nr(0),jt=Nr(new Map),Nt=ut+"-physics-live",_t=Tr((e,t,r=!1)=>{if(!d)return void Ue(e=>e.length?[]:e);const s=Ft.current();if(!r&&u>0&&u>s-Et.current)return;Et.current=s;const o=function(e,t,r,s){if(!r)return[];const o=Math.max(0,Math.floor(s));if(!o)return[];const i=[];for(let s=0;e.length>s&&o>i.length;s+=1){const o=e[s],a="function"==typeof r?r(o,{index:s,simulationState:t}):void 0;if(!1===a)continue;const n=Es(o);i.push({datum:o.datum??o,description:Ns(o),group:"body",label:js(o),...n,...a??{},bodyId:a?.bodyId??o.id,id:a?.id??"body:"+o.id,x:a?.x??o.x,y:a?.y??o.y})}return i}(e,t,d,c);Ue(e=>function(e,t){if(e.length!==t.length)return!0;for(let r=0;e.length>r;r+=1){const s=e[r],o=t[r];if(s.id!==o.id||s.label!==o.label||s.description!==o.description||s.group!==o.group||s.bodyId!==o.bodyId||Math.round(s.x)!==Math.round(o.x)||Math.round(s.y)!==Math.round(o.y))return!0}return!1}(e,o)?o:e)},[c,d,u]),Ot=Tr(e=>{if(!Xe.length)return;const t=Math.max(0,Math.min(e,Xe.length-1));at.current=t;const r=Xe[t];if(Rt.current=r.bodyId??null,Dt(r),de?.(r),r.bodyId&&Ke.current){const e=Ke.current.readBodies().find(e=>e.id===r.bodyId);if(e){const t=Rs(e);Tt(t),ne?.(e,t)}}},[Xe,ne,de]),qt=Tr(()=>{at.current=-1,Rt.current=null,Dt(null),de?.(null)},[de]),Qt=function({onObservationRef:e,chartIdRef:t,wallClockRef:r}){return bs((s,o)=>{const i=e.current;if(!i)return;const a={timestamp:r.current(),chartType:"StreamPhysicsFrame",chartId:t.current};i("hover"===s||"click"===s?{...a,type:s,datum:o?.datum??{},x:o?.x??0,y:o?.y??0}:"focus"===s?{...a,type:s,datum:o?.datum??{},inputType:"touch"===o?.inputType?"pointer":o?.inputType??"keyboard"}:"activate"===s?{...a,type:s,datum:o?.datum??{},inputType:o?.inputType??"keyboard"}:{...a,type:s})},[t,e,r])}({onObservationRef:De,chartIdRef:$e,wallClockRef:et}),Ht=Tr(()=>{Tt(e=>e?(ne?.(null,null),Qt("hover-end"),null):e)},[Qt,ne]),Vt=Tr(e=>{if(!$||!Ke.current)return;const t=e.currentTarget.getBoundingClientRect(),r=Ke.current.hitTest(e.clientX-t.left,e.clientY-t.top,R);if(!r)return void Ht();const s=Rs(r);Tt(e=>e&&e.id===s.id&&e.x===s.x&&e.y===s.y?e:(ne?.(r,s),Qt("hover",{datum:r.datum,x:r.x,y:r.y}),s))},[Ht,Qt,$,R,ne]),Zt=Tr(e=>{qt();const t=Ke.current,r=e.currentTarget.getBoundingClientRect(),s=e.clientX-r.left,o=e.clientY-r.top,i=t?t.hitTest(s,o,Math.max(16,R)):null;le?.(i,e),i?(Qt("click",{datum:i.datum,x:i.x,y:i.y}),Qt("activate",{datum:i.datum,inputType:"touch"===e.pointerType?"touch":"pointer"}),se?.(i.datum??null,{x:i.x,y:i.y,body:i})):(Qt("click-end"),se?.(null,{x:s,y:o,body:null}),Ht())},[Ht,qt,Qt,R,le,se]);Rr(()=>{if(!Xe.length)return void qt();const e=at.current;if(Xe.length>e){if(e>=0){const t=Xe[e];if(Rt.current=t.bodyId??null,Dt(e=>null!=e&&e.id===t.id&&Math.round(e.x)===Math.round(t.x)&&Math.round(e.y)===Math.round(t.y)?e:t),t.bodyId&&Ke.current){const e=Ke.current.readBodies().find(e=>e.id===t.bodyId);if(e){const t=Rs(e);Tt(e=>e?.id===t.id&&Math.round(e.x)===Math.round(t.x)&&Math.round(e.y)===Math.round(t.y)?e:t)}}}}else Ot(Xe.length-1)},[Xe,qt,Ot]),Rr(()=>{$||Ht()},[Ht,$]);const Gt=Tr(e=>{if(j(e))return;if(!Xe.length)return;if("Escape"===e.key)return e.preventDefault(),void qt();if(("Enter"===e.key||" "===e.key)&&at.current>=0){e.preventDefault();const t=Xe[at.current];return Qt("activate",{datum:t.datum??{id:t.id,label:t.label},inputType:"keyboard"}),void ce?.(t)}if(!Xs.has(e.key))return;e.preventDefault();const t=at.current;if(0>t){Ot(0);const e=Xe[0];return void Qt("focus",{datum:e.datum??{id:e.id,label:e.label},inputType:"keyboard"})}const r=Math.max(1,Math.floor(.1*Xe.length));let s=t;if("Home"===e.key?s=0:"End"===e.key?s=Xe.length-1:"PageDown"===e.key?s=Math.min(Xe.length-1,t+r):"PageUp"===e.key?s=Math.max(0,t-r):"ArrowRight"===e.key||"ArrowDown"===e.key?s=Math.min(Xe.length-1,t+1):"ArrowLeft"!==e.key&&"ArrowUp"!==e.key||(s=Math.max(0,t-1)),Ot(s),s!==t){const e=Xe[s];Qt("focus",{datum:e.datum??{id:e.id,label:e.label},inputType:"keyboard"})}},[qt,Qt,Ot,ce,Xe]),[Ut,Xt]=zr.useState([]),Yt=Nr(0),Jt=!!s?.length&&s.some(e=>null!=e.pointId||null!=e.bodyId||"latest"===e.anchor),{canvasRef:Kt}=U(xt,{hydrated:Pt,wasHydratingFromSSR:It,storeRef:Ke,dirtyRef:lt,manageFrameRuntime:!1,skipInitialCanvasPaintInvalidation:!0,canvasPaintDependencies:[n,l,Mt]}),er=Tr(()=>{const e=Kt.current,t=Ke.current;if(!e||!t)return;const r=ct.current.beforeCompute(t.getLastUpdateResult(),!1),s=E(),o=_(e,Bt,vt,s);if(!o)return void ct.current.afterCompute(r,!1,!1);const i=Mr(o);o.clearRect(-vt.left,-vt.top,Bt[0],Bt[1]),l||"transparent"===n||(o.fillStyle=n??i.background,o.fillRect(-vt.left,-vt.top,Bt[0],Bt[1]));const a=t.snapshot(),c=t.readBodies();if(_t(c,a.simulationState),Jt){const e=Ft.current();if(e-Yt.current>=100){Yt.current=e;const t=function(e){return e.map(e=>({pointId:e.id,x:e.x,y:e.y,r:Math.max(1,Vr(e))}))}(c);Xt(e=>e.length===t.length&&e.every((e,r)=>e.pointId===t[r].pointId&&Math.round(e.x)===Math.round(t[r].x)&&Math.round(e.y)===Math.round(t[r].y))?e:t)}}Pe&&(o.save(),Pe(o,c),o.restore());for(const e of c){const t=Te.current.get(e.id),r=t?Array.from(t.activeRegionIds).map(e=>Ve.get(e)).filter(e=>null!=e):[],s=vs(e,a.simulationState,y,ke,xe,fs(t),r,i.primary,i.text,ze);Fe?(o.save(),Fe(o,e,s),o.restore()):ls(o,e,s)}Ie&&(o.save(),Ie(o,c),o.restore()),function(e,t,r){let s=!1;for(const[o,i]of t){const a=Math.min(1,Math.max(0,(r-i.startedAt)/i.durationMs));if(a>=1){t.delete(o);continue}s=!0;const n=1-Math.pow(1-a,3),{body:l}=i,c=i.scale>0?i.scale:1,d=(i.radius+28*n)*c,u=1-a;e.save(),e.globalAlpha*=u,e.strokeStyle=i.color,e.fillStyle=i.color,e.lineWidth=Math.max(.5,(2.4*u+.4)*c),e.beginPath(),e.arc(l.x,l.y,d,0,2*Math.PI),e.stroke(),e.globalAlpha*=.18,e.beginPath(),e.arc(l.x,l.y,.52*d,0,2*Math.PI),e.fill(),e.restore(),e.save(),e.globalAlpha*=u,e.strokeStyle=i.color,e.lineWidth=Math.max(.5,1.8*c);for(let t=0;8>t;t+=1){const r=t*(Math.PI/4)+1.4*a,s=(i.radius+5+12*n)*c,o=(i.radius+12+34*n)*c;e.beginPath(),e.moveTo(l.x+Math.cos(r)*s,l.y+Math.sin(r)*s),e.lineTo(l.x+Math.cos(r)*o,l.y+Math.sin(r)*o),e.stroke()}e.restore()}}(o,jt.current,Ft.current()),ct.current.afterCompute(r,!0,!1),lt.current=!1},[Kt,ct,Bt,vt,l,n,_t,Jt,Pe,Ie,y,ke,xe,ze,Fe,Ve]),tr=Tr((e,t)=>{const r=Ke.current,s=`${be}:${e}:${t??""}`;dt.current!==s&&(dt.current=s,ae?.({execution:e,liveBodies:r?.liveBodyCount()??0,queuedBodies:r?.queueSize()??0,reason:t,requested:be}))},[ae,be]),rr=Tr((e,t=!0)=>{pt.current+=1,ft.current=!1,ht.current=!1,kt.current=!1,mt.current?.terminate(),mt.current=null,t&&tr("sync",e)},[tr]),sr=Tr(()=>Pt?"undefined"==typeof window||"undefined"==typeof Worker?"worker unavailable":Ye?"runtime region effects require sync":Je?"body forces require sync":Ne?"physics controllers require sync":function(e){return!e||!e.engine&&Xr(e.sediment)&&(!(t=e.colliders)||t.every(e=>{const t=e.bodyFilter;return!t||"function"!=typeof t}));var t}(it??{})?Kr(q)?yt.current?"worker fallback":null:"spawn pacing is not worker-cloneable":"config is not worker-cloneable":"hydrating",[it,Ne,Je,Ye,Pt,q]),or=Tr(()=>{const e=Ke.current,t=sr();if(!e||t)return{reason:t,useWorker:!1};const r=e.liveBodyCount(),s=e.queueSize(),o=function(e,t,r=0,s=Gr){return"sync"!==e&&("worker"===e||t+r>=s)}(be,r,s,Le);return{reason:o?"worker"===be?"forced worker":"body threshold":"below threshold",useWorker:o}},[be,Le,sr]),ir=Tr(e=>{const t=Ke.current;return t&&e.snapshot?(t.restore(e.snapshot),lt.current=!0,t):t},[]),ar=Tr((e,t=!0)=>{const r=ir(e);if(!r)return;t&&ue?.(e.result,r.controls()),er();const s=r.snapshot();!e.result.shouldContinue&&jt.current.size<=0||s.paused||!s.visible||gt.current||Mt()},[ir,ue,er,gt,Mt]),nr=Tr(e=>{yt.current=!0,rr("worker failed: "+((e instanceof Error?e.message:e+"")||"unknown error"))},[rr]),lr=Tr(()=>{const e=Ke.current;if(!e)return!1;const t=or();if(!t.useWorker)return ft.current||kt.current?rr(t.reason??"sync fallback"):tr("sync",t.reason??"sync"),!1;if(ft.current||kt.current)return!0;const r=mt.current??new rs;mt.current=r,kt.current=!0;const s=pt.current+1;return pt.current=s,r.initFromSnapshot(it??{},e.snapshot()).then(e=>{if(pt.current!==s)return;kt.current=!1,ft.current=!0,yt.current=!1,ir(e),tr("worker",t.reason??"worker"),er();const r=Ke.current?.snapshot();e.result.shouldContinue&&r&&!r.paused&&r.visible&&!gt.current&&(nt.current=null,Mt())}).catch(e=>{pt.current===s&&nr(e)}),!0},[ir,it,nr,er,gt,tr,Mt,rr,or]),cr=Tr(e=>"frame"===e.type||"removed"===e.type?e.frame:null,[]),dr=Tr((e,t=!0)=>{const r=mt.current;if(!r||!ft.current)return;const s=pt.current;r.request(e).then(e=>{if(pt.current!==s)return;const r=cr(e);r&&ar(r,t)}).catch(nr)},[ar,cr,nr]),ur=Tr(()=>{const e=Ke.current;if(!e)return;const t=lr(),r=e.snapshot(),s=Oe||Je||Ye||!!Ne;r.paused||!r.visible||!e.hasPendingWork()&&!s||gt.current?Ct.current():t&&kt.current||Mt()},[Ne,Oe,Je,Ye,gt,Ct,Mt,lr]),fr=Tr(()=>{Wt(),bt.current=null;const e=Ke.current;if(!e)return;if(ft.current&&mt.current){if(ht.current)return;let t=0;if(!gt.current){const e=Ft.current();t=null!==nt.current?(e-nt.current)/1e3:0,nt.current=e}const r=mt.current,s=pt.current;return ht.current=!0,void(gt.current?r.settle():r.tick(t)).then(e=>{ht.current=!1,pt.current===s&&ar(e)}).catch(r=>{if(ht.current=!1,pt.current!==s)return;nr(r);const o=gt.current?e.settleWithObservations():e.tick(t);xs({store:e,result:o,regionEffects:Re.current,regionState:Te.current,bodyForces:Ee.current,composed:_e.current,onTick:je.current}),er()})}let t;if(gt.current)t=e.settleWithObservations();else{const r=Ft.current(),s=null!==nt.current?(r-nt.current)/1e3:0;nt.current=r,t=e.tick(s)}const r=_e.current,{regionEffectsApplied:s,bodyForcesApplied:o,snapshot:i}=xs({store:e,result:t,regionEffects:Re.current,regionState:Te.current,bodyForces:Ee.current,composed:r,onTick:je.current});er(),(qe.current||t.shouldContinue||s||o||r||jt.current.size>0)&&!i.paused&&i.visible&&!gt.current&&Mt()},[ar,nr,er,Wt,Mt,gt,bt]);Ct.current=fr,Rr(()=>{yt.current=!1,(ft.current||kt.current)&&rr("config changed",!1),Ke.current?.updateConfig(it??{}),ur()},[it,rr]),Rr(()=>{yt.current=!1,ur()},[Pt,be,Le]),function({cancelRender:e,frameRuntime:t,lastFrameTimeRef:r,paused:s,postWorkerCommand:o,requestRender:i,storeRef:a,suspendWhenHidden:n}){const l=as(o);l.current=o;const c=as(i);c.current=i,is(()=>{const o=a.current;o&&(t.setPaused(s),o.setPaused(s),s&&(r.current=null,e()),l.current({type:"setPaused",paused:s},!1),c.current())},[e,t,s]),is(()=>{if(!n){const e=a.current;return t.setVisible(!0),void(e&&!e.snapshot().visible&&(e.setVisible(!0),l.current({type:"setVisible",visible:!0},!1),c.current()))}if("undefined"==typeof document)return;const s=()=>{const s=a.current;if(!s)return;const o=ns();t.setVisible(o),s.setVisible(o),o||(r.current=null,e()),l.current({type:"setVisible",visible:o},!1),c.current()};return s(),document.addEventListener("visibilitychange",s),()=>document.removeEventListener("visibilitychange",s)},[e,t,n])}({cancelRender:Wt,frameRuntime:Lt,lastFrameTimeRef:nt,paused:ye,postWorkerCommand:dr,requestRender:ur,storeRef:Ke,suspendWhenHidden:Ae}),Rr(()=>()=>rr("unmount",!1),[rr]),Rr(()=>{er()},[er]),Er(t,()=>({...Ke.current.controls(),applyImpulse:(e,t,r)=>{Ke.current.applyImpulse(e,t,r),dr({type:"applyImpulse",id:e,ix:t,iy:r}),ur()},clear:()=>{Ke.current.clear(),Te.current.clear(),jt.current.clear(),dr({type:"clear"}),ur()},clearRegionState:e=>{e?Te.current.delete(e):Te.current.clear(),ur()},getData:()=>Ke.current.readBodies(),getRegionState:e=>e?fs(Te.current.get(e)):function(e){const t={};return e.forEach((e,r)=>{const s=fs(e);s&&(t[r]=s)}),t}(Te.current),getStore:()=>Ke.current,pause:()=>{Lt.setPaused(!0),nt.current=null,Wt(),Ke.current.setPaused(!0),dr({type:"setPaused",paused:!0},!1),ur()},push:(e,t)=>{Ke.current.enqueue(e,t),Kr(t)?dr({type:"enqueue",spawns:[e],pacing:t}):(ft.current||kt.current)&&rr("spawn pacing is not worker-cloneable"),ur()},pushMany:(e,t)=>{Ke.current.enqueue(e,t),Kr(t)?dr({type:"enqueue",spawns:e,pacing:t}):(ft.current||kt.current)&&rr("spawn pacing is not worker-cloneable"),ur()},popBodies:(e,t={})=>{const r=Ke.current,s=new Map(r.readBodies().map(e=>[e.id,e])),o=r.remove(e),i=Ft.current();for(const e of o){const r=s.get(e);r&&(Te.current.delete(e),jt.current.set(e,{body:r,color:t.color??"#f59e0b",durationMs:Math.max(120,t.durationMs??520),radius:t.radius??cs(r),scale:null!=t.scale&&t.scale>0?t.scale:1,startedAt:i}),Rt.current===e&&(Rt.current=null,Dt(null)),Tt(t=>t?.id===e?null:t))}return o.length&&(dr({type:"remove",ids:o}),ur()),o},remove:e=>{const t=Ke.current.remove(e);for(const t of e)Te.current.delete(t);return dr({type:"remove",ids:e}),ur(),t},restore:e=>{Ke.current.restore(e),Te.current.clear(),jt.current.clear(),dr({type:"restore",snapshot:e},!1),ur()},resume:()=>{Lt.setPaused(!1),nt.current=null,Ke.current.setPaused(!1),dr({type:"setPaused",paused:!1},!1),ur()},settle:e=>{const t=Ke.current.settle(e);return dr({type:"settle",maxSteps:e}),ur(),t},settleWithObservations:e=>{const t=Ke.current.settleWithObservations(e);return dr({type:"settle",maxSteps:e}),ur(),t},step:e=>{const t=Ke.current,r=t.tick(e);return xs({store:t,result:r,regionEffects:Re.current,regionState:Te.current,bodyForces:Ee.current,composed:_e.current,onTick:je.current}),dr({type:"tick",deltaSeconds:e}),er(),r}}),[Wt,Lt,er,dr,ur,rr]);const yr=N||!Pt&&It,pr=["stream-physics-frame",P?"stream-physics-frame--mode-"+P:null,S?"stream-physics-frame--emphasis-"+S:null,m].filter(Boolean).join(" "),hr=A??("string"==typeof Me?Me:void 0)??"Physics chart",mr=ut+"-physics-table",kr=Math.max(1,Bt[0]-vt.left-vt.right),xr=Math.max(1,Bt[1]-vt.top-vt.bottom),vr=$&&$t?Be?Be($t):Vs(Os,{hover:$t}):null,br=vr&&$t?Vs(L,{x:$t.x-vt.left,y:$t.y-vt.top,containerWidth:Math.max(1,Bt[0]-vt.left-vt.right),containerHeight:Math.max(1,Bt[1]-vt.top-vt.bottom),margin:vt,className:"stream-physics-tooltip",children:vr}):null;if(yr){const e=Ke.current??ss(it,O,q),t="string"==typeof Me?Me:void 0,{svg:r}=h(e,{width:Bt[0],height:Bt[1],title:t,description:A,background:l||"transparent"===n?void 0:n,backgroundGraphics:wt,className:"stream-physics-frame__svg",foregroundGraphics:At,idPrefix:"physics-"+ut,margin:vt});return Zs("div",{ref:St,className:pr,"data-semiotic-mode":P,role:"img","aria-label":hr,style:{width:Bt[0],height:Bt[1]},children:[Vs(z,{summary:we}),Vs("div",{dangerouslySetInnerHTML:{__html:r}})]})}return Zs("div",{ref:St,className:pr,"data-semiotic-mode":P,role:"group","aria-label":hr,"aria-describedby":zt?Nt:void 0,tabIndex:0,style:{position:"relative",width:Bt[0],height:Bt[1]},onKeyDown:Gt,children:["production"!==process.env.NODE_ENV&&Ke.current&&Vs(I,{store:Ke.current,diagnostics:ct.current}),r?Vs(D,{tableId:mr}):null,r?Vs(Hs,{chartTitle:"string"==typeof Me?Me:hr,items:Xe,tableId:mr}):null,Vs(z,{summary:we}),Vs(M,{hoverPoint:$t}),Vs("div",{id:Nt,"aria-live":"polite","aria-atomic":"true",style:ws,children:zt?zt.description??zt.label:""}),Zs("div",{role:"img","aria-label":hr,style:{position:"relative",width:"100%",height:"100%"},children:[Vs(B,{size:Bt,margin:vt,children:wt}),Vs("canvas",{ref:Kt,width:Bt[0],height:Bt[1],"aria-hidden":"true",style:{position:"absolute",left:0,top:0,display:"block"},onPointerDown:Zt,onPointerMove:$?Vt:void 0,onPointerLeave:$?Ht:void 0}),At,Vs(Zr,{width:kr,height:xr,totalWidth:Bt[0],totalHeight:Bt[1],margin:vt,title:Me,legend:Q,legendPosition:te,legendLayout:ee,legendHoverBehavior:Z,legendClickBehavior:H,legendHighlightedCategory:V,legendIsolatedCategories:K,pointNodes:Ut,annotations:s,onAnnotationActivate:o,onObservation:oe,chartId:p,chartType:Ys,autoPlaceAnnotations:i,svgAnnotationRules:Se}),Vs(F,{active:null!=zt,hoverPoint:zt?{x:zt.x,y:zt.y}:null,margin:vt,size:Bt,shape:zt?.shape,width:zt?.width,height:zt?.height,pathData:zt?.pathData}),br]})]})}));Js.displayName="StreamPhysicsFrame";var Ks=Js;import{forwardRef as eo,useCallback as to,useMemo as ro,useRef as so}from"react";import{useImperativeHandle as oo,useRef as io}from"react";function ao(e,t){if(!t?.length)return[e];const r=t.filter(t=>{if(t.id===e||t.id.startsWith(e+"-"))return!0;const r=t.datum;return!(!r||"object"!=typeof r||null==r.id)&&r.id+""===e}).map(e=>e.id);return r.length?r:[e]}function no(e,t,r){if("function"==typeof r)return r(e,t)+"";if("string"==typeof r){const t=e[r];if(null!=t)return t+""}return null!=e&&"object"==typeof e&&"id"in e&&null!=e.id?e.id+"":"physics-row-"+t}function lo(e,t){const r=e?.getData().find(e=>e.id===t),s=r?.datum;if(s&&"object"==typeof s)return s}import{useCallback as co,useEffect as uo,useMemo as fo,useRef as yo,useState as po}from"react";import{Fragment as ho,jsx as mo,jsxs as ko}from"react/jsx-runtime";var xo=new Set(["sample","mechanical"]);function vo(e,t){return e?t?r=>ko(ho,{children:["function"==typeof e?e(r):e,"function"==typeof t?t(r):t]}):e:t}function bo(e,t){return!1===e?{enableHover:!1}:{enableHover:t?.enableHover,tooltipContent:te(e)||t?.tooltipContent}}import{jsx as go}from"react/jsx-runtime";var Co=eo(function(e,t){const{chartId:r,color:s,colorBy:o,colorScheme:i,config:a,controllers:n,data:l,emptyContent:c,frameProps:d={},layout:u,layoutConfig:f,loading:y,loadingContent:p,onObservation:h,opacity:k,paused:x,spawnDatum:v,stroke:b,strokeWidth:g,title:C,xExtent:W,yExtent:w}=e,A=function(e,t,r){const s=r?.hasSimulationMode?function(e){const t=e=>"string"==typeof e&&xo.has(e);return e.simulationMode?{chartMode:t(e.mode)?void 0:e.mode,simulationMode:e.simulationMode}:t(e.mode)?{chartMode:void 0,simulationMode:e.mode}:{chartMode:e.mode,simulationMode:"sample"}}({mode:e.mode,simulationMode:e.simulationMode}):{chartMode:"sample"===e.mode||"mechanical"===e.mode?void 0:e.mode,simulationMode:"sample"},o=V(s.chartMode,{width:e.width,height:e.height,enableHover:e.enableHover,title:e.title,description:e.description,summary:e.summary,accessibleTable:e.accessibleTable,mobileInteraction:e.mobileInteraction,mobileSemantics:e.mobileSemantics,responsiveRules:e.responsiveRules},{width:t[0],height:t[1]}),i=e.size?.[0],a=e.size?.[1],n=t[0],l=t[1],c=fo(()=>{return e=[n,l],(null!=i&&null!=a?[i,a]:void 0)??[o.width??e[0],o.height??e[1]];var e},[l,n,o.height,o.width,a,i]),d=o.compactMode?"sparkline"===s.chartMode?{top:2,right:2,bottom:2,left:2}:{top:8,right:8,bottom:8,left:8}:{top:0,right:0,bottom:0,left:0},u=e.showProjection??!o.compactMode,f=e.showChrome??!o.compactMode,y=bo(e.tooltip,void 0),p=void 0!==y.enableHover?y.enableHover:o.enableHover,h=o.compactMode?o.title:o.title??e.title,m=[e.className,s.chartMode&&"primary"!==s.chartMode?"semiotic-physics--"+s.chartMode:null].filter(Boolean).join(" ")||void 0;return{chartMode:s.chartMode,simulationMode:s.simulationMode,resolved:o,chartSize:c,margin:d,showProjection:u,showChrome:f,enableHover:p,title:h,description:o.description??e.description,summary:o.summary??e.summary,accessibleTable:o.accessibleTable??e.accessibleTable,className:m,compactMode:o.compactMode,mobileInteraction:o.mobileInteraction,mobileSemantics:o.mobileSemantics}}(e,[700,380]),{chartSize:S,className:M,title:B,chartMode:L,margin:F,enableHover:I,description:z,summary:D,accessibleTable:$}=A,T=so(null),E=so(null),j=so(""),N=function(e){const[t,r]=e.size;return H(e.loading,t,r,e.loadingContent)||q(e.data,t,r,e.emptyContent)}({data:l,emptyContent:c,loading:y,loadingContent:p,size:S}),_=null!=N,O=ro(()=>R(l??[]),[l]),Q=ce(e=>e.theme),Z=ro(()=>le(Q)??{},[Q]),G=Q?.colors?.categorical??ne.colors.categorical,U=ro(()=>[S[0],S[1],O.length,O.map((e,t)=>(e.id??t)+"").join("|"),W?.join(",")??"",w?.join(",")??""].join("::"),[S,O,W,w]),X=ro(()=>m({chartId:r,colorScheme:i,config:a,data:O,layout:u,layoutConfig:f,onObservation:h,semantic:Z,skipLayout:_,size:S,themeCategorical:G,xExtent:W,yExtent:w}),[r,S,i,a,u,f,h,O,Z,_,G,W,w]);j.current===U&&null!=E.current||(j.current=U,E.current=X.initialSpawns);const Y=E.current,J=ro(()=>{const e=[...X.result.controllers??[],...n??[],...d.controllers??[]];return e.length?e:void 0},[d.controllers,n,X.result.controllers]),K=ro(()=>{const e=[...X.result.regionEffects??[],...d.regionEffects??[]];return e.length?e:void 0},[d.regionEffects,X.result.regionEffects]),ee=to(e=>{const t=e.datum,r=t&&o?function(e,t,r){return"function"==typeof r?r(e,0):e[r]}(t,0,o)+"":e.id;return{fill:s??X.context.resolveColor(r,t),stroke:b??"#111827",strokeWidth:g??1,opacity:k??.9}},[s,o,k,X.context,b,g]);!function(e,t){const{frameRef:r,spawnDatum:s,seedRows:o,idAccessor:i,bodyIdsForSeed:a,seedSpawns:n}=t,l=io(new Map),c=io(new Map),d=io(""),u=o?o.map((e,t)=>no(e,t,i)).join("\0"):"";if(u!==d.current&&(d.current=u,o))for(let e=0;o.length>e;e+=1){const t=o[e],r=no(t,e,i);l.current.set(r,t),c.current.set(r,a?.(t,r,e)??ao(r,n))}oo(e,()=>{const e=l.current,t=c.current;function o(e,t){const r=s(e,t);return{datumId:r.datumId||no(e,t,i),spawns:r.spawns.map(e=>({...e,spawnAt:void 0}))}}function a(s){const o=[];for(const{datum:r,result:i}of s)e.set(i.datumId,r),t.set(i.datumId,i.spawns.map(e=>e.id)),o.push(...i.spawns);if(!o.length)return;const i=r.current;i?(i.pushMany(o),i.step(0)):"production"!==process.env.NODE_ENV&&console.warn("[semiotic/physics] push() called before the physics frame mounted (loading/empty early-return). Omit data for push mode and ensure the chart is mounted.")}function n(s){const o=e.get(s);if(o)return o;const i=t.get(s)??[s];for(const o of i){const i=lo(r.current,o);if(i)return e.set(s,i),t.has(s)||t.set(s,[o]),i}}return{push:t=>{a([{datum:t,result:o(t,e.size)}])},pushMany:t=>{const r=e.size;a(t.map((e,t)=>({datum:e,result:o(e,r+t)})))},remove:s=>{const o=Array.isArray(s)?s:[s],i=[],a=[];for(const r of o){const s=n(r);s&&i.push(s),e.delete(r),a.push(...t.get(r)??[r]),t.delete(r)}return a.length&&r.current?.remove(a),i},update:(s,i)=>{const l=Array.isArray(s)?s:[s],c=[];for(const s of l){const l=n(s);if(!l)continue;c.push(l);const d=t.get(s)??[s];r.current?.remove(d),e.delete(s),t.delete(s);const u=i(l);a([{datum:u,result:o(u,e.size)}])}return c},clear:()=>{e.clear(),t.clear(),d.current="",r.current?.clear()},getData:()=>{const t=r.current;if(!t)return Array.from(e.values());const s=t.getData().map(e=>e.datum).filter(e=>!!e&&"object"==typeof e);return s.length?s:Array.from(e.values())},getScales:()=>null,getCustomLayout:()=>r.current?.snapshot()??null,popBodies:(e,t)=>r.current?.popBodies(e,t)??[]}},[r,i,s])}(t,{frameRef:T,spawnDatum:to((e,t)=>{const s=e;if(v)return function(e,t,r){return Array.isArray(r)?{datumId:(e.id??r[0]?.id??"physics-custom-"+t)+"",spawns:r}:"spawns"in r?r:{datumId:(e.id??r.id??"physics-custom-"+t)+"",spawns:[r]}}(e,t,v(s,t,X.context));const o=m({chartId:r,colorScheme:i,config:a,data:[s],layout:u,layoutConfig:f,onObservation:h,semantic:Z,size:S,themeCategorical:G,xExtent:W,yExtent:w}),n=o.initialSpawns.length?o.initialSpawns:[{id:(e.id??"physics-custom-"+t)+"",x:o.context.dimensions.plot.x+o.context.dimensions.plot.width/2,y:o.context.dimensions.plot.y+12,mass:1,shape:{type:"circle",radius:5},datum:e}];return{datumId:(e.id??n[0].id)+"",spawns:n}},[r,S,i,a,v,u,f,h,X.context,Z,G,W,w]),seedRows:O,seedSpawns:Y});const te=to((e,t)=>{d.onBodyPointerDown?.(e,t)},[d]);if(N)return N;const re=bo(e.tooltip,d),se=function(e,t,r,s){return{accessibleTable:s?.accessibleTable??e.accessibleTable??t?.accessibleTable,annotations:e.annotations??t?.annotations,autoPlaceAnnotations:e.autoPlaceAnnotations??t?.autoPlaceAnnotations,background:e.background??t?.background,chartId:e.chartId??t?.chartId,chartMode:s?.chartMode??t?.chartMode,className:s?.className??e.className??t?.className,color:e.color??t?.color,description:s?.description??e.description??t?.description,emphasis:e.emphasis??t?.emphasis,enableHover:s?.enableHover??t?.enableHover,hoverRadius:e.hoverRadius??t?.hoverRadius,legend:e.legend??t?.legend,legendLayout:e.legendLayout??t?.legendLayout,legendPosition:e.legendPosition??t?.legendPosition,margin:s?.margin??t?.margin,onClick:null!=e.onClick?(t,r)=>{t&&e.onClick?.(t,{x:r.x,y:r.y})}:t?.onClick,onObservation:e.onObservation??t?.onObservation,onAnnotationActivate:t?.onAnnotationActivate,opacity:e.opacity??t?.opacity,semanticItems:t?.semanticItems??r,stroke:e.stroke??t?.stroke,strokeWidth:e.strokeWidth??t?.strokeWidth,summary:s?.summary??e.summary??t?.summary,svgAnnotationRules:e.svgAnnotationRules??t?.svgAnnotationRules,title:s?.title??e.title??t?.title}}(e,d,X.result.semanticItems,{chartMode:L,className:M,title:B??C,description:z,summary:D,accessibleTable:$,enableHover:I,margin:F});return oe=S,ie=go(Ks,{...d,...re,...se,ref:T,backgroundGraphics:vo(d.backgroundGraphics,X.result.backgroundOverlays),bodyForces:X.result.bodyForces??d.bodyForces,bodyStyle:X.result.bodyStyle??d.bodyStyle??ee,config:X.config,controllers:J,foregroundGraphics:vo(d.foregroundGraphics,X.result.overlays),initialSpawnPacing:X.initialSpawnPacing,initialSpawns:Y,onBodyPointerDown:te,paused:x,regionEffects:K,responsiveHeight:e.responsiveHeight,responsiveWidth:e.responsiveWidth,selectedBodyStyle:X.result.selectedBodyStyle??d.selectedBodyStyle,size:S}),mo(P,{componentName:"PhysicsCustomChart",width:oe[0],height:oe[1],children:ie});var oe,ie});Co.displayName="PhysicsCustomChart";export{fe as EXPERIMENTAL_GOFISH_ADAPTER_NAME,at as IDID_SPEC_VERSION,nt as unstable_BUILTIN_INTENT_IDS,k as unstable_BuiltInPhysicsEngineAdapter,_e as unstable_DEFAULT_DATA_PITFALLS_ANNOTATION_PALETTE,Wr as unstable_DEFAULT_PHYSICS_CANVAS_THEME,Co as unstable_PhysicsCustomChart,x as unstable_PhysicsPipelineStore,v as unstable_PhysicsSedimentAccumulator,Js as unstable_StreamPhysicsFrame,Pt as unstable_attachIDID,zt as unstable_attachIDIDAnnotations,tt as unstable_buildDataPitfallsAnnotationBridge,ot as unstable_buildDataPitfallsBridge,Je as unstable_buildDataPitfallsNotificationBridge,l as unstable_buildPhysicsNavigationTree,c as unstable_buildPhysicsSettledEvidence,d as unstable_buildPhysicsSettledProjection,u as unstable_buildPhysicsSettledScene,Fr as unstable_collidersFromPhysicsAnnotations,b as unstable_collidersFromPlotBounds,g as unstable_collidersFromXScaleBins,C as unstable_createDefaultPhysicsEngineAdapter,Ke as unstable_dataPitfallsFindingToAnnotation,Xe as unstable_dataPitfallsFindingToNotification,W as unstable_evaluatePhysicsBodyBudget,Cr as unstable_fromFlintChart,We as unstable_fromGofishIR,tr as unstable_fromMermaid,qt as unstable_fromObservablePlot,oe as unstable_fromVegaLiteResult,$e as unstable_gofishBobaIR,De as unstable_gofishBottleIR,Ie as unstable_gofishFlowerIR,Ne as unstable_gofishIRExamples,Te as unstable_gofishPythonIR,ze as unstable_gofishTreemapIR,f as unstable_physicsBodiesToXYSceneNodes,y as unstable_physicsBodyToXYSceneNode,Sr as unstable_physicsCanvasColorWithAlpha,p as unstable_physicsObservationAnnouncement,It as unstable_readIDID,Dt as unstable_readIDIDAnnotations,h as unstable_renderPhysicsSettledSVG,Pr as unstable_resolvePhysicsBodyAnnotations,Mr as unstable_resolvePhysicsCanvasTheme,w as unstable_schedulePhysicsSpawns,A as unstable_sedimentHeightfield,Ir as unstable_summarizePhysicsAnnotations,et as unstable_toDataPitfallsAnnotations,it as unstable_toDataPitfallsChain,Ye as unstable_toDataPitfallsNotifications,Ft as unstable_toVegaLite,Lt as unstable_toVegaLiteResult,ie as unstable_unwrapIDIDEnrichedVegaLiteSpec,gt as unstable_validatePortableAnnotation,bt as unstable_validatePortableAudienceProfile,vt as unstable_validatePortableCapability};
|
|
1
|
+
"use client";
|
|
2
|
+
import{auditAccessibility as e,buildReaderGrounding as t,diagnoseConfig as r,formatAccessibilityAudit as s}from"./chunk-chunk-ZXYDYAB7.module.min.js";import"./chunk-chunk-DIVE2DRA.module.min.js";import{configToJSX as o,fromVegaLiteResult as i,serializeSelections as a,toConfig as l,unwrapIDIDEnrichedVegaLiteSpec as n}from"./chunk-chunk-GU2EJIDJ.module.min.js";import"./chunk-chunk-FQPKOAIH.module.min.js";import"./chunk-chunk-G7QVPZUD.module.min.js";import"./chunk-chunk-J5QD4RAM.module.min.js";import{coerceTemporalStringRows as c}from"./chunk-chunk-6V5VQVCT.module.min.js";import"./chunk-chunk-NJETWX42.module.min.js";import"./chunk-chunk-BNGBEY7N.module.min.js";import{BuiltInPhysicsEngineAdapter as d,DEFAULT_PHYSICS_CANVAS_THEME as f,PhysicsCustomChart as u,PhysicsPipelineStore as y,PhysicsSedimentAccumulator as p,StreamPhysicsFrame as h,buildPhysicsSettledEvidence as m,buildPhysicsSettledScene as k,collidersFromPhysicsAnnotations as v,collidersFromPlotBounds as x,collidersFromXScaleBins as C,createDefaultPhysicsEngineAdapter as b,evaluatePhysicsBodyBudget as g,physicsBodiesToXYSceneNodes as W,physicsBodyToXYSceneNode as A,physicsCanvasColorWithAlpha as w,renderPhysicsSettledSVG as S,resolvePhysicsBodyAnnotations as B,resolvePhysicsCanvasTheme as L,schedulePhysicsSpawns as M,sedimentHeightfield as F,summarizePhysicsAnnotations as I}from"./chunk-chunk-NW25WGLS.module.min.js";import"./chunk-chunk-SIRIJ3DY.module.min.js";import"./chunk-chunk-EMO5NUGE.module.min.js";import"./chunk-chunk-SV4XAZ3Q.module.min.js";import"./chunk-chunk-JWXLNZSM.module.min.js";import{useObservationSelector as $,useSelectionSelector as D}from"./chunk-chunk-7ZDJSYKI.module.min.js";import"./chunk-chunk-JJ2OOIET.module.min.js";import"./chunk-chunk-WCX6U47H.module.min.js";import"./chunk-chunk-KTWEBFMX.module.min.js";import"./chunk-chunk-ACLDBMRH.module.min.js";import"./chunk-chunk-YHNZCPOZ.module.min.js";import{createElement as R,Fragment as P}from"react";var _="unstable-gofish-displaylist-adapter";function j(e){switch(e.kind){case"rect":case"image":return{x:e.x,y:e.y,w:e.w,h:e.h};case"ellipse":return{x:e.cx-e.rx,y:e.cy-e.ry,w:2*e.rx,h:2*e.ry};case"path":return function(e){const t=e.match(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi);if(!t||2>t.length)return null;let r=1/0,s=1/0,o=-1/0,i=-1/0;for(let e=0;t.length>e+1;e+=2){const a=parseFloat(t[e]),l=parseFloat(t[e+1]);Number.isFinite(a)&&(r=Math.min(r,a),o=Math.max(o,a)),Number.isFinite(l)&&(s=Math.min(s,l),i=Math.max(i,l))}return Number.isFinite(r)&&Number.isFinite(s)?{x:r,y:s,w:o-r,h:i-s}:null}(e.d);case"text":return function(e){const t=e.fontSize??12,r=Math.max(1,(e.text+"").length*t*.6),s=e.textAnchor??"start";return{x:"middle"===s?e.x-r/2:"end"===s?e.x-r:e.x,y:e.y-t,w:r,h:1.2*t}}(e);case"composite":case"mask":return e.bbox;case"group":return null}}var z={tx:0,ty:0,sx:1,sy:1};function E(e,t){return{x:e.x*t.sx+t.tx,y:e.y*t.sy+t.ty,w:e.w*t.sx,h:e.h*t.sy}}function O(e,t){const[r=0,s=0]=t.translate??[],[o=1,i=1]=t.scale??[];return{tx:e.tx+r*e.sx,ty:e.ty+s*e.sy,sx:e.sx*o,sy:e.sy*i}}function T(e){if(null!=e.datum)return e.datum;let t;if("group"===e.kind?t=e.children:"composite"===e.kind?t=[...e.source,...e.dest]:"mask"===e.kind&&(t=[...e.mask,...e.content]),t)for(const e of t){const t=T(e);if(null!=t)return t}}function N(e){return null==e?null:Array.isArray(e)?0===e.length?null:1===e.length?e[0]:{...e[0],_rows:e}:e}function V(e,t,r){const s=function(e){if(!e)return{};const t={};return void 0!==e.fill&&(t.fill=e.fill),void 0!==e.stroke&&(t.stroke=e.stroke),void 0!==e.strokeWidth&&(t.strokeWidth=e.strokeWidth),void 0!==e.strokeDasharray&&(t.strokeDasharray=e.strokeDasharray),void 0!==e.opacity&&(t.opacity=e.opacity),void 0!==e.fillOpacity&&(t.fillOpacity=e.fillOpacity),void 0!==e.filter&&(t.filter=e.filter),void 0!==e.mixBlendMode&&(t.style={mixBlendMode:e.mixBlendMode}),t}(e.style);switch(e.kind){case"rect":return R("rect",{key:t,x:e.x,y:e.y,width:e.w,height:e.h,...void 0!==e.rx?{rx:e.rx}:{},...void 0!==e.ry?{ry:e.ry}:{},...s});case"ellipse":return R("ellipse",{key:t,cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,...s});case"path":return R("path",{key:t,d:e.d,...s});case"text":return R("text",{key:t,x:e.x,y:e.y,...void 0!==e.fontSize?{fontSize:e.fontSize}:{},...void 0!==e.fontFamily?{fontFamily:e.fontFamily}:{},...void 0!==e.textAnchor?{textAnchor:e.textAnchor}:{},...void 0!==e.dominantBaseline?{dominantBaseline:e.dominantBaseline}:{},...void 0!==e.rotate?{transform:`rotate(${e.rotate} ${e.x} ${e.y})`}:{},...s},e.text);case"image":return R("image",{key:t,x:e.x,y:e.y,width:e.w,height:e.h,href:e.href,...void 0!==e.preserveAspectRatio?{preserveAspectRatio:e.preserveAspectRatio}:{},...s});case"group":{const o=[];return e.transform.translate&&o.push(`translate(${e.transform.translate[0]} ${e.transform.translate[1]})`),e.transform.scale&&o.push(`scale(${e.transform.scale[0]} ${e.transform.scale[1]})`),R("g",{key:t,...o.length?{transform:o.join(" ")}:{},...s},e.children.map((e,s)=>V(e,`${t}-${s}`,r)))}case"composite":case"mask":return function(e,t,r){const s="gf-comp-"+r.compositeId++,o=s+"-source",i=s+"-destination";if("mask"===e.kind){const a=s+"-mask";return R(P,{key:t},R("defs",null,R("g",{id:o},e.mask.map((e,t)=>V(e,`${a}-m-${t}`,r))),R("g",{id:i},e.content.map((e,t)=>V(e,`${a}-c-${t}`,r))),R("mask",{id:a,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"},R("use",{href:"#"+o}))),R("use",{href:"#"+i,mask:`url(#${a})`}))}const{x:a,y:l,w:n,h:c}=e.bbox,d=`translate(${a} ${l})`,f=e.blendMode,u="atop"===e.operator||"in"===e.operator,y=s+"-desat",p=s+"-cov",h=e.source.map((e,t)=>V(e,`${s}-s-${t}`,r)),m=e.dest.map((e,t)=>V(e,`${s}-d-${t}`,r)),k=[];return f&&k.push(R("filter",{key:"desat",id:y},R("feColorMatrix",{type:"saturate",values:"0"}))),u&&k.push(R("mask",{key:"cov",id:p,maskUnits:"userSpaceOnUse",x:a,y:l,width:n,height:c,style:{maskType:"alpha"}},R("g",{transform:d},e.source.map((e,t)=>V(e,`${s}-m-${t}`,r))))),R(P,{key:t},k.length?R("defs",{key:"defs"},k):null,R("g",{key:"g",...u?{mask:`url(#${p})`}:{}},R("g",{transform:d,style:{isolation:"isolate"}},R("g",f?{filter:`url(#${y})`}:null,h),R("g",f?{style:{mixBlendMode:f}}:null,m))))}(e,t,r)}}function Q(e,t,r,s){for(const o of e){if("group"===o.kind){Q(o.children,O(t,o.transform),r,s);continue}const e=o.role??"node",i=N(T(o));if("node"!==e||!i||"text"===o.kind)continue;const a=j(o);if(!a)continue;const l=E(a,t);l.w>0&&l.h>0&&(r.push({type:"rect",x:l.x,y:l.y,w:l.w,h:l.h,style:{fill:"rgba(0,0,0,0)",stroke:"none"},datum:i,id:o.id??"gofish-node-"+s.n}),s.n+=1)}}function q(e,t){for(const r of e){if("group"===r.kind){q(r.children,t);continue}if("node"!==(r.role??"node")||"text"===r.kind)continue;const e=N(T(r));e&&t.push(e)}}function Z(e){return t=>{const r=t.config?.displayList??e,s=[];Q(r.items,z,s,{n:0});const o={compositeId:0};return{sceneNodes:s,overlays:R("g",{className:"semiotic-gofish-displaylist","data-gofish-ir":r.ir},r.items.map((e,t)=>V(e,"gf-"+t,o)))}}}function H(e,t={}){const r=[];e&&"gofish-display-list"===e.ir||r.push(`Expected a "gofish-display-list" document (the output of GoFish's toDisplayList) but got ir="${e?.ir}". This adapter consumes the baked render IR, not the source-level Frontend IR. Attempting best-effort translation.`),0!==e?.irVersion&&r.push(`This adapter targets GoFish DisplayList IR v0; document declares irVersion=${e?.irVersion}. Newer fields are ignored.`);const s=t.displayList??e,o=Array.isArray(s?.items)?s.items:[];0===o.length&&r.push("Display list carried no items; the chart will render empty.");const i=[];q(o,i);const a=s?.viewport??{w:0,h:0};return{family:"network",networkLayout:Z(s),layoutConfig:{displayList:s},nodes:i,edges:[],width:a.w,height:a.h,irVersion:s?.irVersion??0,warnings:r.length?r:void 0}}var U={irVersion:0,ir:"gofish-display-list",viewport:{w:725,h:608},items:[{kind:"rect",x:46,y:177.05109489051097,w:4,h:390.94890510948903,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"A",species:"Bass",count:23,x:5.26},{lake:"A",species:"Trout",count:31,x:5.26},{lake:"A",species:"Catfish",count:29,x:5.26},{lake:"A",species:"Perch",count:12,x:5.26},{lake:"A",species:"Salmon",count:8,x:5.26}],role:"node"},{kind:"rect",x:150.21159715157677,y:48,w:4,h:520,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"B",species:"Bass",count:25,x:30.87},{lake:"B",species:"Trout",count:34,x:30.87},{lake:"B",species:"Catfish",count:41,x:30.87},{lake:"B",species:"Perch",count:21,x:30.87},{lake:"B",species:"Salmon",count:16,x:30.87}],role:"node"},{kind:"rect",x:228.09562563580872,y:97.34306569343067,w:4,h:470.6569343065693,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"C",species:"Bass",count:15,x:50.01},{lake:"C",species:"Trout",count:25,x:50.01},{lake:"C",species:"Catfish",count:31,x:50.01},{lake:"C",species:"Perch",count:22,x:50.01},{lake:"C",species:"Salmon",count:31,x:50.01}],role:"node"},{kind:"rect",x:493.08036622583916,y:127.7080291970803,w:4,h:440.2919708029197,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"D",species:"Bass",count:12,x:115.13},{lake:"D",species:"Trout",count:17,x:115.13},{lake:"D",species:"Catfish",count:23,x:115.13},{lake:"D",species:"Perch",count:23,x:115.13},{lake:"D",species:"Salmon",count:41,x:115.13}],role:"node"},{kind:"rect",x:566,y:230.18978102189783,w:4,h:337.81021897810217,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"E",species:"Bass",count:7,x:133.05},{lake:"E",species:"Trout",count:9,x:133.05},{lake:"E",species:"Catfish",count:13,x:133.05},{lake:"E",species:"Perch",count:20,x:133.05},{lake:"E",species:"Salmon",count:40,x:133.05}],role:"node"},{kind:"rect",x:374.50457782299077,y:233.98540145985402,w:4,h:334.014598540146,rx:0,ry:0,style:{fill:"rgb(0, 142, 91)",stroke:"rgb(0, 142, 91)",strokeWidth:0,opacity:1},datum:[{lake:"F",species:"Bass",count:4,x:85.99},{lake:"F",species:"Trout",count:7,x:85.99},{lake:"F",species:"Catfish",count:9,x:85.99},{lake:"F",species:"Perch",count:21,x:85.99},{lake:"F",species:"Salmon",count:47,x:85.99}],role:"node"},{kind:"path",d:"M48,177.05109489051097 L51.33938470081845,157.33185276968038 Q62.585541795027574,147.83007294504642 78.5544659261578,151.23589371044534 L78.5544659261578,151.23589371044534 Q79.24615709420912,167.54931506587707 68,177.05109489051097 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M48,177.05109489051097 L28.23212580349808,180.08937561343197 Q15.395537702847022,167.0555157053688 19.932222868676277,148.55197408115367 L19.932222868676277,148.55197408115367 Q38.502796600167386,144.29799286161722 51.33938470081844,157.33185276968038 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M48,177.05109489051097 L54.872239108850245,195.83332930579792 Q46.05669091221945,210.74998921193776 27.648845679391155,211.4869848575027 L27.648845679391155,211.4869848575027 Q19.41657760686728,195.0060355195718 28.232125803498075,180.08937561343197 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M48,177.05109489051097 L65.6653119358892,186.42855479219708 Q73.1051493059896,194.96663366274248 74.27815052329349,207.20832959588688 L74.27815052329349,207.20832959588688 Q62.312076478950644,204.37140817634332 54.87223910885024,195.83332930579792 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M48,177.05109489051097 L68,177.05109489051097 Q78.2786737604877,179.61015642690683 86.81510630457642,186.7148168734962 L86.81510630457642,186.7148168734962 Q75.94398569637693,188.98761632859294 65.6653119358892,186.42855479219702 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M152.21159715157677,48 L160.44397423880116,29.77287824439236 Q171.53152518881467,22.61463788393587 185.8165831430777,26.304265015652845 L185.8165831430777,26.304265015652845 Q183.2991481015903,40.8417596395434 172.21159715157677,48 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M152.21159715157677,48 L134.08006108840306,39.55918250464856 Q128.5896756113119,24.768303125587636 138.2916438648223,10.500201327279456 L138.2916438648223,10.500201327279456 Q154.95358876170997,14.981998865331548 160.44397423880116,29.77287824439236 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M152.21159715157677,48 L149.69583253910324,67.84114231627365 Q133.7568401074522,76.6417934955033 117.19474012561054,67.33441811958761 L117.19474012561054,67.33441811958761 Q118.14106865675201,48.35983368387815 134.08006108840306,39.55918250464856 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M152.21159715157677,48 L167.06425994884756,61.393969084277046 Q171.3357758215148,72.90126238854208 166.1315504383313,85.49979867272054 L166.1315504383313,85.49979867272054 Q153.9673484117705,79.34843562053874 149.69583253910326,67.8411423162737 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M152.21159715157677,48 L172.21159715157677,48 Q182.78856757502288,52.06475728069893 189.5493329143521,62.348989097116544 L189.5493329143521,62.348989097116544 Q177.64123037229365,65.45872636497592 167.06425994884756,61.393969084277046 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L244.59148138039112,83.56372731191692 Q255.2031434952678,79.32490847658079 267.2417456186992,82.50508165863994 L267.2417456186992,82.50508165863994 Q260.7072877506854,93.10424685809448 250.09562563580872,97.34306569343067 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L221.28774260465605,79.38697490201582 Q223.73634923567542,65.7252387745541 237.15241628612105,57.97046474152933 L237.15241628612105,57.97046474152933 Q247.04008801141052,69.9019911844552 244.59148138039112,83.56372731191692 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L212.1395348443939,106.15094872458337 Q197.13404068352253,101.0219129902373 192.24565087293524,84.40554620746116 L192.24565087293524,84.40554620746116 Q206.28224844378468,74.25793916766975 221.28774260465602,79.38697490201582 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L230.09562563580872,117.34306569343067 Q223.20475072170726,128.39845190269688 208.9370652227302,131.2888359932207 L208.9370652227302,131.2888359932207 Q205.24865993029243,117.20633493384952 212.1395348443939,106.15094872458337 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M230.09562563580872,97.34306569343067 L250.09562563580872,97.34306569343067 Q261.30882907140517,108.5562691290271 258.3798968832706,125.62733694089258 L258.3798968832706,125.62733694089258 Q241.30882907140514,128.5562691290271 230.09562563580872,117.34306569343067 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L511.00222753995206,115.604544893205 Q521.4708920183797,112.07724114106321 532.9864930731512,114.93596799164106 L532.9864930731512,114.93596799164106 Q525.5490307042668,124.18072544493856 515.0803662258392,127.7080291970803 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L495.08036622583916,107.7080291970803 Q500.4487867593998,96.88360352625733 512.8528344799953,91.87313876673278 L512.8528344799953,91.87313876673278 Q516.3706480735127,104.78011922238198 511.00222753995206,115.604544893205 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L476.1273028021831,121.3219985943607 Q468.1019971407863,110.14934771231418 471.7445830615394,95.22047428587183 L471.7445830615394,95.22047428587183 Q487.0550605644424,96.53537831503377 495.08036622583916,107.7080291970803 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L482.97688192196387,143.6298905111932 Q469.8265915055812,147.66765234861458 456.8422805189747,139.4489321212377 L456.8422805189747,139.4489321212377 Q462.97701238580044,125.35976043178209 476.1273028021831,121.3219985943607 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M495.08036622583916,127.7080291970803 L515.0803662258392,127.7080291970803 Q524.4614595683939,146.62326636278448 512.8528344799954,163.5429196274278 L512.8528344799954,163.5429196274278 Q492.35797526451864,162.54512767689738 482.97688192196387,143.6298905111932 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M568,230.18978102189783 L585.6071292574618,220.70352784632678 Q595.8924011178875,218.10910772508834 606.7851153188756,220.40638540986583 L606.7851153188756,220.40638540986583 Q598.2852718604257,227.59536090065933 588,230.18978102189783 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M568,230.18978102189783 L576.5411287773276,212.10528160363612 Q584.1112349273089,204.12335319018302 595.5256468898348,201.16670807473855 L595.5256468898348,201.16670807473855 Q593.1772354074432,212.7215994328737 585.6071292574618,220.70352784632678 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M568,230.18978102189783 L558.8259633556381,212.4179760587573 Q558.6129628698615,200.35080064634843 567.2940607742748,190.1960108844179 L567.2940607742748,190.1960108844179 Q576.3281282915508,200.0381061912273 576.5411287773276,212.10528160363612 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M568,230.18978102189783 L549.0008039851402,236.4372245621737 Q535.3206483176143,230.84130803599493 530.9776373371512,215.04565137174967 L530.9776373371512,215.04565137174967 Q545.1458076881124,206.82205953257852 558.8259633556381,212.4179760587573 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M568,230.18978102189783 L588,230.18978102189783 Q592.244920932759,256.6883804021077 574.3270972337722,269.68620922236164 L574.3270972337722,269.68620922236164 Q553.2457249178992,262.93582394238365 549.0008039851402,236.4372245621737 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L395.6944372952807,228.3507503230254 Q405.79415081556374,226.89863074324114 416.0974354982281,228.29280792892263 L416.0974354982281,228.29280792892263 Q406.60429134327376,232.53328188006975 396.50457782299077,233.98540145985402 Z",role:"node",style:{fill:"#81c4e4"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L390.6467134467217,219.84326583612307 Q399.7811431049423,214.42355822457586 410.9051474312988,213.57460013741803 L410.9051474312988,213.57460013741803 Q404.8288669535013,222.9310427114782 395.6944372952807,228.3507503230254 Z",role:"node",style:{fill:"#f7e180"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L379.35087458845646,214.18897262223538 Q384.2851746957395,204.33149675711883 394.40926622549927,198.21639066546555 L394.40926622549927,198.21639066546555 Q395.58101355400476,209.9857899710065 390.6467134467217,219.84326583612307 Z",role:"node",style:{fill:"#cdb7e4"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L356.9616405035676,229.73409566879445 Q348.2002816724974,217.11533972951884 353.6916723455922,201.12857045503438 L353.6916723455922,201.12857045503438 Q370.5895157573863,201.5702166829597 379.35087458845646,214.18897262223538 Z",role:"node",style:{fill:"#ffbd96"}},{kind:"path",d:"M376.50457782299077,233.98540145985402 L396.50457782299077,233.98540145985402 Q393.069192835749,265.9391634085407 372.22877296038627,273.7562135307299 L372.22877296038627,273.7562135307299 Q353.5262555163258,261.6878576174812 356.9616405035676,229.7340956687945 Z",role:"node",style:{fill:"#7dd7af"}},{kind:"rect",x:628,y:8,w:10,h:10,rx:0,ry:0,style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:16,text:"Bass",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:26,w:10,h:10,rx:0,ry:0,style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:34,text:"Trout",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:44,w:10,h:10,rx:0,ry:0,style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:52,text:"Catfish",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:62,w:10,h:10,rx:0,ry:0,style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:70,text:"Perch",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:628,y:80,w:10,h:10,rx:0,ry:0,style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:643,y:88,text:"Salmon",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}}]},G={irVersion:0,ir:"gofish-display-list",viewport:{w:1144.5,h:400},items:[{kind:"ellipse",cx:71,cy:73.889076455603,rx:31,ry:31,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:260,survived:!0},role:"node"},{kind:"ellipse",cx:71,cy:140.889076455603,rx:31,ry:31,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:252.4,survived:!0},role:"node"},{kind:"ellipse",cx:71,cy:205.889076455603,rx:31,ry:31,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:244.9,survived:!1},role:"node"},{kind:"ellipse",cx:71,cy:268.889076455603,rx:31,ry:31,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:237.6,survived:!0},role:"node"},{kind:"ellipse",cx:71,cy:329.889076455603,rx:30,ry:30,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:230.4,survived:!0},role:"node"},{kind:"ellipse",cx:130,cy:71.389076455603,rx:28,ry:28,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:223.3,survived:!1},role:"node"},{kind:"ellipse",cx:185.5,cy:71.389076455603,rx:27.5,ry:27.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:216.3,survived:!1},role:"node"},{kind:"ellipse",cx:240,cy:71.389076455603,rx:27,ry:27,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:209.5,survived:!0},role:"node"},{kind:"ellipse",cx:292.5,cy:71.389076455603,rx:25.5,ry:25.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:202.8,survived:!0},role:"node"},{kind:"ellipse",cx:343,cy:71.389076455603,rx:25,ry:25,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:196.2,survived:!1},role:"node"},{kind:"ellipse",cx:129.5,cy:130.389076455603,rx:27.5,ry:27.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:189.7,survived:!0},role:"node"},{kind:"ellipse",cx:129.5,cy:184.389076455603,rx:26.5,ry:26.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:183.4,survived:!0},role:"node"},{kind:"ellipse",cx:129.5,cy:236.889076455603,rx:26,ry:26,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:177.2,survived:!0},role:"node"},{kind:"ellipse",cx:129.5,cy:287.389076455603,rx:24.5,ry:24.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:171.1,survived:!1},role:"node"},{kind:"ellipse",cx:129.5,cy:335.889076455603,rx:24,ry:24,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:165.2,survived:!0},role:"node"},{kind:"ellipse",cx:185,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:159.4,survived:!0},role:"node"},{kind:"ellipse",cx:240,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:153.7,survived:!1},role:"node"},{kind:"ellipse",cx:292.5,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:148.1,survived:!1},role:"node"},{kind:"ellipse",cx:343,cy:126.389076455603,rx:23.5,ry:23.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:142.7,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:172.389076455603,rx:22.5,ry:22.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:137.4,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:216.889076455603,rx:22,ry:22,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:132.2,survived:!1},role:"node"},{kind:"ellipse",cx:181.5,cy:259.889076455603,rx:21,ry:21,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:127.2,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:300.889076455603,rx:20,ry:20,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:122.3,survived:!0},role:"node"},{kind:"ellipse",cx:181.5,cy:340.389076455603,rx:19.5,ry:19.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:117.5,survived:!0},role:"node"},{kind:"ellipse",cx:227.5,cy:170.889076455603,rx:21,ry:21,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:112.8,survived:!1},role:"node"},{kind:"ellipse",cx:269.5,cy:170.889076455603,rx:20.5,ry:20.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:108.3,survived:!0},role:"node"},{kind:"ellipse",cx:310,cy:170.889076455603,rx:20,ry:20,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:103.9,survived:!0},role:"node"},{kind:"ellipse",cx:349,cy:170.889076455603,rx:19,ry:19,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:99.6,survived:!0},role:"node"},{kind:"ellipse",cx:227.5,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:95.4,survived:!1},role:"node"},{kind:"ellipse",cx:270,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:91.4,survived:!0},role:"node"},{kind:"ellipse",cx:310.5,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:87.5,survived:!0},role:"node"},{kind:"ellipse",cx:349,cy:209.389076455603,rx:17.5,ry:17.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:83.7,survived:!1},role:"node"},{kind:"ellipse",cx:224,cy:244.889076455603,rx:18,ry:18,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:80.1,survived:!1},role:"node"},{kind:"ellipse",cx:224,cy:279.889076455603,rx:17,ry:17,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:76.6,survived:!0},role:"node"},{kind:"ellipse",cx:224,cy:312.889076455603,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:73.2,survived:!0},role:"node"},{kind:"ellipse",cx:224,cy:344.389076455603,rx:15.5,ry:15.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:69.9,survived:!1},role:"node"},{kind:"ellipse",cx:259,cy:242.889076455603,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:66.8,survived:!0},role:"node"},{kind:"ellipse",cx:292,cy:242.889076455603,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:63.8,survived:!0},role:"node"},{kind:"ellipse",cx:323.5,cy:242.889076455603,rx:15.5,ry:15.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:60.9,survived:!0},role:"node"},{kind:"ellipse",cx:353.5,cy:242.889076455603,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:58.2,survived:!1},role:"node"},{kind:"ellipse",cx:255,cy:276.889076455603,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:55.6,survived:!0},role:"node"},{kind:"ellipse",cx:255,cy:311.389076455603,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:53.1,survived:!0},role:"node"},{kind:"ellipse",cx:255,cy:343.889076455603,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:50.7,survived:!1},role:"node"},{kind:"ellipse",cx:281.5,cy:273.889076455603,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:48.5,survived:!1},role:"node"},{kind:"ellipse",cx:307.5,cy:273.889076455603,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:46.4,survived:!0},role:"node"},{kind:"ellipse",cx:332.5,cy:273.889076455603,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:44.4,survived:!0},role:"node"},{kind:"ellipse",cx:356.5,cy:273.889076455603,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:42.5,survived:!1},role:"node"},{kind:"ellipse",cx:281.5,cy:300.889076455603,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:40.8,survived:!0},role:"node"},{kind:"ellipse",cx:281.5,cy:324.889076455603,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:39.2,survived:!0},role:"node"},{kind:"ellipse",cx:281.5,cy:348.389076455603,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:37.7,survived:!0},role:"node"},{kind:"ellipse",cx:307,cy:300.889076455603,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:36.4,survived:!1},role:"node"},{kind:"ellipse",cx:307,cy:324.889076455603,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:35.2,survived:!0},role:"node"},{kind:"ellipse",cx:307,cy:348.389076455603,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:34.1,survived:!0},role:"node"},{kind:"ellipse",cx:331.5,cy:299.389076455603,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:33.1,survived:!1},role:"node"},{kind:"ellipse",cx:356,cy:299.389076455603,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:32.3,survived:!1},role:"node"},{kind:"ellipse",cx:331,cy:319.889076455603,rx:10,ry:10,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:31.6,survived:!0},role:"node"},{kind:"ellipse",cx:355.5,cy:319.889076455603,rx:10,ry:10,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:31,survived:!0},role:"node"},{kind:"ellipse",cx:327,cy:344.889076455603,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:30.6,survived:!1},role:"node"},{kind:"ellipse",cx:343.5,cy:344.889076455603,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:30.3,survived:!1},role:"node"},{kind:"ellipse",cx:360,cy:344.889076455603,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:1,fare:30.1,survived:!0},role:"node"},{kind:"ellipse",cx:393.5,cy:243.5,rx:17.5,ry:17.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:77,survived:!1},role:"node"},{kind:"ellipse",cx:393.5,cy:277.5,rx:16.5,ry:16.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:75.4,survived:!0},role:"node"},{kind:"ellipse",cx:393.5,cy:310.5,rx:16.5,ry:16.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:73.8,survived:!0},role:"node"},{kind:"ellipse",cx:393.5,cy:343.5,rx:16.5,ry:16.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:72.2,survived:!1},role:"node"},{kind:"ellipse",cx:428,cy:243.5,rx:16.5,ry:16.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:70.7,survived:!1},role:"node"},{kind:"ellipse",cx:428,cy:277.5,rx:16.5,ry:16.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:69.1,survived:!0},role:"node"},{kind:"ellipse",cx:428,cy:311,rx:16.5,ry:16.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:67.6,survived:!1},role:"node"},{kind:"ellipse",cx:428,cy:344,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:66.1,survived:!1},role:"node"},{kind:"ellipse",cx:459.5,cy:243.5,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:64.7,survived:!0},role:"node"},{kind:"ellipse",cx:459.5,cy:277.5,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:63.2,survived:!0},role:"node"},{kind:"ellipse",cx:459.5,cy:311,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:61.8,survived:!1},role:"node"},{kind:"ellipse",cx:459.5,cy:344,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:60.4,survived:!1},role:"node"},{kind:"ellipse",cx:488,cy:243.5,rx:13.5,ry:13.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:59,survived:!0},role:"node"},{kind:"ellipse",cx:488,cy:278,rx:13.5,ry:13.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:57.6,survived:!0},role:"node"},{kind:"ellipse",cx:488,cy:311.5,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:56.2,survived:!1},role:"node"},{kind:"ellipse",cx:488,cy:344,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:54.9,survived:!1},role:"node"},{kind:"ellipse",cx:517,cy:240,rx:14,ry:14,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:53.6,survived:!0},role:"node"},{kind:"ellipse",cx:517,cy:268,rx:14,ry:14,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:52.3,survived:!1},role:"node"},{kind:"ellipse",cx:517,cy:295,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:51,survived:!1},role:"node"},{kind:"ellipse",cx:517,cy:321,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:49.8,survived:!0},role:"node"},{kind:"ellipse",cx:517,cy:347,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:48.6,survived:!0},role:"node"},{kind:"ellipse",cx:546,cy:240,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:47.4,survived:!1},role:"node"},{kind:"ellipse",cx:546,cy:268,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:46.2,survived:!1},role:"node"},{kind:"ellipse",cx:546,cy:295,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:45,survived:!0},role:"node"},{kind:"ellipse",cx:546,cy:321,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:43.8,survived:!0},role:"node"},{kind:"ellipse",cx:546,cy:347,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:42.7,survived:!1},role:"node"},{kind:"ellipse",cx:571.5,cy:240,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:41.6,survived:!1},role:"node"},{kind:"ellipse",cx:571.5,cy:268,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:40.5,survived:!0},role:"node"},{kind:"ellipse",cx:571.5,cy:295,rx:12,ry:12,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:39.5,survived:!0},role:"node"},{kind:"ellipse",cx:571.5,cy:321.5,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:38.4,survived:!1},role:"node"},{kind:"ellipse",cx:571.5,cy:347.5,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:37.4,survived:!1},role:"node"},{kind:"ellipse",cx:596,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:36.4,survived:!0},role:"node"},{kind:"ellipse",cx:621,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:35.4,survived:!1},role:"node"},{kind:"ellipse",cx:645.5,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:34.4,survived:!1},role:"node"},{kind:"ellipse",cx:669,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:33.5,survived:!0},role:"node"},{kind:"ellipse",cx:692,cy:237.5,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:32.6,survived:!0},role:"node"},{kind:"ellipse",cx:594.5,cy:261,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:31.7,survived:!1},role:"node"},{kind:"ellipse",cx:594.5,cy:284,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:30.8,survived:!1},role:"node"},{kind:"ellipse",cx:594.5,cy:306,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:29.9,survived:!0},role:"node"},{kind:"ellipse",cx:594.5,cy:328,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:29.1,survived:!0},role:"node"},{kind:"ellipse",cx:594.5,cy:349.5,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:28.3,survived:!1},role:"node"},{kind:"ellipse",cx:615.5,cy:259.5,rx:10,ry:10,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:27.4,survived:!1},role:"node"},{kind:"ellipse",cx:636,cy:259.5,rx:10.5,ry:10.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:26.7,survived:!0},role:"node"},{kind:"ellipse",cx:656,cy:259.5,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:25.9,survived:!1},role:"node"},{kind:"ellipse",cx:675,cy:259.5,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:25.2,survived:!1},role:"node"},{kind:"ellipse",cx:694,cy:259.5,rx:9.5,ry:9.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:24.4,survived:!0},role:"node"},{kind:"ellipse",cx:615.5,cy:279.5,rx:9.5,ry:9.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:23.7,survived:!0},role:"node"},{kind:"ellipse",cx:615.5,cy:298.5,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:23.1,survived:!1},role:"node"},{kind:"ellipse",cx:615.5,cy:317,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:22.4,survived:!1},role:"node"},{kind:"ellipse",cx:615.5,cy:334.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:21.8,survived:!0},role:"node"},{kind:"ellipse",cx:615.5,cy:351.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:21.1,survived:!0},role:"node"},{kind:"ellipse",cx:635.5,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:20.5,survived:!1},role:"node"},{kind:"ellipse",cx:655.5,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:20,survived:!1},role:"node"},{kind:"ellipse",cx:675,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:19.4,survived:!0},role:"node"},{kind:"ellipse",cx:694,cy:278.5,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:18.9,survived:!0},role:"node"},{kind:"ellipse",cx:633,cy:296.5,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:18.3,survived:!1},role:"node"},{kind:"ellipse",cx:633,cy:315,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:17.9,survived:!0},role:"node"},{kind:"ellipse",cx:633,cy:333,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:17.4,survived:!0},role:"node"},{kind:"ellipse",cx:633,cy:351,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:16.9,survived:!1},role:"node"},{kind:"ellipse",cx:649,cy:295,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:16.5,survived:!1},role:"node"},{kind:"ellipse",cx:665,cy:295,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:16.1,survived:!0},role:"node"},{kind:"ellipse",cx:680.5,cy:295,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:15.7,survived:!0},role:"node"},{kind:"ellipse",cx:696,cy:295,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:15.3,survived:!1},role:"node"},{kind:"ellipse",cx:649,cy:310.5,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14.9,survived:!1},role:"node"},{kind:"ellipse",cx:649,cy:325,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14.6,survived:!0},role:"node"},{kind:"ellipse",cx:649,cy:339,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14.3,survived:!0},role:"node"},{kind:"ellipse",cx:649,cy:353,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:14,survived:!1},role:"node"},{kind:"ellipse",cx:665,cy:310,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13.7,survived:!1},role:"node"},{kind:"ellipse",cx:680.5,cy:310,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13.5,survived:!0},role:"node"},{kind:"ellipse",cx:696,cy:310,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13.2,survived:!1},role:"node"},{kind:"ellipse",cx:664.5,cy:324,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:13,survived:!1},role:"node"},{kind:"ellipse",cx:664.5,cy:338.5,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.8,survived:!0},role:"node"},{kind:"ellipse",cx:664.5,cy:353,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.7,survived:!0},role:"node"},{kind:"ellipse",cx:679.5,cy:323,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.5,survived:!1},role:"node"},{kind:"ellipse",cx:695.5,cy:323,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.4,survived:!1},role:"node"},{kind:"ellipse",cx:678,cy:337,rx:6.5,ry:6.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.3,survived:!0},role:"node"},{kind:"ellipse",cx:678,cy:352.5,rx:6.5,ry:6.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.2,survived:!0},role:"node"},{kind:"ellipse",cx:694,cy:334.5,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12.1,survived:!1},role:"node"},{kind:"ellipse",cx:694,cy:345,rx:5,ry:5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12,survived:!1},role:"node"},{kind:"ellipse",cx:694,cy:355,rx:5,ry:5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:2,fare:12,survived:!0},role:"node"},{kind:"ellipse",cx:727.5,cy:171.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:70,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:206.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:69.2,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:241.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:68.4,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:275.9825665265031,rx:16,ry:16,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:67.5,survived:!0},role:"node"},{kind:"ellipse",cx:727.5,cy:309.9825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:66.7,survived:!1},role:"node"},{kind:"ellipse",cx:727.5,cy:343.4825665265031,rx:16,ry:16,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:65.9,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:171.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:65.1,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:206.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:64.4,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:241.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:63.6,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:275.9825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:62.8,survived:!1},role:"node"},{kind:"ellipse",cx:758.5,cy:309.9825665265031,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:62,survived:!0},role:"node"},{kind:"ellipse",cx:758.5,cy:343.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:61.2,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:169.4825665265031,rx:15.5,ry:15.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:60.5,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:199.9825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:59.7,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:229.9825665265031,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:59,survived:!0},role:"node"},{kind:"ellipse",cx:789,cy:259.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:58.2,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:288.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:57.5,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:317.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:56.7,survived:!1},role:"node"},{kind:"ellipse",cx:789,cy:345.9825665265031,rx:14,ry:14,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:56,survived:!0},role:"node"},{kind:"ellipse",cx:819.5,cy:169.4825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:55.3,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:199.9825665265031,rx:15,ry:15,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:54.5,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:229.9825665265031,rx:15,ry:15,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:53.8,survived:!0},role:"node"},{kind:"ellipse",cx:819.5,cy:259.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:53.1,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:288.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:52.4,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:317.4825665265031,rx:14.5,ry:14.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:51.7,survived:!1},role:"node"},{kind:"ellipse",cx:819.5,cy:345.9825665265031,rx:14,ry:14,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:51,survived:!0},role:"node"},{kind:"ellipse",cx:849.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:50.3,survived:!1},role:"node"},{kind:"ellipse",cx:879.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:49.6,survived:!1},role:"node"},{kind:"ellipse",cx:909.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:48.9,survived:!1},role:"node"},{kind:"ellipse",cx:939,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:48.2,survived:!0},role:"node"},{kind:"ellipse",cx:968,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:47.6,survived:!1},role:"node"},{kind:"ellipse",cx:997,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:46.9,survived:!1},role:"node"},{kind:"ellipse",cx:1025.5,cy:166.9825665265031,rx:13,ry:13,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:46.2,survived:!0},role:"node"},{kind:"ellipse",cx:848,cy:193.4825665265031,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:45.6,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:220.4825665265031,rx:13.5,ry:13.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:44.9,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:246.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:44.3,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:272.4825665265031,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:43.6,survived:!0},role:"node"},{kind:"ellipse",cx:848,cy:297.9825665265031,rx:13,ry:13,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:43,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:322.9825665265031,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:42.4,survived:!1},role:"node"},{kind:"ellipse",cx:848,cy:347.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:41.7,survived:!1},role:"node"},{kind:"ellipse",cx:875,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:41.1,survived:!0},role:"node"},{kind:"ellipse",cx:901.5,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:40.5,survived:!1},role:"node"},{kind:"ellipse",cx:927.5,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:39.9,survived:!1},role:"node"},{kind:"ellipse",cx:953,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:39.3,survived:!1},role:"node"},{kind:"ellipse",cx:978,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:38.7,survived:!1},role:"node"},{kind:"ellipse",cx:1003,cy:192.4825665265031,rx:12.5,ry:12.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:38.1,survived:!1},role:"node"},{kind:"ellipse",cx:1027.5,cy:192.4825665265031,rx:12,ry:12,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:37.5,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:218.4825665265031,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:36.9,survived:!0},role:"node"},{kind:"ellipse",cx:872.5,cy:244.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:36.3,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:270.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:35.8,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:296.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:35.2,survived:!1},role:"node"},{kind:"ellipse",cx:872.5,cy:322.4825665265031,rx:11,ry:11,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:34.6,survived:!0},role:"node"},{kind:"ellipse",cx:872.5,cy:347.4825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:34.1,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:216.9825665265031,rx:11.5,ry:11.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:33.5,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:239.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:33,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:262.4825665265031,rx:11.5,ry:11.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:32.4,survived:!0},role:"node"},{kind:"ellipse",cx:895,cy:284.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:31.9,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:306.9825665265031,rx:11,ry:11,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:31.4,survived:!1},role:"node"},{kind:"ellipse",cx:895,cy:328.4825665265031,rx:10.5,ry:10.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:30.8,survived:!0},role:"node"},{kind:"ellipse",cx:895,cy:349.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:30.3,survived:!1},role:"node"},{kind:"ellipse",cx:918,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:29.8,survived:!1},role:"node"},{kind:"ellipse",cx:941,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:29.3,survived:!1},role:"node"},{kind:"ellipse",cx:963.5,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:28.8,survived:!0},role:"node"},{kind:"ellipse",cx:985.5,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:28.3,survived:!1},role:"node"},{kind:"ellipse",cx:1007.5,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:27.8,survived:!1},role:"node"},{kind:"ellipse",cx:1029,cy:215.4825665265031,rx:10.5,ry:10.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:27.3,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:236.9825665265031,rx:10,ry:10,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:26.8,survived:!0},role:"node"},{kind:"ellipse",cx:936.5,cy:236.9825665265031,rx:10,ry:10,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:26.3,survived:!1},role:"node"},{kind:"ellipse",cx:956,cy:236.9825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:25.8,survived:!1},role:"node"},{kind:"ellipse",cx:975,cy:236.9825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:25.3,survived:!1},role:"node"},{kind:"ellipse",cx:994,cy:236.9825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:24.9,survived:!1},role:"node"},{kind:"ellipse",cx:1012.5,cy:236.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:24.4,survived:!1},role:"node"},{kind:"ellipse",cx:1030.5,cy:236.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:24,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:257.4825665265031,rx:9.5,ry:9.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:23.5,survived:!0},role:"node"},{kind:"ellipse",cx:916.5,cy:276.9825665265031,rx:10,ry:10,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:23.1,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:295.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:22.6,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:314.4825665265031,rx:9.5,ry:9.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:22.2,survived:!1},role:"node"},{kind:"ellipse",cx:916.5,cy:332.9825665265031,rx:9,ry:9,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:21.8,survived:!0},role:"node"},{kind:"ellipse",cx:916.5,cy:350.9825665265031,rx:9,ry:9,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:21.3,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:257.4825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:20.9,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:276.9825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:20.5,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:296.4825665265031,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:20.1,survived:!0},role:"node"},{kind:"ellipse",cx:935,cy:314.9825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:19.7,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:332.9825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:19.3,survived:!1},role:"node"},{kind:"ellipse",cx:935,cy:350.9825665265031,rx:8.5,ry:8.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:18.9,survived:!0},role:"node"},{kind:"ellipse",cx:952,cy:256.4825665265031,rx:8.5,ry:8.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:18.5,survived:!1},role:"node"},{kind:"ellipse",cx:968.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:18.1,survived:!1},role:"node"},{kind:"ellipse",cx:984.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:17.7,survived:!1},role:"node"},{kind:"ellipse",cx:1000.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:17.4,survived:!0},role:"node"},{kind:"ellipse",cx:1016.5,cy:256.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:17,survived:!1},role:"node"},{kind:"ellipse",cx:1032,cy:256.4825665265031,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:16.6,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:273.4825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:16.3,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:289.9825665265031,rx:8,ry:8,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:15.9,survived:!0},role:"node"},{kind:"ellipse",cx:951.5,cy:305.9825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:15.6,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:321.9825665265031,rx:8,ry:8,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:15.2,survived:!1},role:"node"},{kind:"ellipse",cx:951.5,cy:337.4825665265031,rx:7.5,ry:7.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:14.9,survived:!0},role:"node"},{kind:"ellipse",cx:951.5,cy:352.4825665265031,rx:7.5,ry:7.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:14.6,survived:!1},role:"node"},{kind:"ellipse",cx:967.5,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:14.2,survived:!1},role:"node"},{kind:"ellipse",cx:984,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13.9,survived:!1},role:"node"},{kind:"ellipse",cx:1000.5,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13.6,survived:!0},role:"node"},{kind:"ellipse",cx:1016.5,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13.3,survived:!1},role:"node"},{kind:"ellipse",cx:1032,cy:271.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:13,survived:!1},role:"node"},{kind:"ellipse",cx:966.5,cy:285.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:12.7,survived:!1},role:"node"},{kind:"ellipse",cx:980.5,cy:285.9825665265031,rx:7,ry:7,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:12.4,survived:!0},role:"node"},{kind:"ellipse",cx:994,cy:285.9825665265031,rx:6.5,ry:6.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:12.1,survived:!1},role:"node"},{kind:"ellipse",cx:1007.5,cy:285.9825665265031,rx:7,ry:7,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11.8,survived:!1},role:"node"},{kind:"ellipse",cx:1020.5,cy:285.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11.5,survived:!1},role:"node"},{kind:"ellipse",cx:1033,cy:285.9825665265031,rx:6.5,ry:6.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11.2,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:299.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:11,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:313.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:10.7,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:327.4825665265031,rx:6,ry:6,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:10.4,survived:!0},role:"node"},{kind:"ellipse",cx:965.5,cy:340.4825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:10.2,survived:!1},role:"node"},{kind:"ellipse",cx:965.5,cy:353.4825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.9,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:299.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.7,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:313.9825665265031,rx:5.5,ry:5.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.5,survived:!0},role:"node"},{kind:"ellipse",cx:977,cy:327.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9.2,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:340.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:9,survived:!1},role:"node"},{kind:"ellipse",cx:977,cy:353.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.8,survived:!1},role:"node"},{kind:"ellipse",cx:988.5,cy:298.9825665265031,rx:6,ry:6,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.5,survived:!0},role:"node"},{kind:"ellipse",cx:1000.5,cy:298.9825665265031,rx:6,ry:6,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.3,survived:!1},role:"node"},{kind:"ellipse",cx:1012,cy:298.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:8.1,survived:!1},role:"node"},{kind:"ellipse",cx:1023,cy:298.9825665265031,rx:5.5,ry:5.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.9,survived:!0},role:"node"},{kind:"ellipse",cx:1034,cy:298.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.7,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:310.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.5,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:321.9825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.3,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:333.4825665265031,rx:5.5,ry:5.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7.2,survived:!0},role:"node"},{kind:"ellipse",cx:988,cy:343.9825665265031,rx:5,ry:5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:7,survived:!1},role:"node"},{kind:"ellipse",cx:988,cy:354.4825665265031,rx:5.5,ry:5.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.8,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:310.4825665265031,rx:5,ry:5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.6,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.5,survived:!0},role:"node"},{kind:"ellipse",cx:1017,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.3,survived:!1},role:"node"},{kind:"ellipse",cx:1026,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6.2,survived:!1},role:"node"},{kind:"ellipse",cx:1035,cy:310.4825665265031,rx:4.5,ry:4.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:6,survived:!0},role:"node"},{kind:"ellipse",cx:998.5,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.9,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:329.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.7,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:338.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.6,survived:!1},role:"node"},{kind:"ellipse",cx:998.5,cy:346.9825665265031,rx:4,ry:4,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.5,survived:!0},role:"node"},{kind:"ellipse",cx:998.5,cy:355.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.4,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.2,survived:!1},role:"node"},{kind:"ellipse",cx:1017,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5.1,survived:!1},role:"node"},{kind:"ellipse",cx:1026,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:5,survived:!0},role:"node"},{kind:"ellipse",cx:1035,cy:320.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.9,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:329.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.8,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:338.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.7,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:346.9825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.7,survived:!1},role:"node"},{kind:"ellipse",cx:1008,cy:355.4825665265031,rx:4.5,ry:4.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.6,survived:!1},role:"node"},{kind:"ellipse",cx:1017,cy:328.9825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.5,survived:!1},role:"node"},{kind:"ellipse",cx:1026,cy:328.9825665265031,rx:4,ry:4,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.4,survived:!0},role:"node"},{kind:"ellipse",cx:1035,cy:328.9825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.4,survived:!1},role:"node"},{kind:"ellipse",cx:1016.5,cy:337.4825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.3,survived:!1},role:"node"},{kind:"ellipse",cx:1016.5,cy:346.4825665265031,rx:4,ry:4,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.3,survived:!1},role:"node"},{kind:"ellipse",cx:1016.5,cy:355.4825665265031,rx:4,ry:4,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.2,survived:!0},role:"node"},{kind:"ellipse",cx:1025,cy:336.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.2,survived:!1},role:"node"},{kind:"ellipse",cx:1034.5,cy:336.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.1,survived:!1},role:"node"},{kind:"ellipse",cx:1025,cy:343.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.1,survived:!1},role:"node"},{kind:"ellipse",cx:1034.5,cy:343.4825665265031,rx:3.5,ry:3.5,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4.1,survived:!0},role:"node"},{kind:"ellipse",cx:1025,cy:349.9825665265031,rx:3,ry:3,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!1},role:"node"},{kind:"ellipse",cx:1025,cy:356.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!1},role:"node"},{kind:"ellipse",cx:1034.5,cy:349.9825665265031,rx:3,ry:3,style:{fill:"#2b8cbe",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!0},role:"node"},{kind:"ellipse",cx:1034.5,cy:356.4825665265031,rx:3.5,ry:3.5,style:{fill:"#ff8408",stroke:"#ccc",strokeWidth:1},datum:{pclass:3,fare:4,survived:!1},role:"node"},{kind:"rect",x:1059.5,y:42.889076455603,w:10,h:10,rx:0,ry:0,style:{fill:"#2b8cbe",stroke:"#2b8cbe",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:1074.5,y:50.889076455603,text:"true",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:1059.5,y:60.889076455603,w:10,h:10,rx:0,ry:0,style:{fill:"#ff8408",stroke:"#ff8408",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:1074.5,y:68.889076455603,text:"false",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}}]},Y={irVersion:0,ir:"gofish-display-list",viewport:{w:928,h:440},items:[{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:40,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Planning",amount:64}],role:"node"}],dest:[{kind:"rect",x:0,y:129.60000000000002,w:160,h:230.4,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Planning",amount:64}],role:"node"}]},{kind:"text",x:40,y:397.4,text:"Planning",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Planning",amount:64}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:224,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Design",amount:82}],role:"node"}],dest:[{kind:"rect",x:0,y:64.80000000000001,w:160,h:295.2,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Design",amount:82}],role:"node"}]},{kind:"text",x:224,y:397.4,text:"Design",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Design",amount:82}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:408,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Build",amount:46}],role:"node"}],dest:[{kind:"rect",x:0,y:194.40000000000003,w:160,h:165.6,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Build",amount:46}],role:"node"}]},{kind:"text",x:408,y:397.4,text:"Build",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Build",amount:46}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:592,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Review",amount:71}],role:"node"}],dest:[{kind:"rect",x:0,y:104.40000000000003,w:160,h:255.6,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Review",amount:71}],role:"node"}]},{kind:"text",x:592,y:397.4,text:"Review",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Review",amount:71}],style:{fill:"black",strokeWidth:0}},{kind:"composite",operator:"atop",blendMode:"color",bbox:{x:776,y:37.39999999999998,w:144,h:360},source:[{kind:"image",x:0,y:0,w:144,h:360,href:"data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2040%20100%22%3E%3Cpath%20d%3D%22M15%204%20h10%20v14%20q8%206%208%2018%20v52%20q0%208%20-8%208%20h-10%20q-8%200%20-8%20-8%20v-52%20q0%20-12%208%20-18%20z%22%20fill%3D%22%23cfd8dd%22%20stroke%3D%22%236b7e88%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E",preserveAspectRatio:"xMidYMid meet",datum:[{stage:"Ship",amount:55}],role:"node"}],dest:[{kind:"rect",x:0,y:162.00000000000003,w:160,h:198,rx:0,ry:0,style:{fill:"#3aa757",stroke:"#3aa757",strokeWidth:0,opacity:1},datum:[{stage:"Ship",amount:55}],role:"node"}]},{kind:"text",x:776,y:397.4,text:"Ship",fontSize:13,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",datum:[{stage:"Ship",amount:55}],style:{fill:"black",strokeWidth:0}}]},J={irVersion:0,ir:"gofish-display-list",viewport:{w:1080,h:540},items:[{kind:"rect",x:40,y:260,w:180,h:240,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:50.80000000000001,y:495.6,text:"Global Frame",fontSize:22,fontFamily:"Andale Mono, monospace",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"text",x:40,y:450.5,text:"c",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:59.2,y:425.8,w:36,h:36,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:59.2,y:461.8,text:"",fontSize:1,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:40,y:402.3,text:"d",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:59.2,y:377.6,w:36,h:36,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:59.2,y:413.6,text:"",fontSize:1,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:40,y:352,text:"x",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:59.2,y:325.2,w:36,h:36,rx:0,ry:0,style:{fill:"#e2ebf6",stroke:"#e2ebf6",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:59.2,y:361.2,text:"5",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"text",x:300,y:497.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:300,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:300,y:475.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:318.8,y:456.6,text:"12",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:364,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:364,y:475.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:396,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"rect",x:428,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:428,y:475.4,text:"2",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:453.4,y:456.6,text:"1",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:492,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:492,y:475.4,text:"3",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:517.4,y:456.6,text:"0",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:556,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:556,y:475.4,text:"4",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:588,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"rect",x:620,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:620,y:475.4,text:"5",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:652,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:744,y:497.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:744,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:744,y:475.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:769.4,y:456.6,text:"3",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:808,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:808,y:475.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:826.8,y:456.6,text:"10",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:872,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:872,y:475.4,text:"2",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:897.4,y:456.6,text:"7",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:936,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:936,y:475.4,text:"3",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:961.4,y:456.6,text:"8",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:1e3,y:422,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:1e3,y:475.4,text:"4",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:1032,y:456.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:300,y:379.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:300,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:300,y:357.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:325.4,y:338.6,text:"1",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:364,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:364,y:357.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:389.4,y:338.6,text:"4",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"text",x:488,y:379.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:488,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:488,y:357.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:513.4,y:338.6,text:"2",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"rect",x:552,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:552,y:357.4,text:"1",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:584,y:338.6,text:"",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"none",strokeWidth:0}},{kind:"text",x:676,y:379.2,text:"tuple",fontSize:14,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"grey",strokeWidth:0}},{kind:"rect",x:676,y:304,w:64,h:56,rx:0,ry:0,style:{fill:"#ffffc6",stroke:"gray",strokeWidth:1,opacity:1},role:"node"},{kind:"text",x:676,y:357.4,text:"0",fontSize:13,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"text",x:701.4,y:338.6,text:"3",fontSize:22,fontFamily:"verdana, arial, helvetica, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"black",strokeWidth:0}},{kind:"ellipse",cx:95.2,cy:442.256623535435,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M95.2,442.256623535435 Q188.49277766649115,350.74940120192616 280,444.0421788684173",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M275.7165664491033,448.2436306431081 L288.4029035493816,452.6090459702107 L284.2834335508967,439.84072709372646 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:95.2,cy:395.1152555448267,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M95.2,395.1152555448267 Q210.4866869761144,464.6285685687123 280,349.34188159259793",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M285.1382344395092,352.44003375875144 L286.196304332307,339.0654127135796 L274.8617655604908,346.2437294264444 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:392.17861250585145,cy:422,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M392.17861250585145,422 Q415.3476277290524,387.2641493166031 380.6117770456555,364.09513409340207",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M383.9411501976934,359.1036138425677 L370.6287365439868,357.4363877893263 L377.28240389361764,369.0866543442364 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:620,cy:450,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M620,450 Q672,450 724,450",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M724,456 L736,450 L724,444 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:620,cy:440.329588579088,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M620,440.329588579088 Q549.381026799069,450.618973200931 539.091642177226,380",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M545.0289506548122,379.13491732072356 L537.3614768186732,368.1253830448278 L533.1543336996399,380.86508267927644 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:1e3,cy:447.7757417334632,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M1000,447.7757417334632 Q839.4630921779626,509.040852965706 760.5097174269315,356.4240870361933",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M765.8388285137876,353.66717299619364 L754.9958893469321,345.7658648624812 L755.1806063400754,359.18100107619307 Z",role:"overlay",style:{fill:"#1A5683"}},{kind:"ellipse",cx:616,cy:332,rx:4,ry:4,role:"overlay",style:{fill:"#1A5683"}},{kind:"path",d:"M616,332 Q636,332 656,332",role:"overlay",style:{fill:"none",stroke:"#1A5683",strokeWidth:3}},{kind:"path",d:"M656,338 L668,332 L656,326 Z",role:"overlay",style:{fill:"#1A5683"}}]},K=[{key:"flower",label:"Flower meadow",source:"https://gofish.graphics/js/examples/flower-chart.html",blurb:"GoFish's real flower chart, verbatim: a meadow where each lake is a green stem (a bar whose height is the lake's total catch) topped by a polar fan of petals, one per species, sized by count. It is layer([stems, flowers]) — the flowers selectAll the stems and stack a polar petal fan on each. The composition's root is a combinator (no ChartBuilder.toDisplayList), so it is baked through GoFish's mark-resolution contract; see gofish-displaylist-findings.md.",doc:U},{key:"polarribbon",label:"Polar ribbon chart",source:"https://gofish.graphics/js/examples/polar-ribbon-chart.html",blurb:"GoFish's polar ribbon chart, verbatim: the catch stacked radially per lake under a clock() projection, then a smooth area ribbon drawn across the lakes for each species (selectAll the bars, group by species). The wrap, the open gap, and the bumped ribbons are all baked into absolute-pixel paths; the radial bars keep their datum (hit targets), the ribbons are area chrome. Root is a layer({ coord: clock() }) combinator, baked through GoFish's mark-resolution contract — see gofish-displaylist-findings.md.",doc:{irVersion:0,ir:"gofish-display-list",viewport:{w:756.7000339982667,h:648},items:[{kind:"path",d:"M337.2610735347595,258.07748685525206 L342.25899046182735,258.07748685525206 C342.35627349970906,256.1334477518769 342.4535565709103,254.18940798266829 342.5508396254517,252.24536854637637 C342.6481226799932,250.30132911008445 342.74540575119437,248.35728934087587 342.84268878907613,246.41325023750068 L336.6773752075107,246.41325023750068 C336.77465824539246,248.35728934087587 336.8719413165936,250.30132911008445 336.9692243711351,252.24536854637637 C337.06650742567655,254.18940798266829 337.16379049687777,256.1334477518769 337.2610735347595,258.07748685525206",datum:[{lake:"A",species:"Salmon",count:8}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M336.6773752075107,246.41325023750068 L342.84268878907613,246.41325023750068 C342.9886133542286,243.4971914159795 343.13453795270055,240.58113192862493 343.2804625345127,237.66507277418708 C343.4263871163249,234.74901361974923 343.57231171479685,231.83295413239466 343.71823627994934,228.91689531087349 L335.8018277166375,228.91689531087349 C335.94775228179,231.83295413239466 336.0936768802619,234.74901361974923 336.2396014620741,237.66507277418708 C336.38552604388633,240.58113192862493 336.5314506423582,243.4971914159795 336.6773752075107,246.41325023750068",datum:[{lake:"A",species:"Perch",count:12}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M335.8018277166375,228.91689531087349 L343.71823627994934,228.91689531087349 C343.858080654193,226.1223389541206 343.99792506175606,223.32778193153428 344.1377694526594,220.53322524186467 C344.2776138435628,217.73866855219507 344.41745823446615,214.94411186252546 344.55730262536946,212.1495551728558 C344.6971470162728,209.3549984831862 344.8369914071762,206.5604417935166 344.97683579807955,203.76588510384698 C345.1166801889829,200.97132841417738 345.256524596546,198.17677139159105 345.39636897078964,195.38221503483817 L334.1236950257972,195.38221503483817 C334.2635394000408,198.17677139159105 334.4033838076039,200.97132841417738 334.5432281985073,203.76588510384698 C334.68307258941064,206.5604417935166 334.822916980314,209.3549984831862 334.96276137121737,212.1495551728558 C335.10260576212073,214.94411186252546 335.2424501530241,217.73866855219507 335.38229454392746,220.53322524186467 C335.52213893483076,223.32778193153428 335.66198334239385,226.1223389541206 335.8018277166375,228.91689531087349",datum:[{lake:"A",species:"Bass",count:23}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M334.1236950257972,195.38221503483817 L345.39636897078964,195.38221503483817 C345.48453172230813,193.62042962861528 345.572694507146,191.85864355655906 345.66085727532425,190.0968578174195 C345.74902004350247,188.33507207827995 345.83718281168063,186.57328633914045 345.92534557985886,184.8115006000009 C346.0135083480371,183.04971486086134 346.10167111621524,181.28792912172185 346.18983388439347,179.5261433825823 C346.2779966525717,177.76435764344274 346.36615942074985,176.00257190430318 346.4543221889281,174.24078616516363 C346.5424849571063,172.47900042602413 346.63064772528446,170.71721468688457 346.7188104934627,168.95542894774508 C346.8069732616409,167.19364320860552 346.8951360298191,165.43185746946597 346.9832987979973,163.6700717303264 C347.0714615661755,161.90828599118686 347.15962433435374,160.14650025204736 347.2477871025319,158.3847145129078 C347.3359498707101,156.6229287737683 347.4241126555481,154.86114270171208 347.5122754070665,153.0993572954892 L332.0077885895203,153.0993572954892 C332.0959513410388,154.86114270171208 332.1841141258767,156.6229287737683 332.2722768940549,158.3847145129078 C332.36043966223315,160.14650025204736 332.4486024304113,161.90828599118686 332.53676519858953,163.6700717303264 C332.62492796676776,165.43185746946597 332.7130907349459,167.19364320860552 332.80125350312414,168.95542894774508 C332.88941627130237,170.71721468688457 332.9775790394806,172.47900042602413 333.06574180765875,174.24078616516363 C333.153904575837,176.00257190430318 333.2420673440152,177.76435764344274 333.33023011219336,179.5261433825823 C333.4183928803716,181.28792912172185 333.5065556485498,183.04971486086134 333.59471841672797,184.8115006000009 C333.6828811849062,186.57328633914045 333.7710439530844,188.33507207827995 333.8592067212626,190.0968578174195 C333.9473694894408,191.85864355655906 334.03553227427875,193.62042962861528 334.1236950257972,195.38221503483817",datum:[{lake:"A",species:"Catfish",count:29}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M332.0077885895203,153.0993572954892 L347.5122754070665,153.0993572954892 C347.60651834949385,151.21606942449813 347.7007613252406,149.3327808876736 347.79500428432766,147.44949268376587 C347.88924724341473,145.56620447985807 347.98349020250174,143.68291627595033 348.0777331615888,141.79962807204254 C348.1719761206758,139.91633986813474 348.2662190797629,138.03305166422695 348.36046203884996,136.14976346031915 C348.454704997937,134.26647525641135 348.54894795702404,132.38318705250356 348.64319091611105,130.49989884859582 C348.7374338751981,128.61661064468802 348.8316768342852,126.73332244078028 348.9259197933722,124.85003423687249 C349.02016275245927,122.96674603296469 349.1144057115463,121.0834578290569 349.20864867063335,119.2001696251491 C349.3028916297204,117.3168814212413 349.39713458880743,115.43359321733351 349.4913775478945,113.55030501342577 C349.5856205069815,111.66701680951797 349.6798634827283,109.78372827269351 349.77410642515565,107.90044040170244 L329.74595757143123,107.90044040170244 C329.8402005138586,109.78372827269351 329.9344434896053,111.66701680951797 330.0286864486924,113.55030501342577 C330.1229294077794,115.43359321733351 330.21717236686646,117.3168814212413 330.3114153259535,119.2001696251491 C330.40565828504054,121.0834578290569 330.4999012441276,122.96674603296469 330.5941442032146,124.85003423687249 C330.6883871623017,126.73332244078028 330.7826301213887,128.61661064468802 330.8768730804758,130.49989884859582 C330.97111603956284,132.38318705250356 331.06535899864986,134.26647525641135 331.1596019577369,136.14976346031915 C331.25384491682394,138.03305166422695 331.348087875911,139.91633986813474 331.4423308349981,141.79962807204254 C331.5365737940851,143.68291627595033 331.63081675317216,145.56620447985807 331.72505971225917,147.44949268376587 C331.81930267134624,149.3327808876736 331.913545647093,151.21606942449813 332.0077885895203,153.0993572954892",datum:[{lake:"A",species:"Trout",count:31}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M381.75770764344463,280.8820818527037 L384.25666610697857,285.21040487754874 C385.9888948753927,284.32263490802404 387.7211242370952,283.43486463443816 389.45335330215346,282.54709451288284 C391.1855823672118,281.6593243913276 392.91781143227007,280.77155426977225 394.6500404973284,279.883784148217 C396.3822695623867,278.99601402666167 398.11449862744496,278.1082439051064 399.8467276925033,277.2204737835511 C401.57895675756157,276.33270366199577 403.31118611926405,275.4449333884099 405.0434148876782,274.5571634188852 L401.3770597696467,268.2068500758644 C399.7421140391143,269.26311920971494 398.107167748613,270.31938870533764 396.47222173809615,271.37565802007424 C394.83727572757937,272.4319273348109 393.2023297170625,273.4881966495475 391.5673837065457,274.5444659642841 C389.93243769602884,275.6007352790207 388.297491685512,276.6570045937573 386.66254567499516,277.71327390849393 C385.0275996644783,278.7695432232305 383.39265337397705,279.82581271885323 381.75770764344463,280.8820818527037",datum:[{lake:"B",species:"Salmon",count:16}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M401.3770597696467,268.2068500758644 L405.0434148876782,274.5571634188852 C407.31696523892305,273.3919652863745 409.5905161834562,272.2267668498025 411.86406683134527,271.0615685652612 C414.1376174792343,269.8963702807199 416.41116812712335,268.73117199617855 418.68471877501236,267.56597371163724 C420.95826942290137,266.40077542709594 423.2318200707904,265.2355771425546 425.5053707186794,264.07037885801327 C427.7789213665684,262.90518057347197 430.0524723111016,261.7399821369 432.3260226623465,260.5747840043893 L427.1274594352868,251.5706083687628 C424.98159307646796,252.95696166346852 422.83572615768014,254.34331531994644 420.6898595188768,255.7296687955382 C418.54399288007346,257.11602227113 416.3981262412701,258.50237574672184 414.2522596024668,259.8887292223136 C412.10639296366344,261.2750826979054 409.9605263248601,262.66143617349724 407.81465968605676,264.04778964908905 C405.6687930472534,265.4341431246808 403.52292612846554,266.82049678115874 401.3770597696467,268.2068500758644",datum:[{lake:"B",species:"Perch",count:21}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M427.1274594352868,251.5706083687628 L432.3260226623465,260.5747840043893 C435.0326302798559,259.1876433414898 437.73923849065363,257.800502374529 440.44584640480724,256.41336155959885 C443.15245431896085,255.0262207446687 445.85906223311446,253.63907992973856 448.56567014726807,252.2519391148084 C451.2722780614217,250.86479829987826 453.9788859755753,249.47765748494805 456.68549388972883,248.0905166700179 C459.39210180388244,246.70337585508776 462.09871001468025,245.31623488812704 464.80531763218966,243.92909422522746 L457.78269713247755,231.76555871745137 C455.2280942710295,233.4159793408412 452.67349084961245,235.0664003260033 450.11888770817984,236.71682113027924 C447.56428456674735,238.36724193455518 445.00968142531474,240.01766273883118 442.4550782838822,241.66808354310712 C439.90047514244964,243.31850434738305 437.3458720010171,244.968925151659 434.79126885958453,246.619345955935 C432.236665718152,248.26976676021093 429.68206229673495,249.92018774537297 427.1274594352868,251.5706083687628",datum:[{lake:"B",species:"Bass",count:25}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M457.78269713247755,231.76555871745137 L464.80531763218966,243.92909422522746 C466.6458107171699,242.98583862310556 468.48630439543854,242.04258271692248 470.326797777063,241.09932696276996 C472.1672911586875,240.1560712086175 474.0077845403119,239.212815454465 475.8482779219363,238.26955970031247 C477.68877130356077,237.32630394615995 479.52926468518524,236.3830481920075 481.36975806680965,235.43979243785498 C483.2102514484341,234.49653668370246 485.05074483005853,233.55328092954994 486.891238211683,232.61002517539748 C488.7317315933075,231.66676942124496 490.57222497493194,230.72351366709245 492.4127183565564,229.78025791293993 C494.2532117381808,228.8370021587874 496.09370511980524,227.89374640463495 497.9341985014297,226.95049065048244 C499.7746918830542,226.00723489632992 501.6151852646786,225.06397914217746 503.455678646303,224.12072338802494 C505.29617202792747,223.17746763387242 507.13666570619614,222.23421172768934 508.9771587911764,221.29095612556745 L499.4738204006569,204.83069119166782 C497.7366905444672,205.95297715768942 495.9995601283086,207.0752634854831 494.26242999213446,208.1975496323908 C492.5252998559603,209.31983577929844 490.7881697197862,210.44212192620608 489.051039583612,211.56440807311373 C487.31390944743794,212.68669422002137 485.57677931126375,213.808980366929 483.8396491750897,214.93126651383665 C482.1025190389155,216.05355266074434 480.36538890274136,217.17583880765199 478.6282587665672,218.29812495455963 C476.89112863039304,219.42041110146727 475.15399849421897,220.5426972483749 473.4168683580448,221.66498339528255 C471.67973822187065,222.7872695421902 469.9426080856965,223.90955568909783 468.2054779495224,225.03184183600547 C466.46834781334826,226.1541279829131 464.73121767717413,227.2764141298208 462.994087541,228.39870027672845 C461.2569574048258,229.5209864236361 459.5198269886672,230.64327275142983 457.78269713247755,231.76555871745137",datum:[{lake:"B",species:"Trout",count:34}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M499.4738204006569,204.83069119166782 L508.9771587911764,221.29095612556745 C511.1965769841381,220.1535008093553 513.4159957703882,219.01604518908198 515.6354142599943,217.87858972083927 C517.8548327496002,216.74113425259657 520.0742512392062,215.6036787843538 522.2936697288121,214.4662233161111 C524.513088218418,213.3287678478684 526.732506708024,212.19131237962563 528.95192519763,211.05385691138292 C531.1713436872359,209.91640144314022 533.3907621768419,208.7789459748975 535.6101806664478,207.64149050665475 C537.8295991560537,206.50403503841204 540.0490176456597,205.36657957016934 542.2684361352657,204.22912410192657 C544.4878546248716,203.09166863368387 546.7072731144775,201.95421316544116 548.9266916040835,200.81675769719845 C551.1461100936895,199.67930222895575 553.3655285832954,198.54184676071299 555.5849470729013,197.40439129247028 C557.8043655625073,196.26693582422752 560.0237843487574,195.12948020395424 562.2432025417193,193.9920248877421 L549.7484102240496,172.35040976351706 C547.6536359280594,173.70375464213726 545.5588610721002,175.05709988252966 543.4640864961256,176.41044494203595 C541.3693119201508,177.76379000154225 539.2745373441761,179.1171350610485 537.1797627682014,180.47048012055478 C535.0849881922268,181.82382518006108 532.990213616252,183.17717023956732 530.8954390402773,184.5305152990736 C528.8006644643026,185.8838603585799 526.705889888328,187.2372054180862 524.6111153123533,188.59055047759244 C522.5163407363785,189.94389553709874 520.4215661604038,191.29724059660504 518.3267915844292,192.65058565611128 C516.2320170084545,194.00393071561757 514.1372424324798,195.35727577512387 512.042467856505,196.71062083463016 C509.9476932805304,198.06396589413646 507.8529187045557,199.4173109536427 505.75814412858097,200.770656013149 C503.6633695526063,202.12400107265523 501.5685946966471,203.47734631304763 499.4738204006569,204.83069119166782",datum:[{lake:"B",species:"Catfish",count:41}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M384.25666610697857,330.81959487245206 L381.75770764344463,335.1479178972971 C383.2904692483197,336.1381701989765 384.82323141316374,337.1284228624282 386.35599329802324,338.1186753449938 C387.8887551828828,339.10892782755934 389.42151706774234,340.0991803101249 390.95427895260184,341.0894327926905 C392.4870408374614,342.07968527525605 394.01980272232095,343.0699377578216 395.55256460718044,344.0601902403872 C397.08532649204,345.05044272295277 398.61808865688397,346.0406953864044 400.15085026175905,347.0309476880839 L403.74424308888445,340.80700873994914 C402.1202786370365,339.97472440302164 400.49631359190016,339.14243976203295 398.872348843408,338.3101552730749 C397.2483840949158,337.47787078411676 395.6244193464237,336.6455862951587 394.00045459793154,335.81330180620057 C392.37648984943934,334.9810173172425 390.7525251009472,334.14873282828444 389.12856035245505,333.3164483393263 C387.5045956039629,332.48416385036825 385.88063055882657,331.65187920937956 384.25666610697857,330.81959487245206",datum:[{lake:"C",species:"Bass",count:15}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M403.74424308888445,340.80700873994914 L400.15085026175905,347.0309476880839 C402.3989007462352,348.4833178149606 404.64695179068036,349.9356883036096 406.895002555141,351.3880586113724 C409.1430533196017,352.84042891913526 411.3911040840623,354.29279922689807 413.63915484852294,355.74516953466093 C415.8872056129836,357.1975398424238 418.13525637744425,358.64991015018666 420.3833071419049,360.10228045794946 C422.63135790636557,361.55465076571227 424.87940895081067,363.00702125436123 427.1274594352868,364.459391381238 L432.3260226623465,355.4552157456115 C429.9442079945355,354.23453198050356 427.5623927334361,353.01384791133444 425.180577768981,351.79316399419594 C422.7987628045258,350.5724800770574 420.41694784007063,349.3517961599189 418.03513287561543,348.1311122427803 C415.6533179111603,346.91042832564176 413.27150294670514,345.68974440850326 410.88968798224994,344.4690604913647 C408.5078730177948,343.2483765742262 406.12605775669545,342.0276925050571 403.74424308888445,340.80700873994914",datum:[{lake:"C",species:"Perch",count:22}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M432.3260226623465,355.4552157456115 L427.1274594352868,364.459391381238 C429.68206229673495,366.1098120046278 432.236665718152,367.76023298978987 434.79126885958453,369.41065379406587 C437.3458720010171,371.06107459834175 439.90047514244964,372.71149540261774 442.4550782838822,374.3619162068937 C445.00968142531474,376.0123370111696 447.56428456674735,377.6627578154456 450.11888770817984,379.31317861972155 C452.67349084961245,380.9635994239975 455.2280942710295,382.6140204091596 457.78269713247755,384.2644410325494 L464.80531763218966,372.10090552477334 C462.09871001468025,370.71376486187376 459.39210180388244,369.32662389491304 456.68549388972883,367.9394830799829 C453.9788859755753,366.55234226505274 451.2722780614217,365.1652014501226 448.56567014726807,363.77806063519245 C445.85906223311446,362.3909198202623 443.15245431896085,361.0037790053321 440.44584640480724,359.61663819040194 C437.73923849065363,358.2294973754718 435.0326302798559,356.842356408511 432.3260226623465,355.4552157456115",datum:[{lake:"C",species:"Trout",count:25}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M464.80531763218966,372.10090552477334 L457.78269713247755,384.2644410325494 C459.36655080018124,385.2877017503144 460.9504050278539,386.3109628298516 462.5342589755421,387.3342237285027 C464.1181129232303,388.3574846271538 465.70196687091845,389.38074552580485 467.2858208186067,390.40400642445593 C468.86967476629485,391.42726732310706 470.453528713983,392.45052822175813 472.03738266167124,393.47378912040926 C473.62123660935936,394.49705001906034 475.2050905570476,395.5203109177114 476.78894450473575,396.5435718163625 C478.3727984524239,397.56683271501356 479.95665240011215,398.5900936136647 481.5405063478003,399.61335451231577 C483.1243602954885,400.63661541096684 484.7082142431767,401.65987630961797 486.2920681908649,402.68313720826905 C487.87592213855305,403.7063981069201 489.4597760862413,404.7296590055712 491.0436300339294,405.7529199042223 C492.6274839816176,406.7761808028734 494.21133820929026,407.7994418824106 495.795191876994,408.8227026001756 L505.0796433947952,392.7415608509339 C503.4015467846641,391.8815336977078 501.7234495812447,391.02150624042054 500.0453526744695,390.16147893516387 C498.36725576769425,389.30145162990715 496.68915886091906,388.4414243246505 495.0110619541438,387.58139701939376 C493.3329650473686,386.7213697141371 491.65486814059335,385.8613424088804 489.9767712338181,385.0013151036237 C488.2986743270429,384.141287798367 486.62057742026764,383.2812604931103 484.9424805134924,382.4212331878536 C483.26438360671716,381.56120588259694 481.586286699942,380.7011785773402 479.90818979316674,379.84115127208355 C478.2300928863915,378.9811239668269 476.55199597961627,378.12109666157016 474.873899072841,377.26106935631344 C473.1958021660658,376.4010420510568 471.51770525929055,375.54101474580006 469.83960835251537,374.6809874405434 C468.1615114457401,373.82096013528667 466.4834142423207,372.9609326779994 464.80531763218966,372.10090552477334",datum:[{lake:"C",species:"Catfish",count:31}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M505.0796433947952,392.7415608509339 L495.795191876994,408.8227026001756 C497.37904554469776,409.8459633179406 498.9628997723704,410.86922439747775 500.5467537200586,411.8924852961289 C502.13060766774674,412.91574619477996 503.71446161543497,413.93900709343103 505.2983155631231,414.96226799208216 C506.8821695108113,415.98552889073324 508.4660234584995,417.0087897893843 510.04987740618765,418.0320506880354 C511.6337313538759,419.0553115866865 513.217585301564,420.0785724853376 514.8014392492522,421.1018333839887 C516.3852931969404,422.1250942826398 517.9691471446286,423.14835518129087 519.5530010923168,424.17161607994194 C521.136855040005,425.194876978593 522.7207089876931,426.21813787724415 524.3045629353813,427.2413987758952 C525.8884168830696,428.2646596745463 527.4722708307577,429.2879205731974 529.0561247784459,430.3111814718485 C530.6399787261341,431.3344423704996 532.2238329538068,432.35770345003675 533.8076866215105,433.3809641678018 L545.3539691574008,413.38221617709456 C543.6758725472697,412.52218902386846 541.9977753438503,411.6621615665812 540.319678437075,410.8021342613245 C538.6415815302998,409.9421069560678 536.9634846235247,409.0820796508111 535.2853877167494,408.2220523455544 C533.6072908099741,407.36202504029774 531.9291939031989,406.501997735041 530.2510969964237,405.64197042978435 C528.5730000896484,404.78194312452763 526.8949031828732,403.92191581927096 525.2168062760979,403.06188851401424 C523.5387093693228,402.2018612087576 521.8606124625476,401.34183390350086 520.1825155557723,400.4818065982442 C518.504418648997,399.62177929298747 516.8263217422218,398.7617519877308 515.1482248354466,397.9017246824741 C513.4701279286713,397.0416973772174 511.79203102189615,396.1816700719607 510.1139341151209,395.32164276670403 C508.4358372083457,394.4616154614473 506.7577400049263,393.60158800416 505.0796433947952,392.7415608509339",datum:[{lake:"C",species:"Salmon",count:31}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M342.25899046182735,357.9525128947487 L337.2610735347595,357.9525128947487 C337.115148969607,360.86857171626986 336.9692243711351,363.78463120362443 336.8232997893229,366.7006903580623 C336.6773752075107,369.6167495125002 336.53145060903876,372.53280899985475 336.3855260438863,375.44886782137587 L343.1345379527005,375.44886782137587 C342.988613387548,372.53280899985475 342.84268878907613,369.6167495125002 342.6967642072639,366.7006903580623 C342.5508396254517,363.78463120362443 342.4049150269798,360.86857171626986 342.25899046182735,357.9525128947487",datum:[{lake:"D",species:"Bass",count:12}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M343.1345379527005,375.44886782137587 L336.3855260438863,375.44886782137587 C336.2821628150957,377.5144093895193 336.17879955298565,379.5799516234962 336.07543630753537,381.6454935245563 C335.97207306208503,383.7110354256165 335.86870981663475,385.7765773266766 335.7653465711844,387.84211922773676 C335.6619833257341,389.9076611287969 335.55862008028384,391.9732030298571 335.4552568348335,394.03874493091723 C335.3518935893832,396.10428683197733 335.24853032727316,398.1698290659542 335.1451670984826,400.23537063409765 L344.3748968981042,400.23537063409765 C344.2715336693136,398.1698290659542 344.1681704072036,396.10428683197733 344.06480716175327,394.03874493091723 C343.961443916303,391.9732030298571 343.8580806708527,389.9076611287969 343.75471742540236,387.84211922773676 C343.6513541799521,385.7765773266766 343.54799093450174,383.7110354256165 343.44462768905146,381.6454935245563 C343.3412644436011,379.5799516234962 343.2379011814911,377.5144093895193 343.1345379527005,375.44886782137587",datum:[{lake:"D",species:"Trout",count:17}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M344.3748968981042,400.23537063409765 L335.1451670984826,400.23537063409765 C335.00532272423897,403.0299269908505 334.8654783166759,405.82448401343686 334.7256339257725,408.6190407031065 C334.58578953486915,411.4135973927761 334.4459451439658,414.20815408244573 334.3061007530624,417.00271077211534 C334.16625636215906,419.79726746178494 334.0264119712557,422.59182415145455 333.88656758035233,425.38638084112415 C333.746723189449,428.1809375307938 333.60687878188594,430.97549455338014 333.4670344076423,433.770050910133 L346.0530295889445,433.770050910133 C345.9131852147009,430.97549455338014 345.7733408071378,428.1809375307938 345.63349641623444,425.38638084112415 C345.4936520253311,422.59182415145455 345.3538076344277,419.79726746178494 345.21396324352435,417.00271077211534 C345.074118852621,414.20815408244573 344.9342744617176,411.4135973927761 344.79443007081426,408.6190407031065 C344.65458567991095,405.82448401343686 344.51474127234786,403.0299269908505 344.3748968981042,400.23537063409765",datum:[{lake:"D",species:"Catfish",count:23}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M346.0530295889445,433.770050910133 L333.4670344076423,433.770050910133 C333.32719003339867,436.5646072668859 333.1873456258356,439.35916428947223 333.0475012349322,442.15372097914184 C332.90765684402885,444.94827766881144 332.7678124531255,447.7428343584811 332.6279680622221,450.5373910481507 C332.48812367131876,453.3319477378203 332.3482792804154,456.12650442749 332.20843488951203,458.9210611171595 C332.0685904986087,461.7156178068292 331.92874609104564,464.5101748294155 331.788901716802,467.3047311861684 L347.73116227978477,467.3047311861684 C347.59131790554113,464.5101748294155 347.4514734979781,461.7156178068292 347.31162910707474,458.9210611171595 C347.1717847161714,456.12650442749 347.031940325268,453.3319477378203 346.89209593436465,450.5373910481507 C346.7522515434613,447.7428343584811 346.6124071525579,444.94827766881144 346.47256276165456,442.15372097914184 C346.3327183707512,439.35916428947223 346.19287396318816,436.5646072668859 346.0530295889445,433.770050910133",datum:[{lake:"D",species:"Perch",count:23}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M347.73116227978477,467.3047311861684 L331.788901716802,467.3047311861684 C331.6642578198304,469.79553138100067 331.53961388953945,472.2863322416664 331.4149699759082,474.7771327694154 C331.29032606227696,477.2679332971644 331.1656821486457,479.7587338249134 331.04103823501447,482.2495343526624 C330.9163943213832,484.7403348804114 330.791750407752,487.2311354081604 330.6671064941207,489.7219359359094 C330.5424625804894,492.2127364636584 330.4178186668582,494.7035369914074 330.29317475322694,497.1943375191564 C330.1685308395957,499.6851380469054 330.04388692596444,502.1759385746544 329.9192430123332,504.6667391024034 C329.7945990987019,507.1575396301524 329.66995518507065,509.64834015790143 329.5453112714394,512.1391406856504 C329.42066735780816,514.6299412133994 329.2960234441769,517.1207417411484 329.17137953054566,519.6115422688974 C329.04673561691436,522.1023427966464 328.9220916866234,524.5931436573121 328.79744778965187,527.0839438521444 L350.7226162069349,527.0839438521444 C350.5979723099633,524.5931436573121 350.47332837967235,522.1023427966464 350.3486844660411,519.6115422688974 C350.22404055240986,517.1207417411484 350.0993966387786,514.6299412133994 349.97475272514737,512.1391406856504 C349.8501088115161,509.64834015790143 349.7254648978849,507.1575396301524 349.6008209842536,504.6667391024034 C349.4761770706223,502.1759385746544 349.3515331569911,499.6851380469054 349.22688924335984,497.1943375191564 C349.1022453297286,494.7035369914074 348.97760141609734,492.2127364636584 348.8529575024661,489.7219359359094 C348.7283135888348,487.2311354081604 348.60366967520355,484.7403348804114 348.4790257615723,482.2495343526624 C348.35438184794106,479.7587338249134 348.2297379343098,477.2679332971644 348.10509402067856,474.7771327694154 C347.9804501070473,472.2863322416664 347.85580617675635,469.79553138100067 347.73116227978477,467.3047311861684",datum:[{lake:"D",species:"Salmon",count:41}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M297.7623563531422,335.1479178972971 L295.26339788960826,330.81959487245206 C293.7476977543264,331.59639357678236 292.23199702575624,332.37319258517385 290.71629659383024,333.1499914415347 C289.20059616190423,333.9267902978956 287.684895433334,334.7035893062871 286.16919529805216,335.4803880106174 L289.17888979792883,340.6933317996643 C290.60946727714656,339.76909633015583 292.04004531633325,338.8448604988752 293.4706230755355,337.92062484848066 C294.9012008347377,336.99638919808615 296.3317788739244,336.07215336680554 297.7623563531422,335.1479178972971",datum:[{lake:"E",species:"Bass",count:7}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M289.17888979792883,340.6933317996643 L286.16919529805216,335.4803880106174 C284.2204378965058,336.4791292453365 282.271679901671,337.4778707841168 280.3229222034804,338.47661217086653 C278.37416450528985,339.47535355761624 276.42540651045505,340.4740950963965 274.47664910890865,341.4728363311157 L278.14300422694015,347.8231496741364 C279.9823182087871,346.63484687594377 281.82163275060304,345.44654371597903 283.66094701243446,344.25824073690035 C285.5002612742659,343.06993775782166 287.33957581608183,341.8816345978569 289.17888979792883,340.6933317996643",datum:[{lake:"E",species:"Trout",count:9}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M278.14300422694015,347.8231496741364 L274.47664910890865,341.4728363311157 C271.6617771748331,342.9154626266124 268.84690464746916,344.35808922617036 266.0320324167494,345.8007156736977 C263.2171601860297,347.24334212122506 260.4022876586657,348.6859687207831 257.5874157245902,350.1285950162798 L262.202280624401,358.1217754928183 C264.85906761150636,356.4053380372574 267.51585515858073,354.68890021992434 270.1726424256706,352.97246258347735 C272.8294296927604,351.25602494703037 275.4862172398348,349.5395871296973 278.14300422694015,347.8231496741364",datum:[{lake:"E",species:"Catfish",count:13}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M262.202280624401,358.1217754928183 L257.5874157245902,350.1285950162798 C255.42212968991151,351.2383075161933 253.25684306194444,352.348020320168 251.09155673062156,353.4577329721121 C248.9262703992987,354.5674456240563 246.7609840679758,355.6771582760004 244.59569773665294,356.7868709279445 C242.43041140533006,357.89658357988867 240.26512507400716,359.0062962318327 238.09983874268428,360.1160088837769 C235.9345524113614,361.225721535721 233.76926578339436,362.3354343396957 231.60397974871566,363.44514683960927 L237.67809046664846,373.9658152138675 C239.72177269981003,372.6454787513328 241.76545549294053,371.3251419270259 243.80913800608658,370.0048052836052 C245.85282051923264,368.68446864018443 247.8965030323787,367.36413199676366 249.9401855455247,366.04379535334294 C251.98386805867077,364.72345870992217 254.0275505718168,363.4031220665014 256.07123308496284,362.0827854230806 C258.1149155981089,360.76244877965985 260.1585983912394,359.44211195535297 262.202280624401,358.1217754928183",datum:[{lake:"E",species:"Perch",count:20}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M237.67809046664846,373.9658152138675 L231.60397974871566,363.44514683960927 C229.43869371403696,364.55485933952275 227.27340708606988,365.6645721434975 225.108120754747,366.7742847954416 C222.94283442342413,367.8839974473857 220.77754809210126,368.99371009932986 218.61226176077838,370.10342275127397 C216.4469754294555,371.2131354032181 214.28168909813263,372.32284805516224 212.11640276680976,373.43256070710635 C209.95111643548685,374.54227335905045 207.78583010416398,375.65198601099456 205.6205437728411,376.76169866293867 C203.45525744151823,377.87141131488283 201.28997111019535,378.98112396682694 199.12468477887248,380.09083661877105 C196.9593984475496,381.20054927071516 194.79411211622673,382.31026192265927 192.62882578490385,383.41997457460343 C190.46353945358098,384.52968722654754 188.29825312225807,385.63939987849164 186.1329667909352,386.7491125304358 C183.96768045961232,387.8588251823799 181.80239383164528,388.96853798635465 179.63710779696657,390.07825048626813 L188.62971015114337,405.65389465596576 C190.67339238430495,404.3335581934311 192.71707517743545,403.01322136912427 194.7607576905815,401.6928847257035 C196.80444020372755,400.3725480822827 198.84812271687358,399.05221143886195 200.89180523001963,397.7318747954412 C202.93548774316568,396.41153815202046 204.9791702563117,395.0912015085997 207.02285276945776,393.7708648651789 C209.0665352826038,392.4505282217582 211.11021779574986,391.1301915783374 213.1539003088959,389.80985493491664 C215.19758282204194,388.48951829149587 217.241265335188,387.1691816480751 219.284947848334,385.8488450046543 C221.32863036148007,384.5285083612336 223.37231287462612,383.20817171781283 225.41599538777217,381.88783507439206 C227.45967790091822,380.5674984309713 229.50336041406428,379.24716178755057 231.54704292721033,377.9268251441298 C233.59072544035638,376.606488500709 235.63440823348688,375.28615167640214 237.67809046664846,373.9658152138675",datum:[{lake:"E",species:"Salmon",count:40}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M295.26339788960826,285.21040487754874 L297.7623563531422,280.8820818527037 L292.85751832159167,277.71327390849393 L290.06671069443337,282.54709451288284 L295.26339788960826,285.21040487754874",datum:[{lake:"F",species:"Bass",count:4}],role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1}},{kind:"path",d:"M290.06671069443337,282.54709451288284 L292.85751832159167,277.71327390849393 C291.4269408423739,276.7890384389855 289.9963628031872,275.86480260770486 288.565785043985,274.9405669573103 C287.1352072847827,274.0163313069158 285.70462924559604,273.0920954756352 284.2740517663783,272.1678600061267 L280.97250810287727,277.8863013747175 C282.48820823815913,278.6631000790478 284.0039089667293,279.4398990874393 285.51960939865535,280.21669794380017 C287.03530983058135,280.9934968001611 288.5510105591515,281.77029580855253 290.06671069443337,282.54709451288284",datum:[{lake:"F",species:"Trout",count:7}],role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1}},{kind:"path",d:"M280.97250810287727,277.8863013747175 L284.2740517663783,272.1678600061267 C282.4347377845313,270.97955720793414 280.59542324271536,269.79125404796935 278.75610898088394,268.60295106889066 C276.9167947190525,267.414648089812 275.0774801772366,266.2263449298472 273.2381661953896,265.0380421316546 L269.2799619137337,271.8938530542193 C271.22871931528016,272.89259428893837 273.1774773101149,273.8913358277187 275.1262350083055,274.8900772144684 C277.0749927064961,275.88881860121813 279.02375070133087,276.8875601399984 280.97250810287727,277.8863013747175",datum:[{lake:"F",species:"Catfish",count:9}],role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1}},{kind:"path",d:"M269.2799619137337,271.8938530542193 L273.2381661953896,265.0380421316546 C271.09229983657076,263.6516888369489 268.94643291778294,262.26533518047097 266.8005662789796,260.8789817048792 C264.6546996401762,259.4926282292874 262.50883300137286,258.10627475369563 260.3629663625695,256.7199212781038 C258.2170997237662,255.333567802512 256.07123308496284,253.94721432692018 253.9253664461595,252.5608608513284 C251.77949980735616,251.1745073757366 249.63363288856834,249.78815371925873 247.48776652974945,248.40180042455302 L241.99735413906546,257.91147363972334 C244.2709044903103,259.0766717722341 246.54445543484348,260.241870208806 248.81800608273252,261.40706849334737 C251.09155673062156,262.5722667778887 253.36510737851057,263.73746506243 255.63865802639958,264.90266334697134 C257.91220867428865,266.06786163151264 260.18575932217766,267.233059916054 262.45930997006667,268.3982582005953 C264.7328606179557,269.5634564851366 267.0064115624889,270.7286549217086 269.2799619137337,271.8938530542193",datum:[{lake:"F",species:"Perch",count:21}],role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1}},{kind:"path",d:"M241.99735413906546,257.91147363972334 L247.48776652974945,248.40180042455302 C245.0864398567873,246.8504050494197 242.68511262385624,245.29900931251422 240.28378567090965,243.74761375649484 C237.88245871796303,242.1962182004754 235.4811317650164,240.64482264445604 233.07980481206982,239.0934270884366 C230.67847785912323,237.54203153241724 228.2771509061766,235.9906359763978 225.87582395323,234.43924042037844 C223.4744970002834,232.88784486435907 221.0731700473368,231.33644930833964 218.67184309439017,229.78505375232027 C216.27051614144358,228.23365819630084 213.869189188497,226.68226264028146 211.46786223555037,225.13086708426204 C209.06653528260378,223.57947152824266 206.66520832965716,222.0280759722233 204.26388137671057,220.47668041620386 C201.86255442376395,218.9252848601845 199.46122747081736,217.37388930416512 197.05990051787074,215.8224937481457 C194.65857356492415,214.27109819212632 192.2572463319931,212.71970245522084 189.85591965903095,211.16830708008752 L180.93627959576028,226.6175768548992 C183.48049073842049,227.92148906890293 186.02470247436906,229.22540158696785 188.56891391367344,230.5293139530022 C191.11312535297782,231.8332263190365 193.6573367922822,233.1371386850709 196.20154823158657,234.4410510511052 C198.74575967089095,235.74496341713956 201.28997111019535,237.0488757831739 203.83418254949973,238.3527881492082 C206.3783939888041,239.65670051524256 208.92260542810848,240.96061288127692 211.46681686741286,242.26452524731127 C214.01102830671724,243.56843761334562 216.55523974602164,244.87234997937992 219.09945118532602,246.17626234541427 C221.6436626246304,247.48017471144863 224.18787406393477,248.78408707748298 226.73208550323915,250.08799944351733 C229.27629694254355,251.39191180955163 231.82050838184793,252.69582417558598 234.36471982115233,253.99973654162034 C236.9089312604567,255.3036489076547 239.4531429964053,256.60756142571967 241.99735413906546,257.91147363972334",datum:[{lake:"F",species:"Salmon",count:47}],role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1}},{kind:"path",d:"M342.25899046182735,258.07748685525206 C346.84562661576706,258.9624403447242 351.5687425815439,259.4198605072056 356.0188999055372,260.73234751311617 C359.06908976036596,261.6319414507144 362.000085957821,263.1202740963629 364.7600319982934,264.71372968577845 C367.5199780387658,266.30718527519406 370.2744100179066,268.1013361177615 372.57857614837155,270.2930810496096 C375.9403018996237,273.4907868400699 378.69799736342424,277.3524151702119 381.75770764344463,280.8820818527037 C383.39265337397705,279.82581271885323 385.0275996644783,278.7695432232305 386.66254567499516,277.71327390849393 C388.297491685512,276.6570045937573 389.93243769602884,275.6007352790207 391.5673837065457,274.5444659642841 C393.2023297170625,273.4881966495475 394.83727572757937,272.4319273348109 396.47222173809615,271.37565802007424 C398.107167748613,270.31938870533764 399.7421140391143,269.26311920971494 401.3770597696467,268.2068500758644 C398.9210736451264,265.26577100947105 396.745509146981,262.0256080130898 394.0091007551183,259.3836121091164 C391.8571924772484,257.3059496985035 389.29339476765455,255.5668953241801 386.71210976044904,254.04787513210556 C384.5935559377208,252.801160404465 382.24117359338777,251.88264505531095 379.90958426531705,251.08640734997107 C377.84352236853294,250.3808472566991 375.69049032904627,249.81622967042023 373.5191560858847,249.54248173627002 C363.33485850363263,248.2585106329301 353.0681775563998,247.45632736993014 342.84268878907613,246.41325023750068 C342.74540575119437,248.35728934087587 342.6481226799932,250.30132911008445 342.5508396254517,252.24536854637637 C342.4535565709103,254.18940798266829 342.35627349970906,256.1334477518769 342.25899046182735,258.07748685525206",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M384.25666610697857,285.21040487754874 C385.3089125327623,286.28036538340854 386.17149762805064,287.63238941230804 387.4134060855097,288.4202871081122 C389.02698821956596,289.4439838530517 390.96852919686717,290.060882305688 392.82313788152453,290.6451881997798 C395.27450747543213,291.4175072955368 397.81636147923405,291.9295858317235 400.33134092120446,292.49016207765845 C403.4284892692153,293.1805008395019 406.5505353764948,293.76002563886743 409.65952125146816,294.3979332231151 C411.4062935780278,294.75633926285815 413.15429702483357,295.1090594923878 414.8986155258035,295.47910294963066 C416.75374215228584,295.8726534795969 418.60817036841496,296.2704860146006 420.45785663382503,296.68871518474236 C422.4044182264269,297.1288486574982 424.34906862307423,297.57911614571884 426.2873590998394,298.0541908783237 C428.3083515597817,298.54953585577306 430.3261840186434,299.06014697871086 432.3357054439473,299.5999743149052 C434.41377860312076,300.1582170307119 436.48730792577703,300.73643447177017 438.5501428532714,301.3484010343269 C440.6676240502519,301.9765791168886 442.7789552782955,302.62924915519125 444.87665381737185,303.32040825026047 C447.0155497187967,304.0251412365012 449.1463754675626,304.7588722800904 451.25992617477505,305.5360772782569 C453.4019054208138,306.3237361550037 455.5334743298766,307.1450231234016 457.64324367712555,308.0149998750004 C459.7696039125632,308.8918179844147 461.88266652399324,309.8071104426849 463.9683149228348,310.7764618612961 C466.0599374458785,311.7485898868243 468.1346738295704,312.76430243735945 470.1750564427814,313.8394382074186 C472.21235049123544,314.9129465246525 474.2282822969281,316.0354100485573 476.2013449078299,317.2223941231753 C478.16418145710054,318.4032262529766 480.1000695929123,319.63857785183706 481.9827539232987,320.94288682067645 C483.85038552895645,322.23676737963734 485.6841135101539,323.5907747102768 487.45229271596247,325.0169627065761 C489.2032512784378,326.4292607788623 490.9116943653195,327.90707209779356 492.54016722815027,329.45834502643294 C494.15212636612074,330.9938870854266 495.7110101855942,332.5996913174301 497.17358871836615,334.2774076694752 C498.62317474728434,335.9402203868224 500.11534966951615,337.6095082306569 501.27666091322067,339.47993223460986 C503.58176086638844,343.19255820571675 506.00356271551937,346.97215645767074 507.57282230898295,351.02655759465483 C509.166020286334,355.1428068868166 510.01671990654467,359.62674700947565 510.76403362566464,363.9918835220473 C511.15219660621267,366.25918352720976 511.07823548313945,368.6203049185839 510.9792524079869,370.9238671478573 C510.87642545550466,373.3168851817409 510.60773428110735,375.7289054746003 510.15860354276026,378.0816243115184 C509.68739317986604,380.5500046789192 509.04092581317144,383.0125287738364 508.21822910426306,385.387164760814 C507.34793909718314,387.8991742869749 506.12583850044655,390.29009579414264 505.0796433947952,392.7415608509339 C506.7577400049263,393.60158800416 508.4358372083457,394.4616154614473 510.1139341151209,395.32164276670403 C511.79203102189615,396.1816700719607 513.4701279286713,397.0416973772174 515.1482248354466,397.9017246824741 C516.8263217422218,398.7617519877308 518.504418648997,399.62177929298747 520.1825155557723,400.4818065982442 C521.8606124625476,401.34183390350086 523.5387093693228,402.2018612087576 525.2168062760979,403.06188851401424 C526.8949031828732,403.92191581927096 528.5730000896484,404.78194312452763 530.2510969964237,405.64197042978435 C531.9291939031989,406.501997735041 533.6072908099741,407.36202504029774 535.2853877167494,408.2220523455544 C536.9634846235247,409.0820796508111 538.6415815302998,409.9421069560678 540.319678437075,410.8021342613245 C541.9977753438503,411.6621615665812 543.6758725472697,412.52218902386846 545.3539691574008,413.38221617709456 C546.6647451867349,410.3379983022272 548.1835496489152,407.3669092212258 549.2862976408794,404.2495616340166 C550.3276701533493,401.30571579363414 551.1603649800069,398.2576699553795 551.7863306707031,395.19863589431964 C552.38164756583,392.2893795462725 552.7641532809776,389.308386254993 552.9501453983489,386.3446904066956 C553.1285724908171,383.5015396288813 553.0947927688819,380.6188957663501 552.8795883002218,377.77809601598454 C552.6711324702064,375.0263814556082 552.256441982182,372.2661072966967 551.6791645023224,369.56714747447 C551.1144759025426,366.9270447577559 550.3549186772543,364.3064798747473 549.4536900613036,361.7609083991621 C548.5640588287264,359.24809439241903 547.4955478073771,356.7785591643782 546.3065849567383,354.391991027485 C545.1238820258276,352.0179882326918 543.7814789837846,349.70559828630377 542.3386927166551,347.479195604103 C540.8951251723696,345.2515873118993 539.3125179136212,343.0981952421388 537.6475235224931,341.02995810427154 C535.9752303079216,338.95265445075194 534.1844619737079,336.95680907598035 532.3268298995563,335.04257322994255 C530.457433020741,333.1162140947333 528.4888506361918,331.2740263619532 526.466436663592,329.5081731605304 C524.4306603153376,327.730652716818 522.3130036444437,326.0365096798013 520.1522589369935,324.41245229453693 C517.9796758483623,322.77949695371103 515.7402312114195,321.2266176534279 513.4664532753475,319.7371349822594 C511.18536387733684,318.24286279506754 508.85013385916886,316.82371680357056 506.4876569347453,315.4611877194559 C504.1250757222981,314.098598488525 501.71894076360843,312.8052124627344 499.2912788647352,311.56178003712273 C496.87299279209043,310.3231498479159 494.41985590484023,309.1473217258374 491.94981302019124,308.0149998750004 C489.5004796152687,306.8921717040341 487.0233920362234,305.8256048492681 484.5331499960206,304.79632997171296 C482.07640995919576,303.780902250325 479.5976770902127,302.815266400176 477.10886678910845,301.88089207817126 C474.66745265682584,300.9643117049817 472.20871891323065,300.09123444899177 469.7424766958602,299.2434658861301 C467.33830398127145,298.41703365949695 464.9206135751963,297.6280247784474 462.49762199323067,296.85828970968674 C460.15185173454313,296.11308628231745 457.79568039058614,295.39939694922333 455.43619117390085,294.6986503977402 C453.1692531185473,294.0253906881889 450.8945031474214,293.3778097820576 448.6183401771141,292.7362709265835 C446.4499038772505,292.12509494308387 444.27585145362127,291.5336851254445 442.1023933633881,290.940505880819 C440.05126974289743,290.3807141069156 437.99644776671306,289.8344900984477 435.9445950449426,289.27735787099675 C434.02854210354855,288.7570988719826 432.1105332029534,288.2436474013163 430.1986763738945,287.7083322014237 C428.43406670346053,287.214245843019 426.65813045738776,286.75323097411933 424.91519554646413,286.1891531961048 C421.89722747810924,285.212427839669 418.8204520595463,284.33604224623525 415.9159674360591,283.0859227980726 C413.5965604508408,282.0876266607894 411.20501545038786,280.98256228912896 409.2435207203476,279.4439064397674 C407.58083126759425,278.1396424960665 406.44344994796245,276.18607750638716 405.0434148876782,274.5571634188852 C403.31118611926405,275.4449333884099 401.57895675756157,276.33270366199577 399.8467276925033,277.2204737835511 C398.11449862744496,278.1082439051064 396.3822695623867,278.99601402666167 394.6500404973284,279.883784148217 C392.91781143227007,280.77155426977225 391.1855823672118,281.6593243913276 389.45335330215346,282.54709451288284 C387.7211242370952,283.43486463443816 385.9888948753927,284.32263490802404 384.25666610697857,285.21040487754874",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M495.795191876994,408.8227026001756 C492.7342537403247,412.9825468716412 489.8974771037707,417.32916439669293 486.6123768743156,421.30223622001733 C483.71325527112094,424.8084970795084 480.5360992568376,428.12111755765176 477.24252637904465,431.2607006486221 C474.32598406108133,434.040881104721 471.19563473997744,436.62989243341985 467.98203128704694,439.06152686122493 C465.11370924250417,441.2318975170015 462.1604743935269,443.3636240111142 458.9967498866248,445.06671589936724 C453.5109934978117,448.01980084286885 447.8565519513892,450.8283665260666 442.0335885999013,453.0300573564888 C436.88226885965827,454.97779646320464 431.48685432275084,456.44634450015457 426.07390061143207,457.5150057107812 C415.1281202229984,459.67599424772317 404.04138331089933,461.33394794269145 392.957386300644,462.71900659919464 C377.9271372003502,464.5971897678205 362.8065699551049,465.7761563574698 347.73116227978477,467.3047311861684 C347.85580617675635,469.79553138100067 347.9804501070473,472.2863322416664 348.10509402067856,474.7771327694154 C348.2297379343098,477.2679332971644 348.35438184794106,479.7587338249134 348.4790257615723,482.2495343526624 C348.60366967520355,484.7403348804114 348.7283135888348,487.2311354081604 348.8529575024661,489.7219359359094 C348.97760141609734,492.2127364636584 349.1022453297286,494.7035369914074 349.22688924335984,497.1943375191564 C349.3515331569911,499.6851380469054 349.4761770706223,502.1759385746544 349.6008209842536,504.6667391024034 C349.7254648978849,507.1575396301524 349.8501088115161,509.64834015790143 349.97475272514737,512.1391406856504 C350.0993966387786,514.6299412133994 350.22404055240986,517.1207417411484 350.3486844660411,519.6115422688974 C350.47332837967235,522.1023427966464 350.5979723099633,524.5931436573121 350.7226162069349,527.0839438521444 C356.8046643348833,526.5682689411063 362.90758634335896,526.2316585525257 368.96876158720494,525.5369190345468 C374.3324890492578,524.9221218571611 379.70006933274044,524.1939262806609 384.9973243246313,523.1553337660506 C393.936755459526,521.4026474642229 402.8685707925057,519.4743881168347 411.67881996756154,517.1630825852329 C418.9813479872962,515.2473168592785 426.2037120031931,512.9525854677493 433.33565590900275,510.47411999338203 C439.76119630540785,508.2411411257737 446.140183592015,505.7966947321929 452.3512728742058,503.02874955930645 C458.6211356188488,500.2346122461533 464.85514788734713,497.2464911165855 470.7785119895042,493.7878725352631 C477.47083091958336,489.88026560708545 483.90231623574954,485.4554530579412 490.19832197091444,480.9300730308063 C493.8342077338016,478.31670742975314 497.2407878999385,475.3645527065347 500.57418648366024,472.37163565069875 C504.3104174849856,469.0170324709241 507.96252196663465,465.5399024227346 511.4072107260557,461.88751232397453 C515.2959713945187,457.7642745065965 519.0732206525428,453.5004777488417 522.5745347673123,449.04475190228436 C526.5400459510277,443.99829503011745 530.063302864369,438.60222647508454 533.8076866215105,433.3809641678018 C532.2238329538068,432.35770345003675 530.6399787261341,431.3344423704996 529.0561247784459,430.3111814718485 C527.4722708307577,429.2879205731974 525.8884168830696,428.2646596745463 524.3045629353813,427.2413987758952 C522.7207089876931,426.21813787724415 521.136855040005,425.194876978593 519.5530010923168,424.17161607994194 C517.9691471446286,423.14835518129087 516.3852931969404,422.1250942826398 514.8014392492522,421.1018333839887 C513.217585301564,420.0785724853376 511.6337313538759,419.0553115866865 510.04987740618765,418.0320506880354 C508.4660234584995,417.0087897893843 506.8821695108113,415.98552889073324 505.2983155631231,414.96226799208216 C503.71446161543497,413.93900709343103 502.13060766774674,412.91574619477996 500.5467537200586,411.8924852961289 C498.9628997723704,410.86922439747775 497.37904554469776,409.8459633179406 495.795191876994,408.8227026001756",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M331.788901716802,467.3047311861684 C327.38965463536704,466.7574415158507 322.9293005916095,466.5141094954065 318.5911594801468,465.66286205176175 C314.7589012040669,464.910880966527 310.95681984136945,463.80579771647444 307.27770355417414,462.4950455995296 C304.0093888789771,461.3306490311835 300.8135501922017,459.8648327392715 297.74886659296976,458.2374159958889 C294.9964220288721,456.7758052867223 292.34723212754864,455.0615912859315 289.8263190641852,453.2279632418821 C287.5264777528695,451.55513541351365 285.3495339491935,449.67729577628984 283.2866034689323,447.71804837863556 C281.3691237997089,445.8969414203898 279.4910165758475,443.9862981728125 277.8850886157313,441.88690017418185 C274.89700126811624,437.98063242549483 272.0678223354493,433.90311452205435 269.50455754573863,429.7010511366825 C267.0373184436194,425.6564065351611 265.00031194382984,421.3474336923895 262.7935769402417,417.1467762135021 C260.5310259476868,412.839869524305 258.5415093501169,408.38171087192234 256.09669955730953,404.1783586324291 C250.16968052558582,393.98805720537746 243.81762665669157,384.0366627354406 237.67809046664846,373.9658152138675 C235.63440823348688,375.28615167640214 233.59072544035638,376.606488500709 231.54704292721033,377.9268251441298 C229.50336041406428,379.24716178755057 227.45967790091822,380.5674984309713 225.41599538777217,381.88783507439206 C223.37231287462612,383.20817171781283 221.32863036148007,384.5285083612336 219.284947848334,385.8488450046543 C217.241265335188,387.1691816480751 215.19758282204194,388.48951829149587 213.1539003088959,389.80985493491664 C211.11021779574986,391.1301915783374 209.0665352826038,392.4505282217582 207.02285276945776,393.7708648651789 C204.9791702563117,395.0912015085997 202.93548774316568,396.41153815202046 200.89180523001963,397.7318747954412 C198.84812271687358,399.05221143886195 196.80444020372755,400.3725480822827 194.7607576905815,401.6928847257035 C192.71707517743545,403.01322136912427 190.67339238430495,404.3335581934311 188.62971015114337,405.65389465596576 C198.29272430601088,419.9043439569732 207.9828483197782,434.1365443149007 217.61875317697155,448.40524338665097 C221.39701192345848,454.0000305776624 225.0500651017175,459.68011563475136 228.87220096218414,465.2443534442509 C232.4913186260997,470.5130388279589 235.98944764343614,475.89115028521826 239.94251375011817,480.9040129662734 C244.0210998122121,486.0760468534837 248.41625252289055,491.04209013103593 252.96715746851203,495.79904314904746 C255.4292937852049,498.37265585298155 258.1866689809577,500.6856186724525 260.98163753706126,502.89571013211014 C264.0100572881627,505.2904006246209 267.15914567331464,507.5760556680574 270.4373223901271,509.61338900555245 C274.0535679917229,511.86082663846463 277.8039400601555,513.9572465604983 281.66490449228604,515.7500230433318 C285.98300007083105,517.7550609917313 290.43844823299935,519.563110752535 294.9745024221537,521.0068322992511 C300.0927031333566,522.635837672434 305.34176225368094,524.0184625613481 310.6276691933578,524.9682038030288 C316.6160773761804,526.0441664123125 322.7408552553168,526.3786972076597 328.79744778965187,527.0839438521444 C328.9220916866234,524.5931436573121 329.04673561691436,522.1023427966464 329.17137953054566,519.6115422688974 C329.2960234441769,517.1207417411484 329.42066735780816,514.6299412133994 329.5453112714394,512.1391406856504 C329.66995518507065,509.64834015790143 329.7945990987019,507.1575396301524 329.9192430123332,504.6667391024034 C330.04388692596444,502.1759385746544 330.1685308395957,499.6851380469054 330.29317475322694,497.1943375191564 C330.4178186668582,494.7035369914074 330.5424625804894,492.2127364636584 330.6671064941207,489.7219359359094 C330.791750407752,487.2311354081604 330.9163943213832,484.7403348804114 331.04103823501447,482.2495343526624 C331.1656821486457,479.7587338249134 331.29032606227696,477.2679332971644 331.4149699759082,474.7771327694154 C331.53961388953945,472.2863322416664 331.6642578198304,469.79553138100067 331.788901716802,467.3047311861684",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M231.60397974871566,363.44514683960927 C230.22930200806616,360.35801004738835 228.6962105522048,357.3314745024352 227.4799461199822,354.1837355494228 C226.40650736594256,351.4056349240604 225.38573513586695,348.57067665767875 224.73487018992887,345.66762810448495 C223.64602859213713,340.81107522841836 222.68810660146738,335.85651984318645 222.26082648879273,330.90493126164176 C221.91190568449213,326.861419244143 222.0866386001573,322.73392896422735 222.40626743900307,318.68232630735474 C222.68856355101275,315.1039518353469 223.2229912803495,311.50717035387316 224.0666013413591,308.0149998750004 C225.80152572093897,300.8331845061857 227.919899143919,293.7147221422008 230.1418707607714,286.66036876429234 C231.52447322589074,282.2708588821024 233.12590842829354,277.9377703600012 234.88032358727426,273.68341009470527 C237.07773622105822,268.3548053184782 239.6250107589048,263.16878548755204 241.99735413906546,257.91147363972334 C239.4531429964053,256.60756142571967 236.9089312604567,255.3036489076547 234.36471982115233,253.99973654162034 C231.82050838184793,252.69582417558598 229.27629694254355,251.39191180955163 226.73208550323915,250.08799944351733 C224.18787406393477,248.78408707748298 221.6436626246304,247.48017471144863 219.09945118532602,246.17626234541427 C216.55523974602164,244.87234997937992 214.01102830671724,243.56843761334562 211.46681686741286,242.26452524731127 C208.92260542810848,240.96061288127692 206.3783939888041,239.65670051524256 203.83418254949973,238.3527881492082 C201.28997111019535,237.0488757831739 198.74575967089095,235.74496341713956 196.20154823158657,234.4410510511052 C193.6573367922822,233.1371386850709 191.11312535297782,231.8332263190365 188.56891391367344,230.5293139530022 C186.02470247436906,229.22540158696785 183.48049073842049,227.92148906890293 180.93627959576028,226.6175768548992 C178.8531772257564,231.1244463269037 176.60625089730215,235.56304440722334 174.68697206619103,240.13818617864138 C172.9905733664706,244.1820303696269 171.37316328884947,248.28296027170643 170.08924700326568,252.4745347421097 C167.93151202882945,259.518846691647 165.92138112426198,266.64823118493274 164.36201828613096,273.845845438463 C163.0801763004202,279.76249544545135 162.23485228077354,285.7983035143918 161.56563253174033,291.81732752366565 C160.96849675417076,297.1880216599043 160.65185839219643,302.6117308762432 160.5629517063226,308.0149998750004 C160.47391198187617,313.42635424088064 160.5901543816072,318.86833003578477 161.03179330077953,324.261197617578 C161.5281330635442,330.3220190261278 162.20691365131808,336.41158568361305 163.37688775213363,342.3760668460295 C164.80333766059073,349.648051415767 166.73419947134067,356.85611077072747 168.8210653285975,363.97059481403977 C170.06428063173524,368.2089292550476 171.67589356108303,372.35222963642667 173.36713123331737,376.43452229898986 C175.2812410505394,381.05478152716944 177.5471157482729,385.5303413933906 179.63710779696657,390.07825048626813 C181.80239383164528,388.96853798635465 183.96768045961232,387.8588251823799 186.1329667909352,386.7491125304358 C188.29825312225807,385.63939987849164 190.46353945358098,384.52968722654754 192.62882578490385,383.41997457460343 C194.79411211622673,382.31026192265927 196.9593984475496,381.20054927071516 199.12468477887248,380.09083661877105 C201.28997111019535,378.98112396682694 203.45525744151823,377.87141131488283 205.6205437728411,376.76169866293867 C207.78583010416398,375.65198601099456 209.95111643548685,374.54227335905045 212.11640276680976,373.43256070710635 C214.28168909813263,372.32284805516224 216.4469754294555,371.2131354032181 218.61226176077838,370.10342275127397 C220.77754809210126,368.99371009932986 222.94283442342413,367.8839974473857 225.108120754747,366.7742847954416 C227.27340708606988,365.6645721434975 229.43869371403696,364.55485933952275 231.60397974871566,363.44514683960927",role:"node",style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M342.84268878907613,246.41325023750068 C353.0681775563998,247.45632736993014 363.33485850363263,248.2585106329301 373.5191560858847,249.54248173627002 C375.69049032904627,249.81622967042023 377.84352236853294,250.3808472566991 379.90958426531705,251.08640734997107 C382.24117359338777,251.88264505531095 384.5935559377208,252.801160404465 386.71210976044904,254.04787513210556 C389.29339476765455,255.5668953241801 391.8571924772484,257.3059496985035 394.0091007551183,259.3836121091164 C396.745509146981,262.0256080130898 398.9210736451264,265.26577100947105 401.3770597696467,268.2068500758644 C403.52292612846554,266.82049678115874 405.6687930472534,265.4341431246808 407.81465968605676,264.04778964908905 C409.9605263248601,262.66143617349724 412.10639296366344,261.2750826979054 414.2522596024668,259.8887292223136 C416.3981262412701,258.50237574672184 418.54399288007346,257.11602227113 420.6898595188768,255.7296687955382 C422.83572615768014,254.34331531994644 424.98159307646796,252.95696166346852 427.1274594352868,251.5706083687628 C425.38362552656076,249.26452648762415 423.791701580638,246.8246260712928 421.895957105954,244.65236192772272 C420.2212618324626,242.73338996573517 418.45559240967805,240.81128864144813 416.4161401907606,239.29690005209 C412.9859240676542,236.7498042644662 409.34706439275413,234.26153073865294 405.48695207988237,232.46790879677707 C402.2692124553944,230.9727687785761 398.6813990191583,230.09544741699688 395.1825843786814,229.43061417185947 C392.04006556130497,228.83348308663653 388.77410631084877,228.67925420640836 385.5629517063226,228.68201580569598 C379.30460541370326,228.68739799584 373.03901684924523,229.41987969290642 366.77408168724503,229.4550455401544 C359.09077837378743,229.49817286129888 351.4035177491387,229.0962787128555 343.71823627994934,228.91689531087349 C343.57231171479685,231.83295413239466 343.4263871163249,234.74901361974923 343.2804625345127,237.66507277418708 C343.13453795270055,240.58113192862493 342.9886133542286,243.4971914159795 342.84268878907613,246.41325023750068",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M405.0434148876782,274.5571634188852 C406.501573547975,278.109115150841 408.2063210274235,281.581299941505 409.4178912483363,285.21301953983436 C410.3719243975942,288.0727637179354 411.15116623728136,291.0444588854973 411.54022499819035,294.03155474817646 C412.1411255626928,298.64511899721936 412.55252415464014,303.36986468339296 412.3877692245708,308.0149998750004 C412.22414730997434,312.62819058977834 411.41568248951387,317.26061828091554 410.555094464193,321.80653246733266 C410.002995939213,324.722901790588 409.1516190860751,327.60678751557896 408.1497095736681,330.40185040401775 C406.88133529430553,333.9402796064511 405.21273178718354,337.33862293492626 403.74424308888445,340.80700873994914 C406.12605775669545,342.0276925050571 408.5078730177948,343.2483765742262 410.88968798224994,344.4690604913647 C413.27150294670514,345.68974440850326 415.6533179111603,346.91042832564176 418.03513287561543,348.1311122427803 C420.41694784007063,349.3517961599189 422.7987628045258,350.5724800770574 425.180577768981,351.79316399419594 C427.5623927334361,353.01384791133444 429.9442079945355,354.23453198050356 432.3260226623465,355.4552157456115 C434.42173753488146,350.42808948693954 436.8371679447498,345.5085739688216 438.6131676647356,340.373836046589 C440.0136198069432,336.32487441560244 441.1808989556756,332.1326401782409 441.8553782489266,327.904117085954 C442.9013865802436,321.34636145437804 443.7746305384394,314.64470561198493 443.7746305384394,308.0149998750004 C443.7746305384394,301.38529413801587 442.9013865802436,294.68363829562276 441.8553782489266,288.1258826640468 C441.1808989556756,283.8973595717599 440.0136198069432,279.70512533439836 438.6131676647356,275.6561637034118 C436.8371679447498,270.5214257811792 434.42173753488146,265.60191026306126 432.3260226623465,260.5747840043893 C430.0524723111016,261.7399821369 427.7789213665684,262.90518057347197 425.5053707186794,264.07037885801327 C423.2318200707904,265.2355771425546 420.95826942290137,266.40077542709594 418.68471877501236,267.56597371163724 C416.41116812712335,268.73117199617855 414.1376174792343,269.8963702807199 411.86406683134527,271.0615685652612 C409.5905161834562,272.2267668498025 407.31696523892305,273.3919652863745 405.0434148876782,274.5571634188852",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M400.15085026175905,347.0309476880839 C398.4418787874031,350.53934236109615 396.32005724472214,353.90211008007964 395.0239354007728,357.5561326061353 C393.7668697238977,361.1000481118234 393.1302223755697,364.8996063738523 392.49128769928575,368.6247617833153 C391.8049091023274,372.62652759491584 391.5757501269605,376.7056080451108 391.0479955810459,380.7368962693261 C390.4828498081382,385.05379986953903 390.1300542092252,389.4240747880753 389.2125867428189,393.6693372566 C388.2527855060092,398.11048456379814 386.9437819439935,402.52283817589654 385.416189471398,406.7961255964945 C384.62421524446336,409.0115944221868 383.4736157053108,411.1224581636732 382.25388664422854,413.1356059954708 C380.9880427949185,415.22486571875055 379.56672184450906,417.2671470432275 377.9594707402211,419.10334826172664 C376.25842768214096,421.0467019341137 374.3717393305652,422.8970652170373 372.3290041571242,424.47427066812924 C370.1156961871911,426.18317617899055 367.70508988920153,427.73872454400185 365.1913413100988,428.96168114758626 C362.4075404070061,430.31602013192366 359.43897271188666,431.45177047194994 356.4363557105377,432.2061574318946 C353.05953547150193,433.05456039279886 349.5141379665267,433.24875313369887 346.0530295889445,433.770050910133 C346.19287396318816,436.5646072668859 346.3327183707512,439.35916428947223 346.47256276165456,442.15372097914184 C346.6124071525579,444.94827766881144 346.7522515434613,447.7428343584811 346.89209593436465,450.5373910481507 C347.031940325268,453.3319477378203 347.1717847161714,456.12650442749 347.31162910707474,458.9210611171595 C347.4514734979781,461.7156178068292 347.59131790554113,464.5101748294155 347.73116227978477,467.3047311861684 C352.1216817294103,466.69244549428026 356.59811974291665,466.4480995640486 360.9027216190768,465.46787397238427 C364.71688910186515,464.59932801039196 368.4939313683009,463.30384535671044 372.08747035663043,461.7584165251984 C375.30495245436714,460.37471382575234 378.41908624813016,458.6205468597408 381.33578487727567,456.68047937951013 C383.99114977021367,454.9142403085766 386.49246707624815,452.8391363217407 388.80366092288097,450.639496871706 C390.9507782610796,448.59601444904547 392.91261460023594,446.31030155453914 394.7107184317702,443.9511137614245 C396.4145480617404,441.7156176826786 397.9247579908214,439.30424660971926 399.3094613073944,436.8554452561243 C400.642500380899,434.49801038287507 401.7949513609835,432.0230454899477 402.86394560200296,429.53240508089175 C403.9037790608695,427.1097061252157 404.79119896097905,424.6145114474442 405.63594440705253,422.11542716192827 C406.46219605025493,419.6710547098402 407.1720483279015,417.1851118200818 407.87693686983073,414.7020348680798 C408.56825028279695,412.2667783697288 409.1653920858058,409.8049561302697 409.8245502717389,407.36042681086934 C411.11359047737767,402.579940663816 412.19962308252593,397.73274421935594 413.72153204454617,393.0269884687186 C415.25313068540896,388.2912721468033 416.8741904326592,383.53423314966943 418.9850730803879,379.03601059321136 C421.34283289623943,374.01170078717587 424.4133308128764,369.318264160886 427.1274594352868,364.459391381238 C424.87940895081067,363.00702125436123 422.63135790636557,361.55465076571227 420.3833071419049,360.10228045794946 C418.13525637744425,358.64991015018666 415.8872056129836,357.1975398424238 413.63915484852294,355.74516953466093 C411.3911040840623,354.29279922689807 409.1430533196017,352.84042891913526 406.895002555141,351.3880586113724 C404.64695179068036,349.9356883036096 402.3989007462352,348.4833178149606 400.15085026175905,347.0309476880839",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M333.4670344076423,433.770050910133 C329.9957437932031,433.32458182401786 326.47140048192074,433.1323602456468 323.0531615724587,432.43364352450175 C320.0317282081762,431.8160371870378 317.03547954715845,430.9046147382856 314.14801758640874,429.82108173430606 C311.57878520924925,428.8569658036421 309.07264061099676,427.64066732925187 306.68307855873104,426.29069672057113 C304.53068871950217,425.07471531568274 302.36411840094695,423.7643002449482 300.52216191192497,422.1232256935988 C297.2666838056424,419.22278678283385 294.0732143560419,416.0977624981601 291.3907747728175,412.6661563342283 C288.9651564529579,409.56309789823155 287.0636906609173,406.007440107262 285.19798820267295,402.51923189381324 C283.40670201447824,399.17015596442957 281.9933853998663,395.6179804769663 280.4198088335004,392.15430390573096 C278.8307132779025,388.656467726021 277.5212074114054,385.0182990043593 275.7099718367814,381.6346936409775 C271.4486980083722,373.67412286672175 266.70484419581715,365.9594145865043 262.202280624401,358.1217754928183 C260.1585983912394,359.44211195535297 258.1149155981089,360.76244877965985 256.07123308496284,362.0827854230806 C254.0275505718168,363.4031220665014 251.98386805867077,364.72345870992217 249.9401855455247,366.04379535334294 C247.8965030323787,367.36413199676366 245.85282051923264,368.68446864018443 243.80913800608658,370.0048052836052 C241.76545549294053,371.3251419270259 239.72177269981003,372.6454787513328 237.67809046664846,373.9658152138675 C243.81762665669157,384.0366627354406 250.16968052558582,393.98805720537746 256.09669955730953,404.1783586324291 C258.5415093501169,408.38171087192234 260.5310259476868,412.839869524305 262.7935769402417,417.1467762135021 C265.00031194382984,421.3474336923895 267.0373184436194,425.6564065351611 269.50455754573863,429.7010511366825 C272.0678223354493,433.90311452205435 274.89700126811624,437.98063242549483 277.8850886157313,441.88690017418185 C279.4910165758475,443.9862981728125 281.3691237997089,445.8969414203898 283.2866034689323,447.71804837863556 C285.3495339491935,449.67729577628984 287.5264777528695,451.55513541351365 289.8263190641852,453.2279632418821 C292.34723212754864,455.0615912859315 294.9964220288721,456.7758052867223 297.74886659296976,458.2374159958889 C300.8135501922017,459.8648327392715 304.0093888789771,461.3306490311835 307.27770355417414,462.4950455995296 C310.95681984136945,463.80579771647444 314.7589012040669,464.910880966527 318.5911594801468,465.66286205176175 C322.9293005916095,466.5141094954065 327.38965463536704,466.7574415158507 331.788901716802,467.3047311861684 C331.92874609104564,464.5101748294155 332.0685904986087,461.7156178068292 332.20843488951203,458.9210611171595 C332.3482792804154,456.12650442749 332.48812367131876,453.3319477378203 332.6279680622221,450.5373910481507 C332.7678124531255,447.7428343584811 332.90765684402885,444.94827766881144 333.0475012349322,442.15372097914184 C333.1873456258356,439.35916428947223 333.32719003339867,436.5646072668859 333.4670344076423,433.770050910133",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M257.5874157245902,350.1285950162798 C255.90585532456623,345.60737411401914 253.74555961496168,341.20316899158615 252.54273417592202,336.564931372225 C251.59744190648803,332.91977221356865 251.25287165282583,329.0472438119585 251.14306259916924,325.27840468222723 C251.0531197626009,322.19140893269736 251.43932668722525,319.05065821789293 251.94347850524724,315.9974267344417 C252.38950870104523,313.29618994881736 253.10378987328903,310.6095862865121 253.9936086406292,308.0149998750004 C255.79237617325504,302.7700466677644 257.8456587662067,297.5912725896419 260.00923740514526,292.4788078781985 C262.9411098572416,285.5508903160482 266.1897205477511,278.75550435827995 269.2799619137337,271.8938530542193 C267.0064115624889,270.7286549217086 264.7328606179557,269.5634564851366 262.45930997006667,268.3982582005953 C260.18575932217766,267.233059916054 257.91220867428865,266.06786163151264 255.63865802639958,264.90266334697134 C253.36510737851057,263.73746506243 251.09155673062156,262.5722667778887 248.81800608273252,261.40706849334737 C246.54445543484348,260.241870208806 244.2709044903103,259.0766717722341 241.99735413906546,257.91147363972334 C239.6250107589048,263.16878548755204 237.07773622105822,268.3548053184782 234.88032358727426,273.68341009470527 C233.12590842829354,277.9377703600012 231.52447322589074,282.2708588821024 230.1418707607714,286.66036876429234 C227.919899143919,293.7147221422008 225.80152572093897,300.8331845061857 224.0666013413591,308.0149998750004 C223.2229912803495,311.50717035387316 222.68856355101275,315.1039518353469 222.40626743900307,318.68232630735474 C222.0866386001573,322.73392896422735 221.91190568449213,326.861419244143 222.26082648879273,330.90493126164176 C222.68810660146738,335.85651984318645 223.64602859213713,340.81107522841836 224.73487018992887,345.66762810448495 C225.38573513586695,348.57067665767875 226.40650736594256,351.4056349240604 227.4799461199822,354.1837355494228 C228.6962105522048,357.3314745024352 230.22930200806616,360.35801004738835 231.60397974871566,363.44514683960927 C233.76926578339436,362.3354343396957 235.9345524113614,361.225721535721 238.09983874268428,360.1160088837769 C240.26512507400716,359.0062962318327 242.43041140533006,357.89658357988867 244.59569773665294,356.7868709279445 C246.7609840679758,355.6771582760004 248.9262703992987,354.5674456240563 251.09155673062156,353.4577329721121 C253.25684306194444,352.348020320168 255.42212968991151,351.2383075161933 257.5874157245902,350.1285950162798",role:"node",style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M343.71823627994934,228.91689531087349 C351.4035177491387,229.0962787128555 359.09077837378743,229.49817286129888 366.77408168724503,229.4550455401544 C373.03901684924523,229.41987969290642 379.30460541370326,228.68739799584 385.5629517063226,228.68201580569598 C388.77410631084877,228.67925420640836 392.04006556130497,228.83348308663653 395.1825843786814,229.43061417185947 C398.6813990191583,230.09544741699688 402.2692124553944,230.9727687785761 405.48695207988237,232.46790879677707 C409.34706439275413,234.26153073865294 412.9859240676542,236.7498042644662 416.4161401907606,239.29690005209 C418.45559240967805,240.81128864144813 420.2212618324626,242.73338996573517 421.895957105954,244.65236192772272 C423.791701580638,246.8246260712928 425.38362552656076,249.26452648762415 427.1274594352868,251.5706083687628 C429.68206229673495,249.92018774537297 432.236665718152,248.26976676021093 434.79126885958453,246.619345955935 C437.3458720010171,244.968925151659 439.90047514244964,243.31850434738305 442.4550782838822,241.66808354310712 C445.00968142531474,240.01766273883118 447.56428456674735,238.36724193455518 450.11888770817984,236.71682113027924 C452.67349084961245,235.0664003260033 455.2280942710295,233.4159793408412 457.78269713247755,231.76555871745137 C455.4441479103719,228.63709020921618 453.29592744120225,225.34486066486784 450.76704886743977,222.38015239178804 C448.5344326865491,219.76276469639924 446.0650679983357,217.31035267958725 443.49821286851807,215.01927081204553 C441.2220038390075,212.98760912079268 438.7628246268252,211.1253210747999 436.23785638945526,209.4119217154044 C433.9776385119277,207.87817732760016 431.63862806493444,206.37703979168236 429.1426545238256,205.27783957044613 C424.78755035695804,203.35989797976686 420.2789160796812,201.58363108203366 415.684623265526,200.36049627965798 C411.59176453224103,199.270857860778 407.31546900532794,198.6851100440855 403.0811998815051,198.33951990667913 C394.7008588742476,197.65553806340984 386.2504805542775,197.70291639125162 377.840792872285,197.27178033763101 C367.022203584039,196.71714810063793 356.2111766051853,196.0120701163886 345.39636897078964,195.38221503483817 C345.256524596546,198.17677139159105 345.1166801889829,200.97132841417738 344.97683579807955,203.76588510384698 C344.8369914071762,206.5604417935166 344.6971470162728,209.3549984831862 344.55730262536946,212.1495551728558 C344.41745823446615,214.94411186252546 344.2776138435628,217.73866855219507 344.1377694526594,220.53322524186467 C343.99792506175606,223.32778193153428 343.858080654193,226.1223389541206 343.71823627994934,228.91689531087349",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M432.3260226623465,260.5747840043893 C433.35014450147594,263.2795955082284 434.68000291269055,265.9075715794475 435.3983885338325,268.68921945111504 C436.04046158643575,271.1753788168745 436.3567701053898,273.811076655514 436.40739868358196,276.3782057166704 C436.45366047781766,278.7239163932139 436.1764683664401,281.13142754622373 435.68905965111617,283.4277386642148 C435.2311108156533,285.5852565117274 434.4757933518027,287.7252945032148 433.57132603122176,289.7396926131812 C432.69904521895876,291.6824060530144 431.57719884009276,293.54882714016406 430.35881525258446,295.2990733136137 C429.16248167143925,297.01764396249365 427.85571819276595,298.7160675237088 426.32717452526117,300.1461430801699 C423.32522353135994,302.9547097108377 420.1295717542115,305.6417133137713 416.76733126836643,308.0149998750004 C413.545554572362,310.28913801833033 410.01200336794125,312.1335209340117 406.57512297971283,314.08841719384714 C403.46339170292583,315.8583687625543 400.19254614257216,317.356022798275 397.12149627332025,319.18954336062825 C394.4957307229544,320.7572141356025 391.72918580397595,322.26291224265026 389.4846767208596,324.2919912058297 C387.44090908186206,326.13959607992484 385.9993361032299,328.6437272437522 384.25666610697857,330.81959487245206 C385.88063055882657,331.65187920937956 387.5045956039629,332.48416385036825 389.12856035245505,333.3164483393263 C390.7525251009472,334.14873282828444 392.37648984943934,334.9810173172425 394.00045459793154,335.81330180620057 C395.6244193464237,336.6455862951587 397.2483840949158,337.47787078411676 398.872348843408,338.3101552730749 C400.49631359190016,339.14243976203295 402.1202786370365,339.97472440302164 403.74424308888445,340.80700873994914 C404.81896537369175,339.088201078967 405.75490892874404,337.2647024399603 406.96841047347095,335.65058490910826 C408.13750021766356,334.0955409460903 409.4118063071977,332.56141131302803 410.8920169556429,331.29952425833926 C414.040398286217,328.61551327081617 417.4547212426254,326.19260471802824 420.8541864105288,323.8128907824727 C422.73044656879534,322.4994599264925 424.7566308103271,321.405175633065 426.7191929341527,320.2200898837321 C428.79961117015284,318.96383716479636 430.90672787960847,317.75166091636845 432.9831274900061,316.4888753776667 C435.1556788093443,315.16761410675826 437.3372440034312,313.85758091561115 439.4660457233601,312.4679494549016 C441.6643386935416,311.0329557480557 443.8562866048836,309.5776239044921 445.9644115603372,308.0149998750004 C448.1180246815655,306.41865825172323 450.2482213424996,304.77002123722366 452.2512599534058,302.9910524965951 C454.28460793744125,301.18516494019764 456.27145441002494,299.2936604174188 458.0735713451622,297.26043098392233 C459.903663604085,295.1956385310548 461.6529186628551,293.0119660566302 463.14788753558594,290.6969868375031 C464.6801687172689,288.32422901079616 466.08084382051925,285.80545120199923 467.15532150840374,283.1972198464202 C468.27741173521537,280.47341185453797 469.1998463978183,277.5942590256126 469.73759127967423,274.7008687951193 C470.3135911166994,271.6016439443639 470.6135341201316,268.3680903825144 470.496555665047,265.21937460267407 C470.3679802330846,261.7585023315621 469.8953596666494,258.2180666969982 469.00092961853306,254.8721046422624 C467.99828032236366,251.12130657118269 466.2038548416392,247.576764052998 464.80531763218966,243.92909422522746 C462.09871001468025,245.31623488812704 459.39210180388244,246.70337585508776 456.68549388972883,248.0905166700179 C453.9788859755753,249.47765748494805 451.2722780614217,250.86479829987826 448.56567014726807,252.2519391148084 C445.85906223311446,253.63907992973856 443.15245431896085,255.0262207446687 440.44584640480724,256.41336155959885 C437.73923849065363,257.800502374529 435.0326302798559,259.1876433414898 432.3260226623465,260.5747840043893",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M381.75770764344463,335.1479178972971 C378.69799736342424,338.6775845797889 375.9403018996237,342.5392129099309 372.57857614837155,345.7369187003912 C370.2744100179066,347.9286636322393 367.5199780387658,349.72281447480674 364.7600319982934,351.31627006422235 C362.000085957821,352.9097256536379 359.06908976036596,354.3980582992864 356.0188999055372,355.29765223688463 C351.5687425815439,356.6101392427952 346.84562661576706,357.0675594052766 342.25899046182735,357.9525128947487 C342.4049150269798,360.86857171626986 342.5508396254517,363.78463120362443 342.6967642072639,366.7006903580623 C342.84268878907613,369.6167495125002 342.988613387548,372.53280899985475 343.1345379527005,375.44886782137587 C349.40234449541254,374.4695631318928 355.7672061278149,373.8958551158759 361.93795856884947,372.510953598556 C366.2603756758593,371.54087384455704 370.563618899918,370.15973995504436 374.61404659683353,368.3839240074193 C378.75180013378133,366.5698220734805 382.7590353667613,364.2654302577469 386.5025022704394,361.74119995386445 C388.93956002513437,360.09788502815513 391.1535926519183,358.0390832228753 393.1556205719529,355.881288318644 C395.7030419823582,353.13566580094846 397.8191072385195,349.9810609700931 400.15085026175905,347.0309476880839 C398.61808865688397,346.0406953864044 397.08532649204,345.05044272295277 395.55256460718044,344.0601902403872 C394.01980272232095,343.0699377578216 392.4870408374614,342.07968527525605 390.95427895260184,341.0894327926905 C389.42151706774234,340.0991803101249 387.8887551828828,339.10892782755934 386.35599329802324,338.1186753449938 C384.82323141316374,337.1284228624282 383.2904692483197,336.1381701989765 381.75770764344463,335.1479178972971",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M337.2610735347595,357.9525128947487 C332.67443738081977,357.0675594052766 327.95132141504286,356.6101392427952 323.50116409104965,355.29765223688463 C320.4509742362209,354.3980582992864 317.51997803876577,352.9097256536379 314.7600319982934,351.31627006422235 C312.000085957821,349.72281447480674 309.2456539786802,347.9286636322393 306.9414878482153,345.7369187003912 C303.5797620969631,342.5392129099309 300.8220666331626,338.6775845797889 297.7623563531422,335.1479178972971 C296.3317788739244,336.07215336680554 294.9012008347377,336.99638919808615 293.4706230755355,337.92062484848066 C292.04004531633325,338.8448604988752 290.60946727714656,339.76909633015583 289.17888979792883,340.6933317996643 C292.61440966051805,345.2312053267009 295.87060049951157,349.9192526536057 299.4854499893015,354.3069531780575 C302.08621237651874,357.4637558395787 304.7694702593626,360.6322484959764 307.8257254289503,363.32684135758313 C310.99948518540134,366.1250338872145 314.5216569961676,368.6755006750796 318.1754947674178,370.7853093517719 C320.55688125427287,372.1603758399608 323.2611825502517,373.0976291017459 325.9313982032661,373.7814668522267 C329.3311929757412,374.6521485916139 332.9008170928522,374.89306755082816 336.3855260438863,375.44886782137587 C336.53145060903876,372.53280899985475 336.6773752075107,369.6167495125002 336.8232997893229,366.7006903580623 C336.9692243711351,363.78463120362443 337.115148969607,360.86857171626986 337.2610735347595,357.9525128947487",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M295.26339788960826,330.81959487245206 C293.73647201568895,326.4049747004881 291.7710515137126,322.0859262078647 290.68261994097145,317.5757334114939 C289.93659621660765,314.4843945420475 289.7600319982934,311.20191105383157 289.7600319982934,308.0149998750004 C289.7600319982934,304.82808869616923 289.93659621660765,301.5456052079533 290.68261994097145,298.4542663385069 C291.7710515137126,293.9440735421361 293.73647201568895,289.6250250495127 295.26339788960826,285.21040487754874 L290.06671069443337,282.54709451288284 C288.1375644086868,287.43367431997893 285.9093767342464,292.2265103352701 284.27927146998877,297.20683486431113 C283.1307514754358,300.7158121226426 282.2171242034145,304.36344835138686 281.73083491800145,308.0149998750004 C281.2319936694172,311.76080422633805 281.12663397787287,315.6295961943379 281.32387986799677,319.39890248916464 C281.4523941310872,321.8547692275673 281.9975009009625,324.33200659648315 282.7081153776445,326.69051897468864 C283.6126060443143,329.69250177030074 285.0155021133757,332.5504319754631 286.16919529805216,335.4803880106174 C287.684895433334,334.7035893062871 289.20059616190423,333.9267902978956 290.71629659383024,333.1499914415347 C292.23199702575624,332.37319258517385 293.7476977543264,331.59639357678236 295.26339788960826,330.81959487245206",role:"node",style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M345.39636897078964,195.38221503483817 C348.55896739773874,195.382558132577 351.73104144069697,195.5527219798143 354.8841652516368,195.3832443281632 C357.8154120873408,195.2256923701965 360.7815297382695,195.0140850047169 363.64948091072114,194.40112620598472 C369.2743738430329,193.19893432492864 374.84799495054074,191.60261554931338 380.36269756592685,189.93779228879856 C383.2149630773656,189.0767271870542 385.96592524848944,187.8914036578941 388.75038529119587,186.8234611192073 C391.6267645154287,185.7202642035254 394.47501885281974,184.54393840851208 397.3452153667447,183.42437392569252 C400.3038172998536,182.27032554362535 403.2517042659147,181.08471035673182 406.23678063229755,180.00262252454718 C409.2999521455307,178.89222526312614 412.37286383166116,177.79099301742332 415.48995900559265,176.8469186448756 C418.67725000903727,175.88158406691048 421.89507695255986,174.96893876291142 425.149939164426,174.27439567300877 C428.4784608913324,173.56413464979687 431.8551530902404,172.95696699362577 435.24011082191026,172.63250630553193 C438.7226992137636,172.29868735843058 442.2618080827069,172.1282443574528 445.7525775349954,172.29955676742338 C449.392164356147,172.47817251336437 453.07812357712226,172.8892996184619 456.6311796422305,173.68229077326663 C460.40967405946606,174.52559653496604 464.1968517098352,175.67109603685032 467.74722898202685,177.2084475169358 C471.6093950004687,178.88080687189586 475.41287083883276,180.91124969405092 478.86880951413104,183.31142327840325 C482.70568947925653,185.97616325323224 486.39477219904,189.02891790313208 489.6256849032982,192.4031881944798 C493.2631091612153,196.2020072075536 496.1911087752302,200.68819045385453 499.4738204006569,204.83069119166782 C501.5685946966471,203.47734631304763 503.6633695526063,202.12400107265523 505.75814412858097,200.770656013149 C507.8529187045557,199.4173109536427 509.9476932805304,198.06396589413646 512.042467856505,196.71062083463016 C514.1372424324798,195.35727577512387 516.2320170084545,194.00393071561757 518.3267915844292,192.65058565611128 C520.4215661604038,191.29724059660504 522.5163407363785,189.94389553709874 524.6111153123533,188.59055047759244 C526.705889888328,187.2372054180862 528.8006644643026,185.8838603585799 530.8954390402773,184.5305152990736 C532.990213616252,183.17717023956732 535.0849881922268,181.82382518006108 537.1797627682014,180.47048012055478 C539.2745373441761,179.1171350610485 541.3693119201508,177.76379000154225 543.4640864961256,176.41044494203595 C545.5588610721002,175.05709988252966 547.6536359280594,173.70375464213726 549.7484102240496,172.35040976351706 C545.4526337599565,166.88830258118276 541.6075637824915,160.9961637882975 536.8610802135822,155.96408743048391 C532.6501323987985,151.49976966025963 527.8609045185797,147.44056410685585 522.8761160729706,143.86122737940343 C518.3992798831094,140.64662672543318 513.4814813238985,137.89212906398666 508.4762063071715,135.58227528621592 C503.89643477517785,133.46878451115356 499.01060462411704,131.84065276746674 494.1209764268088,130.5911937209042 C489.5494921370986,129.42303079081853 484.7983425895454,128.72901670587504 480.092868846116,128.32940935627153 C475.60536293340306,127.94831269270742 471.0427796103935,127.99456837708539 466.5420374583815,128.24908168140132 C462.1869559197273,128.49535799662476 457.82899937290154,129.09804387102452 453.52539777411744,129.83177821488948 C449.3274549737967,130.54749846349387 445.16524712408574,131.53985470476425 441.0374042610671,132.59744545880937 C437.00064353611833,133.6317001435616 433.0110859041544,134.86549995839243 429.03158701021516,136.10731453128153 C425.1428446680425,137.3208082498188 421.29445963898377,138.66457166345458 417.43268055273154,139.96337033308845 C413.66378587915267,141.23092999372784 409.9176672109035,142.56726364712586 406.1395657307219,143.8063895221013 C402.44657844533754,145.01760000050683 398.75357986820103,146.24056722493117 395.0194142560335,147.31437939323143 C391.33823979072156,148.3729532073139 387.6339398479396,149.38572854447455 383.8935454982835,150.20354746924954 C380.1327233999328,151.02583282133435 376.33217737744025,151.74016492879042 372.51576491201314,152.2346922238106 C368.54919690859106,152.74867653840346 364.5420392766035,153.09084389020688 360.54460409173595,153.22908229808866 C356.20754277495456,153.37906558076634 351.8563846353062,153.14259895970451 347.5122754070665,153.0993572954892 C347.4241126555481,154.86114270171208 347.3359498707101,156.6229287737683 347.2477871025319,158.3847145129078 C347.15962433435374,160.14650025204736 347.0714615661755,161.90828599118686 346.9832987979973,163.6700717303264 C346.8951360298191,165.43185746946597 346.8069732616409,167.19364320860552 346.7188104934627,168.95542894774508 C346.63064772528446,170.71721468688457 346.5424849571063,172.47900042602413 346.4543221889281,174.24078616516363 C346.36615942074985,176.00257190430318 346.2779966525717,177.76435764344274 346.18983388439347,179.5261433825823 C346.10167111621524,181.28792912172185 346.0135083480371,183.04971486086134 345.92534557985886,184.8115006000009 C345.83718281168063,186.57328633914045 345.74902004350247,188.33507207827995 345.66085727532425,190.0968578174195 C345.572694507146,191.85864355655906 345.48453172230813,193.62042962861528 345.39636897078964,195.38221503483817",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M508.9771587911764,221.29095612556745 C511.0193462214934,226.16563035999843 513.4286657982045,230.9191753034084 515.1037214685272,235.91497975119177 C516.5841389381975,240.3302814695703 517.6653601907517,244.93261429743671 518.4435782111552,249.5242746240532 C519.1357902384688,253.60848036086423 519.4550986874348,257.8000270530702 519.5150116116783,261.9425779414744 C519.5689450243801,265.67168830493677 519.2819988974145,269.4419311688918 518.7851172219915,273.13925837965286 C518.3303540407443,276.5231792760036 517.5741707328411,279.8949416928839 516.6600770416676,283.18632226280954 C515.8074475557569,286.25638843914373 514.830264050782,289.3370064434339 513.4849476907389,292.2235986184325 C510.97307142075226,297.6132323141641 508.17446789390993,302.9257768515505 505.0884991515781,308.0149998750004 C502.1242899430212,312.9034232551773 498.61293501404253,317.46165626468894 495.3344138380727,322.1565378293129 C492.01366165221054,326.911894705566 488.490287432968,331.53092211704984 485.290679066082,336.3657151976316 C481.82061657775625,341.60918007957645 478.4521487799982,346.9369331037461 475.3254012724374,352.3913117168928 C471.62369496870076,358.8486632127933 468.31201202197974,365.53104121621266 464.80531763218966,372.10090552477334 C466.4834142423207,372.9609326779994 468.1615114457401,373.82096013528667 469.83960835251537,374.6809874405434 C471.51770525929055,375.54101474580006 473.1958021660658,376.4010420510568 474.873899072841,377.26106935631344 C476.55199597961627,378.12109666157016 478.2300928863915,378.9811239668269 479.90818979316674,379.84115127208355 C481.586286699942,380.7011785773402 483.26438360671716,381.56120588259694 484.9424805134924,382.4212331878536 C486.62057742026764,383.2812604931103 488.2986743270429,384.141287798367 489.9767712338181,385.0013151036237 C491.65486814059335,385.8613424088804 493.3329650473686,386.7213697141371 495.0110619541438,387.58139701939376 C496.68915886091906,388.4414243246505 498.36725576769425,389.30145162990715 500.0453526744695,390.16147893516387 C501.7234495812447,391.02150624042054 503.4015467846641,391.8815336977078 505.0796433947952,392.7415608509339 C509.6968755713962,384.0495043403354 514.0710454930024,375.21847231121785 518.9313403937199,366.66539043600477 C523.0278455110863,359.456415592546 527.5022102099217,352.4552274667792 531.9500434490469,345.45539069491826 C534.017308059047,342.20200549446696 536.2763633787295,339.07174963764373 538.4766339410959,335.905724519068 C540.6277418558618,332.8104407810574 542.8358858572673,329.7548638209154 545.0041788804438,326.6714641251594 C547.15757667347,323.60924604444455 549.3422678678407,320.5678425422534 551.4417063897038,317.46887118965554 C553.5552894667346,314.34902112553374 555.6682679993846,311.2230889940541 557.6432436771256,308.0149998750004 C559.6579802413847,304.74232440744584 561.6337244633191,301.43206861434743 563.410843115704,298.0265774298308 C565.2503449185165,294.50154145939996 567.0041713356215,290.90771346846446 568.4931050427174,287.22341841015805 C570.0605878693555,283.3447573222667 571.4861243674375,279.37301526952416 572.5800927169056,275.3377089912374 C573.7536850015083,271.00869497862135 574.7209699850321,266.57665735826635 575.2957869449298,262.1304575374496 C575.9242163157969,257.2695665911506 576.2789457458696,252.3156013783618 576.1898317092,247.41643668989002 C576.0907947905995,241.9717481470301 575.6540360129541,236.46503677243527 574.7313340791195,231.09889784345455 C573.6937361397186,225.0645605443982 572.2618103312825,219.01773394592567 570.3089320894935,213.21500800577883 C568.0990998188157,206.64877629402156 564.9317789286742,200.39968561971511 562.2432025417193,193.9920248877421 C560.0237843487574,195.12948020395424 557.8043655625073,196.26693582422752 555.5849470729013,197.40439129247028 C553.3655285832954,198.54184676071299 551.1461100936895,199.67930222895575 548.9266916040835,200.81675769719845 C546.7072731144775,201.95421316544116 544.4878546248716,203.09166863368387 542.2684361352657,204.22912410192657 C540.0490176456597,205.36657957016934 537.8295991560537,206.50403503841204 535.6101806664478,207.64149050665475 C533.3907621768419,208.7789459748975 531.1713436872359,209.91640144314022 528.95192519763,211.05385691138292 C526.732506708024,212.19131237962563 524.513088218418,213.3287678478684 522.2936697288121,214.4662233161111 C520.0742512392062,215.6036787843538 517.8548327496002,216.74113425259657 515.6354142599943,217.87858972083927 C513.4159957703882,219.01604518908198 511.1965769841381,220.1535008093553 508.9771587911764,221.29095612556745",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M457.78269713247755,384.2644410325494 C455.3835694560932,387.3461771193201 453.2256678029834,390.6533612199639 450.58531348902955,393.50965008193776 C448.24620298496797,396.0400586882252 445.60014229079735,398.3558265809363 442.8443026784311,400.4245334373333 C440.37796310255766,402.275923325162 437.6761975910698,403.88782260163515 434.91877592431047,405.2699403146149 C432.4102899061693,406.5272826356063 429.7347408168967,407.5340120732054 427.0465796237294,408.34291353924687 C424.5516501853265,409.09366914330946 421.95327371270594,409.5992556958844 419.36950402959974,409.948911524927 C416.92360630540907,410.27990944710916 414.42122824397575,410.5124827683465 411.95757740183865,410.3848747929211 C407.2886305109126,410.14304066207364 402.58286888050054,409.64433224232687 397.9717108304102,408.8405852061084 C393.56188426582196,408.07193121658497 389.2479183944508,406.748399891424 384.89462355780284,405.6676717156956 C380.6684359884157,404.6184985828079 376.49458555147123,403.3239228846492 372.23326361230494,402.4508812802601 C367.92498778447526,401.568219961877 363.5630436757844,400.7486724769052 359.185830256815,400.4005629473789 C354.2769214377175,400.0101689281844 349.31187435102856,400.29043473480715 344.3748968981042,400.23537063409765 C344.51474127234786,403.0299269908505 344.65458567991095,405.82448401343686 344.79443007081426,408.6190407031065 C344.9342744617176,411.4135973927761 345.074118852621,414.20815408244573 345.21396324352435,417.00271077211534 C345.3538076344277,419.79726746178494 345.4936520253311,422.59182415145455 345.63349641623444,425.38638084112415 C345.7733408071378,428.1809375307938 345.9131852147009,430.97549455338014 346.0530295889445,433.770050910133 C352.7680616818576,433.76329065067074 359.50701025759844,433.3666216031955 366.1981268676833,433.7497701307394 C372.0710059953187,434.0860645224417 377.9375098201236,434.9556419541974 383.7450168021053,435.9283796678716 C389.38214451386085,436.8725794319072 394.93909701720673,438.29719363783204 400.532030948895,439.5005825638686 C403.36012800841314,440.1090826328393 406.173294263215,440.7895171835512 409.0081097757245,441.36404665289336 C411.88919728941346,441.94795402642916 414.7751562189011,442.5298306888758 417.6797400274905,442.97589309250236 C420.64830493330453,443.43178119367985 423.6343645262575,443.84459431095274 426.62755591893483,444.0698981673056 C429.71131274408947,444.3020190755982 432.82187837889313,444.4442522684433 435.91058468098635,444.34816738643894 C439.13195019412495,444.24795568129457 442.3802868898266,444.0050455685966 445.55777136463024,443.4810084058596 C448.92782475117724,442.92521238892795 452.3093833143293,442.17102469040515 455.55319826503813,441.108667847433 C459.061783033746,439.9595982812514 462.54665627251995,438.560707997751 465.81497052288046,436.8467291783983 C469.41833863499835,434.9570404430449 472.9441888109333,432.77872749813207 476.1682453524732,430.2976651833146 C479.77713583990135,427.52045514642595 483.24169929833863,424.4332855726381 486.31381160978447,421.07191212327984 C489.78401480651223,417.2749647115918 492.63473199195664,412.9057721776162 495.795191876994,408.8227026001756 C494.21133820929026,407.7994418824106 492.6274839816176,406.7761808028734 491.0436300339294,405.7529199042223 C489.4597760862413,404.7296590055712 487.87592213855305,403.7063981069201 486.2920681908649,402.68313720826905 C484.7082142431767,401.65987630961797 483.1243602954885,400.63661541096684 481.5405063478003,399.61335451231577 C479.95665240011215,398.5900936136647 478.3727984524239,397.56683271501356 476.78894450473575,396.5435718163625 C475.2050905570476,395.5203109177114 473.62123660935936,394.49705001906034 472.03738266167124,393.47378912040926 C470.453528713983,392.45052822175813 468.86967476629485,391.42726732310706 467.2858208186067,390.40400642445593 C465.70196687091845,389.38074552580485 464.1181129232303,388.3574846271538 462.5342589755421,387.3342237285027 C460.9504050278539,386.3109628298516 459.36655080018124,385.2877017503144 457.78269713247755,384.2644410325494",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M335.1451670984826,400.23537063409765 C332.59674183260694,399.92963647695206 330.0167368211909,399.78880742064456 327.49989030797536,399.31816804354526 C325.27767414456457,398.90262326342616 323.01935404686003,398.4219945964808 320.9279790686037,397.5768181624424 C317.41898697334966,396.1587475357162 313.87078926978927,394.5709166905174 310.6987890874443,392.52842686125155 C308.0747665981607,390.8387865907505 305.7177237719725,388.62940414215745 303.5399110537181,386.3804278631416 C301.5970188541777,384.37404851159044 299.8790814339724,382.10402385947447 298.3366743340598,379.76235996955063 C291.41344582504644,369.2515977964727 284.87422741784655,358.4695528241973 278.14300422694015,347.8231496741364 C275.4862172398348,349.5395871296973 272.8294296927604,351.25602494703037 270.1726424256706,352.97246258347735 C267.51585515858073,354.68890021992434 264.85906761150636,356.4053380372574 262.202280624401,358.1217754928183 C266.70484419581715,365.9594145865043 271.4486980083722,373.67412286672175 275.7099718367814,381.6346936409775 C277.5212074114054,385.0182990043593 278.8307132779025,388.656467726021 280.4198088335004,392.15430390573096 C281.9933853998663,395.6179804769663 283.40670201447824,399.17015596442957 285.19798820267295,402.51923189381324 C287.0636906609173,406.007440107262 288.9651564529579,409.56309789823155 291.3907747728175,412.6661563342283 C294.0732143560419,416.0977624981601 297.2666838056424,419.22278678283385 300.52216191192497,422.1232256935988 C302.36411840094695,423.7643002449482 304.53068871950217,425.07471531568274 306.68307855873104,426.29069672057113 C309.07264061099676,427.64066732925187 311.57878520924925,428.8569658036421 314.14801758640874,429.82108173430606 C317.03547954715845,430.9046147382856 320.0317282081762,431.8160371870378 323.0531615724587,432.43364352450175 C326.47140048192074,433.1323602456468 329.9957437932031,433.32458182401786 333.4670344076423,433.770050910133 C333.60687878188594,430.97549455338014 333.746723189449,428.1809375307938 333.88656758035233,425.38638084112415 C334.0264119712557,422.59182415145455 334.16625636215906,419.79726746178494 334.3061007530624,417.00271077211534 C334.4459451439658,414.20815408244573 334.58578953486915,411.4135973927761 334.7256339257725,408.6190407031065 C334.8654783166759,405.82448401343686 335.00532272423897,403.0299269908505 335.1451670984826,400.23537063409765",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M274.47664910890865,341.4728363311157 C273.0979776123658,337.8948650698314 271.3863856881263,334.40736501891 270.34063425972664,330.7389216141385 C269.51930672219726,327.85774592899725 268.91338001676746,324.81318006030517 268.87541221112133,321.82397906137743 C268.8171695305963,317.23853948059246 269.21678268898467,312.5353405771173 270.0520028012131,308.0149998750004 C270.85866691231354,303.64920867701875 272.2828688291466,299.35415063432816 273.801064881108,295.1655833610817 C275.92303726303464,289.3112511342339 278.5820271567302,283.64606172896816 280.97250810287727,277.8863013747175 C279.02375070133087,276.8875601399984 277.0749927064961,275.88881860121813 275.1262350083055,274.8900772144684 C273.1774773101149,273.8913358277187 271.22871931528016,272.89259428893837 269.2799619137337,271.8938530542193 C266.1897205477511,278.75550435827995 262.9411098572416,285.5508903160482 260.00923740514526,292.4788078781985 C257.8456587662067,297.5912725896419 255.79237617325504,302.7700466677644 253.9936086406292,308.0149998750004 C253.10378987328903,310.6095862865121 252.38950870104523,313.29618994881736 251.94347850524724,315.9974267344417 C251.43932668722525,319.05065821789293 251.0531197626009,322.19140893269736 251.14306259916924,325.27840468222723 C251.25287165282583,329.0472438119585 251.59744190648803,332.91977221356865 252.54273417592202,336.564931372225 C253.74555961496168,341.20316899158615 255.90585532456623,345.60737411401914 257.5874157245902,350.1285950162798 C260.4022876586657,348.6859687207831 263.2171601860297,347.24334212122506 266.0320324167494,345.8007156736977 C268.84690464746916,344.35808922617036 271.6617771748331,342.9154626266124 274.47664910890865,341.4728363311157",role:"node",style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M347.5122754070665,153.0993572954892 C351.8018369342646,153.5488240936553 356.12520077782114,153.78567583793148 360.38096098321597,154.44775779419842 C364.13700960075704,155.03209805222878 367.9218147835351,155.71071388339715 371.54770187587417,156.83862393838103 C377.61362418797296,158.7255593542751 383.70369596754745,160.81851213587038 389.45638919652947,163.4922942068323 C394.15386787345597,165.67562534672606 398.6132073360979,168.48671359324527 402.8982175935998,171.40996357094815 C406.68279143303624,173.99181395797552 410.33112914820236,176.85987120924187 413.6651414873445,180.00759530102312 C420.5265646035822,186.48563576695722 427.07871949126627,193.34540777984319 433.48452395973925,200.28725724409423 C437.4745860352889,204.6112122473736 441.2577555032914,209.14770215582786 444.8527411194125,213.80500870361436 C449.35714656087083,219.6404693136136 453.47271198954115,225.7787089833622 457.78269713247755,231.76555871745137 C459.5198269886672,230.64327275142983 461.2569574048258,229.5209864236361 462.994087541,228.39870027672845 C464.73121767717413,227.2764141298208 466.46834781334826,226.1541279829131 468.2054779495224,225.03184183600547 C469.9426080856965,223.90955568909783 471.67973822187065,222.7872695421902 473.4168683580448,221.66498339528255 C475.15399849421897,220.5426972483749 476.89112863039304,219.42041110146727 478.6282587665672,218.29812495455963 C480.36538890274136,217.17583880765199 482.1025190389155,216.05355266074434 483.8396491750897,214.93126651383665 C485.57677931126375,213.808980366929 487.31390944743794,212.68669422002137 489.051039583612,211.56440807311373 C490.7881697197862,210.44212192620608 492.5252998559603,209.31983577929844 494.26242999213446,208.1975496323908 C495.9995601283086,207.0752634854831 497.7366905444672,205.95297715768942 499.4738204006569,204.83069119166782 C493.5396410513108,196.8201800113456 487.9670605990374,188.5107238515168 481.67128175736093,180.79915684716633 C476.6805730606518,174.68614279732424 471.1654482069272,168.97309227137214 465.61435778550003,163.3569480290903 C461.0127424622827,158.7014058849868 456.16243355353845,154.26909922174855 451.21316452342757,149.98409768801037 C446.75357069989536,146.1230494690866 442.1561157877005,142.3875500498374 437.3877692245708,138.9187987711045 C432.5738974032854,135.41692997556538 427.6300372881253,132.02541781033585 422.4665093701823,129.0722374651943 C416.63243615426313,125.73555165131523 410.62561935032807,122.55309946749458 404.3949658229843,120.04920029404263 C396.76965092696935,116.98483159152192 388.8264419444978,114.55955370805236 380.89860410010607,112.36743383727651 C376.1648973453876,111.05852050641363 371.27524228178436,110.24431347333723 366.4103320256538,109.54610068912632 C360.90040972346753,108.75531566147919 355.3195146269407,108.44899379803041 349.77410642515565,107.90044040170244 C349.6798634827283,109.78372827269351 349.5856205069815,111.66701680951797 349.4913775478945,113.55030501342577 C349.39713458880743,115.43359321733351 349.3028916297204,117.3168814212413 349.20864867063335,119.2001696251491 C349.1144057115463,121.0834578290569 349.02016275245927,122.96674603296469 348.9259197933722,124.85003423687249 C348.8316768342852,126.73332244078028 348.7374338751981,128.61661064468802 348.64319091611105,130.49989884859582 C348.54894795702404,132.38318705250356 348.454704997937,134.26647525641135 348.36046203884996,136.14976346031915 C348.2662190797629,138.03305166422695 348.1719761206758,139.91633986813474 348.0777331615888,141.79962807204254 C347.98349020250174,143.68291627595033 347.88924724341473,145.56620447985807 347.79500428432766,147.44949268376587 C347.7007613252406,149.3327808876736 347.60651834949385,151.21606942449813 347.5122754070665,153.0993572954892",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M464.80531763218966,243.92909422522746 C466.31505021364137,247.531041343501 468.0953779289689,251.04360021509365 469.33451576310557,254.73493650231188 C470.42963671096084,257.99725291485794 471.2304595669088,261.3974580683331 471.8080939781654,264.79005232452033 C472.3218504155098,267.8074749441705 472.5608164120681,270.9041203510052 472.6086883089086,273.9649871298242 C472.6517764788098,276.7199886341524 472.61325961563574,279.5399292943665 472.0809741783904,282.2376571739619 C471.14163023613196,286.9984380712834 469.95590471916734,291.8245448703909 468.19380017039714,296.3405134605747 C466.6031819000109,300.4169924374038 464.29178204794204,304.2516426995608 462.02280572092116,308.0149998750004 C459.84312178993565,311.6302553821546 457.2597945083436,315.00334031664556 454.84781939637793,318.476351508356 C452.40309621085555,321.9965167628946 449.6800483615629,325.3374314599607 447.452710828457,328.99452921374746 C442.1727827835524,337.66371953904587 437.3682518856184,346.63498719104155 432.3260226623465,355.4552157456115 C435.0326302798559,356.842356408511 437.73923849065363,358.2294973754718 440.44584640480724,359.61663819040194 C443.15245431896085,361.0037790053321 445.85906223311446,362.3909198202623 448.56567014726807,363.77806063519245 C451.2722780614217,365.1652014501226 453.9788859755753,366.55234226505274 456.68549388972883,367.9394830799829 C459.39210180388244,369.32662389491304 462.09871001468025,370.71376486187376 464.80531763218966,372.10090552477334 C468.31201202197974,365.53104121621266 471.62369496870076,358.8486632127933 475.3254012724374,352.3913117168928 C478.4521487799982,346.9369331037461 481.82061657775625,341.60918007957645 485.290679066082,336.3657151976316 C488.490287432968,331.53092211704984 492.01366165221054,326.911894705566 495.3344138380727,322.1565378293129 C498.61293501404253,317.46165626468894 502.1242899430212,312.9034232551773 505.0884991515781,308.0149998750004 C508.17446789390993,302.9257768515505 510.97307142075226,297.6132323141641 513.4849476907389,292.2235986184325 C514.830264050782,289.3370064434339 515.8074475557569,286.25638843914373 516.6600770416676,283.18632226280954 C517.5741707328411,279.8949416928839 518.3303540407443,276.5231792760036 518.7851172219915,273.13925837965286 C519.2819988974145,269.4419311688918 519.5689450243801,265.67168830493677 519.5150116116783,261.9425779414744 C519.4550986874348,257.8000270530702 519.1357902384688,253.60848036086423 518.4435782111552,249.5242746240532 C517.6653601907517,244.93261429743671 516.5841389381975,240.3302814695703 515.1037214685272,235.91497975119177 C513.4286657982045,230.9191753034084 511.0193462214934,226.16563035999843 508.9771587911764,221.29095612556745 C507.13666570619614,222.23421172768934 505.29617202792747,223.17746763387242 503.455678646303,224.12072338802494 C501.6151852646786,225.06397914217746 499.7746918830542,226.00723489632992 497.9341985014297,226.95049065048244 C496.09370511980524,227.89374640463495 494.2532117381808,228.8370021587874 492.4127183565564,229.78025791293993 C490.57222497493194,230.72351366709245 488.7317315933075,231.66676942124496 486.891238211683,232.61002517539748 C485.05074483005853,233.55328092954994 483.2102514484341,234.49653668370246 481.36975806680965,235.43979243785498 C479.52926468518524,236.3830481920075 477.68877130356077,237.32630394615995 475.8482779219363,238.26955970031247 C474.0077845403119,239.212815454465 472.1672911586875,240.1560712086175 470.326797777063,241.09932696276996 C468.48630439543854,242.04258271692248 466.6458107171699,242.98583862310556 464.80531763218966,243.92909422522746",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M427.1274594352868,364.459391381238 C425.34900926800384,366.73876902234724 423.7511043323974,369.1876486339733 421.79210831829096,371.29752509297805 C420.05611026230065,373.16722845369816 418.08997573210564,374.8759470598343 416.0424772249966,376.39813084041253 C414.2087326398168,377.76140229364796 412.1986789016632,378.9443350793779 410.1483790414244,379.95389079441895 C408.2809181580353,380.8734176616849 406.32009781162924,381.75465451642305 404.28919499411313,382.18537858733356 C400.6215860928697,382.96322350577395 396.79835631975857,383.56133861525666 393.05284388514576,383.5795977624718 C389.58303921409606,383.59651285096834 386.07188143555646,382.9373930998552 382.6432436771255,382.29090129446865 C379.36496767510283,381.67276116989837 376.16437323767207,380.6388572784326 372.932102603785,379.7857019726012 C369.80655176295375,378.9607152726805 366.72361848290547,377.94903813559546 363.56977925297065,377.2564752772123 C360.4048812842359,376.56148399074664 357.19788534907383,375.90804233828675 353.9758910077763,375.6230395380548 C350.3861382489838,375.3055065196746 346.74832197110214,375.5069250549144 343.1345379527005,375.44886782137587 C343.2379011814911,377.5144093895193 343.3412644436011,379.5799516234962 343.44462768905146,381.6454935245563 C343.54799093450174,383.7110354256165 343.6513541799521,385.7765773266766 343.75471742540236,387.84211922773676 C343.8580806708527,389.9076611287969 343.961443916303,391.9732030298571 344.06480716175327,394.03874493091723 C344.1681704072036,396.10428683197733 344.2715336693136,398.1698290659542 344.3748968981042,400.23537063409765 C349.31187435102856,400.29043473480715 354.2769214377175,400.01016892818444 359.185830256815,400.40056294737894 C363.5630436757844,400.74867247690526 367.92498778447526,401.568219961877 372.23326361230494,402.4508812802601 C376.49458555147123,403.3239228846492 380.6684359884157,404.6184985828079 384.89462355780284,405.6676717156956 C389.2479183944508,406.748399891424 393.56188426582196,408.07193121658497 397.9717108304102,408.8405852061084 C402.58286888050054,409.64433224232687 407.2886305109126,410.14304066207364 411.95757740183865,410.3848747929211 C414.42122824397575,410.5124827683465 416.92360630540907,410.27990944710916 419.36950402959974,409.948911524927 C421.95327371270594,409.5992556958844 424.5516501853265,409.09366914330946 427.0465796237294,408.34291353924687 C429.7347408168967,407.5340120732054 432.4102899061693,406.5272826356063 434.91877592431047,405.2699403146149 C437.6761975910698,403.88782260163515 440.37796310255766,402.275923325162 442.8443026784311,400.4245334373333 C445.60014229079735,398.3558265809363 448.24620298496797,396.0400586882252 450.58531348902955,393.50965008193776 C453.2256678029834,390.6533612199639 455.3835694560932,387.3461771193201 457.78269713247755,384.2644410325494 C455.2280942710295,382.6140204091596 452.67349084961245,380.9635994239975 450.11888770817984,379.31317861972155 C447.56428456674735,377.6627578154456 445.00968142531474,376.0123370111696 442.4550782838822,374.3619162068937 C439.90047514244964,372.71149540261774 437.3458720010171,371.06107459834175 434.79126885958453,369.41065379406587 C432.236665718152,367.76023298978987 429.68206229673495,366.1098120046278 427.1274594352868,364.459391381238",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M336.3855260438863,375.44886782137587 C332.9008170928522,374.89306755082816 329.3311929757412,374.6521485916139 325.9313982032661,373.7814668522267 C323.2611825502517,373.0976291017459 320.55688125427287,372.1603758399608 318.1754947674178,370.7853093517719 C314.5216569961676,368.6755006750796 310.99948518540134,366.1250338872145 307.8257254289503,363.32684135758313 C304.7694702593626,360.6322484959764 302.08621237651874,357.4637558395787 299.4854499893015,354.3069531780575 C295.87060049951157,349.9192526536057 292.61440966051805,345.2312053267009 289.17888979792883,340.6933317996643 C287.33957581608183,341.8816345978569 285.5002612742659,343.06993775782166 283.66094701243446,344.25824073690035 C281.82163275060304,345.44654371597903 279.9823182087871,346.63484687594377 278.14300422694015,347.8231496741364 C284.87422741784655,358.4695528241973 291.41344582504644,369.2515977964727 298.3366743340598,379.76235996955063 C299.8790814339724,382.10402385947447 301.59701885417763,384.37404851159044 303.539911053718,386.3804278631416 C305.7177237719725,388.62940414215745 308.0747665981607,390.8387865907505 310.6987890874443,392.52842686125155 C313.87078926978927,394.5709166905174 317.41898697334966,396.1587475357162 320.9279790686037,397.5768181624424 C323.01935404686003,398.4219945964808 325.27767414456457,398.90262326342616 327.49989030797536,399.31816804354526 C330.0167368211909,399.7888074206446 332.59674183260694,399.9296364769521 335.1451670984826,400.23537063409765 C335.24853032727316,398.1698290659542 335.3518935893832,396.10428683197733 335.4552568348335,394.03874493091723 C335.55862008028384,391.9732030298571 335.6619833257341,389.9076611287969 335.7653465711844,387.84211922773676 C335.86870981663475,385.7765773266766 335.97207306208503,383.7110354256165 336.07543630753537,381.6454935245563 C336.17879955298565,379.5799516234962 336.2821628150957,377.5144093895193 336.3855260438863,375.44886782137587",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"path",d:"M286.16919529805216,335.4803880106174 C285.0155021133757,332.5504319754631 283.6126060443143,329.69250177030074 282.7081153776445,326.69051897468864 C281.9975009009625,324.33200659648315 281.4523941310872,321.8547692275673 281.32387986799677,319.39890248916464 C281.12663397787287,315.6295961943379 281.2319936694172,311.76080422633805 281.73083491800145,308.0149998750004 C282.2171242034145,304.36344835138686 283.1307514754358,300.7158121226426 284.27927146998877,297.20683486431113 C285.9093767342464,292.2265103352701 288.1375644086868,287.43367431997893 290.06671069443337,282.54709451288284 C288.5510105591515,281.77029580855253 287.03530983058135,280.9934968001611 285.51960939865535,280.21669794380017 C284.0039089667293,279.4398990874393 282.48820823815913,278.6631000790478 280.97250810287727,277.8863013747175 C278.5820271567302,283.64606172896816 275.92303726303464,289.3112511342339 273.801064881108,295.1655833610817 C272.2828688291466,299.35415063432816 270.85866691231354,303.64920867701875 270.0520028012131,308.0149998750004 C269.21678268898467,312.5353405771173 268.8171695305963,317.23853948059246 268.87541221112133,321.82397906137743 C268.91338001676746,324.81318006030517 269.51930672219726,327.85774592899725 270.34063425972664,330.7389216141385 C271.3863856881263,334.40736501891 273.0979776123658,337.8948650698314 274.47664910890865,341.4728363311157 C276.42540651045505,340.4740950963965 278.37416450528985,339.47535355761624 280.3229222034804,338.47661217086653 C282.271679901671,337.4778707841168 284.2204378965058,336.4791292453365 286.16919529805216,335.4803880106174",role:"node",style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:.8,mixBlendMode:"normal"}},{kind:"rect",x:659.7000339982667,y:8.389921756510489,w:10,h:10,rx:0,ry:0,style:{fill:"#4190c5",stroke:"#4190c5",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:16.38992175651049,text:"Salmon",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:26.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#f2cf57",stroke:"#f2cf57",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:34.38992175651049,text:"Perch",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:44.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#a181c8",stroke:"#a181c8",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:52.38992175651049,text:"Bass",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:62.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#ff9666",stroke:"#ff9666",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:70.38992175651049,text:"Catfish",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}},{kind:"rect",x:659.7000339982667,y:80.38992175651049,w:10,h:10,rx:0,ry:0,style:{fill:"#43b780",stroke:"#43b780",strokeWidth:0,opacity:1},role:"node"},{kind:"text",x:674.7000339982667,y:88.38992175651049,text:"Trout",fontSize:10,fontFamily:"system-ui, sans-serif",textAnchor:"start",dominantBaseline:"auto",role:"node",style:{fill:"gray",strokeWidth:0}}]}},{key:"treemap",label:"Fare circle treemap",source:"https://gofish.graphics/js/examples/titanic-fare-circle-treemap.html",blurb:"GoFish's titanic fare circle treemap, verbatim: faceted by passenger class (facet by pclass, dir x), then a squarify-circle treemap per facet sizing each passenger by fare (sort desc, so fares run large→small) and colouring by survival. Three blocks — big first-class circles, then a field of tiny third-class ones. Every circle is a data node carrying its passenger; the facet labels/legend are chrome.",doc:G},{key:"bottle",label:"Bottle fill pictorial",source:"https://gofish.graphics/js/examples/bottle-fill-chart.html",blurb:"GoFish's real bottle-fill technique: a fill rect sized by amount is color-composited *inside* the bottle silhouette via paint({ blendMode: 'color' }), so the liquid reads as rising within the bottle (not a bar behind a picture). Bakes to a composite item; the adapter harvests the composite's datum so each bottle keeps hit-testing and tooltips.",doc:Y},{key:"python",label:"Python memory diagram",source:"https://gofish.graphics/js/examples/python-tutor-memory-diagram.html",blurb:"A Python Tutor runtime memory diagram: a Global Frame of variables (c, d → pointers; x = 5) whose arrows fan into a heap of tuples, with tuple cells pointing on to further tuples. NOTE: GoFish's own example is not a portable spec — it relies on ~250 lines of unpublished story helpers (globalFrame/heap/tuple/Arrow). This is a best-effort reconstruction from GoFish primitives only (rect/text/Arrow/ref + .name()). It is also vertically flipped vs the live example: a free-space Layer baked through toDisplayList orients y-down differently than .render() (GoFish issue #143/#16). See gofish-displaylist-findings.md §6.",doc:J}],X=[{name:"Classic",tapioca:95,tea:470,ice:60},{name:"Extra Boba",tapioca:240,tea:360,ice:45},{name:"Light Ice",tapioca:95,tea:500,ice:12},{name:"Mega",tapioca:150,tea:660,ice:120}],ee="#111111",te=function(){const e=.62,t=710,r=1180/X.length,s=[];return X.forEach((o,i)=>{const a=r*(i+.5),l=o.tapioca*e,n=o.tea*e,c=o.ice*e,d=l+n+c+70,f=t-d,u=e=>(150+e/d*70)/2,y=(e,r,s)=>{const o=u(e),i=u(r);return{kind:"path",d:`M ${a-o} ${t-e} L ${a+o} ${t-e} L ${a+i} ${t-r} L ${a-i} ${t-r} Z`,style:{fill:s}}};s.push({...y(l,l+n,"#cda86a"),datum:[{name:o.name,component:"tea",volume:o.tea}],role:"node",id:o.name+"-tea"}),s.push({...y(l+n,l+n+c,"#dcebf1"),datum:[{name:o.name,component:"ice",volume:o.ice}],role:"node",id:o.name+"-ice"});const p=13,h=Math.max(1,Math.round(l/26));for(let e=0;h>e;e++){const r=t-(e*p*2+p),o=u(e*p*2+p)-6,i=Math.max(1,Math.floor(2*o/26)),l=i*p*2;for(let e=0;i>e;e++)s.push({kind:"ellipse",cx:a-l/2+p+e*p*2,cy:r,rx:p,ry:p,style:{fill:"#241a12"},role:"overlay"})}s.push({kind:"rect",x:a-u(0),y:t-l,w:2*u(0),h:l,style:{fill:"rgba(0,0,0,0)"},datum:[{name:o.name,component:"tapioca",volume:o.tapioca}],role:"node",id:o.name+"-tapioca"});const m=Math.max(1,Math.round(c/34));for(let e=0;m>e;e++){const r=t-(l+n)-40*e*.78-20,o=u(l+n+40*e)-10,i=Math.max(1,Math.floor(2*o/40)),c=40*i;for(let e=0;i>e;e++)s.push({kind:"rect",x:a-c/2+4+40*e,y:r-20,w:33,h:33,rx:6,ry:6,style:{fill:"#cfe6ee",stroke:"#bcd9e3",strokeWidth:1},role:"overlay"})}const k=u(0),v=u(d);s.push({kind:"path",d:`M ${a-k} 710 L ${a+k} 710 L ${a+v} ${f} L ${a-v} ${f} Z`,style:{fill:"none",stroke:ee,strokeWidth:4},role:"overlay"}),s.push({kind:"rect",x:a-v-10,y:f-4,w:2*(v+10),h:8,style:{fill:ee},role:"overlay"});const x=a+22,C=a-14,b=f-64;s.push({kind:"path",d:`M ${x-13} ${b} L ${x+13} ${b} L ${C+13} 686 L ${C-13} 686 Z`,style:{fill:"#5b86b8",opacity:.85},role:"overlay"}),s.push({kind:"text",x:a,y:750,text:o.name,fontSize:26,fontFamily:"system-ui, sans-serif",textAnchor:"middle",style:{fill:"#444444"},role:"overlay"})}),{irVersion:0,ir:"gofish-display-list",viewport:{w:1180,h:820},items:s}}(),re=U,se=G,oe=Y,ie=te,ae=J,le=K.map(e=>({key:e.key,label:e.label,doc:e.doc,blurb:e.blurb,source:e.source})),ne={key:"boba",label:"Boba volume cups (hand-written)",doc:te,blurb:"A pictorial bubble-tea chart written by hand — no gofish-graphics, no GoFish layout solve. Trapezoid cup outlines, lid bars, tilted straws, packed tapioca pearls, tan tea, and ice cubes are all computed in plain arithmetic and emitted as path/ellipse/rect/text items, proving the render IR is an open format any host can produce and still get Semiotic's hit-testing, tooltips, SSR, and a11y. The three volume bands per drink are data nodes; the cup, straw, pearls, and labels are chrome.",source:"https://observablehq.com/@kristw/boba-science",handWritten:!0},ce=le.findIndex(e=>"bottle"===e.key),de=[...le.slice(0,ce+1),ne,...le.slice(ce+1)],fe={info:"#2563eb",warning:"#d97706",error:"#dc2626"};function ue(e){if("string"==typeof e)return e;try{return JSON.stringify(e,null,2)??e+""}catch{return e+""}}function ye(e,t){return null==t?e.findings:e.findings.slice(0,Math.max(0,t))}function pe(...e){for(const t of e){const e=t?.trim();if(e)return e}return"Review this finding."}function he(e){return pe(e.remediation,e.explanation,e.evidence,e.condition)}function me(e){return pe(e.name,e.ruleId)}function ke(e,t){return e.domain?`${t} · ${e.domain}`:t}function ve(e,t){return t[e]??t.info??fe.info}function xe(e,t){return`${function(e){return pe(e.ruleId,e.name)}(e)}:${t}`}function Ce(e,t={},r=0,s={kind:"image",findings:[e]}){const o=t.sourcePrefix??"datapitfalls";return{id:xe(e,r),level:(i=e.severity,"error"===i?"error":"warning"===i?"warning":"info"===i?"info":"neutral"),title:me(e),message:t.message?t.message(e,r,s):he(e),source:ke(e,o),...void 0===t.dismissible?{}:{dismissible:t.dismissible}};var i}function be(e,t={}){return ye(e,t.max).map((r,s)=>Ce(r,t,s,e))}function ge(e,t={}){return{notifications:be(e,t),meta:{count:e.findings.length,kind:e.kind}}}function We(e,t={},r=0,s={kind:"image",findings:[e]}){const o={...fe,...t.palette},i=t.anchorFor?.(e,r,s);return{...i??{},type:t.type??"label",title:me(e),label:he(e),wrap:t.wrap??240,color:ve(e.severity,o),className:(a=e.severity,"pitfall-"+(a+"").toLowerCase().replace(/[^a-z0-9_-]/g,"-")),emphasis:"error"===e.severity?"primary":"secondary",provenance:{author:"datapitfalls",authorKind:"watcher",source:"computed",basis:"llm-inference",stableId:e.ruleId},dataPitfall:{ruleId:e.ruleId,domain:e.domain,severity:e.severity,evidence:e.evidence??""}};var a}function Ae(e,t={}){return ye(e,t.max).map((r,s)=>We(r,t,s,e))}function we(e,t={}){return{annotations:Ae(e,t),meta:{count:e.findings.length,kind:e.kind}}}function Se(e,t,r){return{role:e,artifact:{kind:"text",content:t,...r?{filename:r}:{}}}}function Be(e,t,r,s){return{role:e,artifact:{kind:"code",content:t,language:r,...s?{filename:s}:{}}}}function Le(i,a,n={}){const c=[],d=!1!==n.includeConfig,f=!1!==n.includeJSX,u=!1!==n.includeGrounding,y=!1!==n.includeDiagnostics,p=!1!==n.includeAccessibility,h=n.filenamePrefix??i,m=l(i,a,n.config);n.context?.trim()&&c.push(Se("Analysis context",n.context.trim(),h+".context.md")),d&&c.push(Be("Semiotic chart config",ue(m),"json",h+".semiotic-config.json")),f&&c.push(Be("Semiotic chart JSX",o(m),"jsx",h+".semiotic.jsx"));var k;const v=(x=(k=n.rendered?.image,null==k?[]:Array.isArray(k)?k:[k])).length>0?{role:"Rendered chart image",artifact:{kind:"image",images:x}}:null;var x;let C,b,g;return v&&c.push(v),n.rendered?.svg?.trim()&&c.push(Be("Rendered chart SVG",n.rendered.svg.trim(),"svg",h+".rendered.svg")),null!=n.rendered?.evidence&&c.push(Se("Semiotic render evidence",[i+": Semiotic render evidence","\n```json",ue(n.rendered.evidence),"```"].join("\n"),h+".render-evidence.md")),u&&(C=t(i,a,n.grounding),c.push(Se("Semiotic reader grounding",function(e){return[e.component+": Semiotic reader grounding","",e.text,"\nStructured grounding JSON:\n```json",ue(e),"```"].join("\n")}(C),h+".reader-grounding.md"))),y&&(b=r(i,a),c.push(Se("Semiotic config diagnostics",function(e,t){const r=t.diagnoses.filter(e=>"error"===e.severity).length,s=t.diagnoses.filter(e=>"warning"===e.severity).length,o=[e+": Semiotic diagnoseConfig report","ok: "+t.ok,"errors: "+r,"warnings: "+s];if(0===t.diagnoses.length)return o.push("","No Semiotic config issues detected."),o.join("\n");o.push("");for(const e of t.diagnoses)o.push(`[${e.severity}] ${e.code}: ${e.message}`),e.fix&&o.push("Fix: "+e.fix);return o.join("\n")}(i,b),h+".diagnose-config.md"))),p&&(g=e(i,a,n.accessibility),c.push(Se("Semiotic accessibility audit",s(g),h+".accessibility.md"))),n.narrative?.trim()&&c.push(Se("Author narrative",n.narrative.trim(),h+".narrative.md")),n.additionalStages?.length&&c.push(...n.additionalStages),0===c.length&&c.push(Be("Semiotic chart config",ue(m),"json",h+".semiotic-config.json")),{input:{kind:"chain",stages:c},config:m,...C?{grounding:C}:{},...b?{diagnosis:b}:{},...g?{accessibility:g}:{}}}function Me(e,t,r={}){return Le(e,t,r).input}function Fe(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function Ie(e,t={}){const r="number"==typeof t.maxDepth&&Number.isFinite(t.maxDepth)?Math.max(1,Math.floor(t.maxDepth)):10,s="number"==typeof t.maxArrayLength&&Number.isFinite(t.maxArrayLength)?Math.max(1,Math.floor(t.maxArrayLength)):1e3,o=new WeakSet,i=(e,t)=>{if(null==e||"string"==typeof e||"boolean"==typeof e)return e;if("number"==typeof e)return Number.isFinite(e)?e:e+"";if("bigint"==typeof e)return""+e;if("function"==typeof e||"symbol"==typeof e||void 0===e)return;if(e instanceof Date)return e.toISOString();if(t>=r)return"[depth limit]";if("object"!=typeof e)return e+"";if("$$typeof"in e)return;if(o.has(e))return"[circular]";if(o.add(e),Array.isArray(e)){const r=e.slice(0,s).map(e=>i(e,t+1)).filter(e=>void 0!==e);return o.delete(e),r}if(e instanceof Set){const r=Array.from(e).slice(0,s).map(e=>i(e,t+1)).filter(e=>void 0!==e);return o.delete(e),r}if(e instanceof Map){const r=Object.create(null);let a=0;for(const[o,l]of e){if(a++>=s)break;const e=i(l,t+1);void 0!==e&&(r[o+""]=e)}return o.delete(e),r}const a=Object.create(null);for(const r of Object.keys(e).sort()){const s=i(e[r],t+1);void 0!==s&&(a[r]=s)}return o.delete(e),a};return i(e,0)}function $e(e){const t=Ie(e);return Fe(t)?t:{}}function De(e){if(Array.isArray(e))return e.map(De);if(!Fe(e))return e;const t=Object.create(null);for(const r of Object.keys(e).sort())t[r]=De(e[r]);return t}function Re(e){return JSON.stringify(De(Ie(e)))}function Pe(e){return function(e){let t=BigInt("14695981039346656037");const r=BigInt("1099511628211"),s=BigInt("0xffffffffffffffff");for(let o=0;e.length>o;o++)t^=BigInt(e.charCodeAt(o)),t=t*r&s;return t.toString(16).padStart(16,"0")}(Re(e))}function _e(e){if(!e?.length)return;const t=Array.from(new Set(e.filter(e=>"string"==typeof e&&e.length))).sort();return t.length?t:void 0}function je(e,t){return t.some(t=>e===t||e.startsWith(t+"/"))}function ze(e,t){const r=_e(t.refs),s=!1!==t.includeSummary;if(!r)return{snapshot:{version:e.version,createdAt:e.createdAt,state:e.state,...s&&e.summary?{summary:e.summary}:{}}};const o={};for(const[t,s]of Object.entries(e.state))je(t,r)&&(o[t]=s);const i={};if(s&&e.summary)for(const[t,s]of Object.entries(e.summary))je(t,r)&&(i[t]=s);return{snapshot:{version:e.version,createdAt:e.createdAt,state:o,...Object.keys(i).length?{summary:i}:{}},refs:r}}function Ee(e,t){const r={},s=[];for(const[s,o]of Object.entries(t.state))Object.prototype.hasOwnProperty.call(e.state,s)&&Re(e.state[s])===Re(o)||(r[s]=o);for(const r of Object.keys(e.state))Object.prototype.hasOwnProperty.call(t.state,r)||s.push(r);const o={},i=[],a=e.summary??{},l=t.summary??{};for(const[e,t]of Object.entries(l))Object.prototype.hasOwnProperty.call(a,e)&&Re(a[e])===Re(t)||(o[e]=t);for(const e of Object.keys(a))Object.prototype.hasOwnProperty.call(l,e)||i.push(e);return{changed:r,removed:s.sort(),...Object.keys(o).length?{summaryChanged:o}:{},...i.length?{summaryRemoved:i.sort()}:{}}}function Oe(e){return null==e?"NULL":"number"==typeof e?"DOUBLE":"string"==typeof e?"VARCHAR":"boolean"==typeof e?"BOOLEAN":e instanceof Date?"TIMESTAMP":Array.isArray(e)?"ARRAY":"OBJECT"}var Te="semiotic.set_point_selection",Ne="semiotic.set_interval_selection",Ve="semiotic.clear_selection",Qe="semiotic.activate_navigation_node",qe="semiotic.inspect_data",Ze="0.1.0",He="vacp.data_schema";function Ue(e,t){if(!t.descriptor.name.trim())throw Error("VACP action names must be non-empty.");if(e.some(e=>e.descriptor.name===t.descriptor.name))throw Error(`Duplicate VACP action "${t.descriptor.name}".`);e.push(t)}function Ge(e,t){if(!Fe(e))throw Error(t+" expects an object parameter payload.");return e}function Ye(e,t){return"number"==typeof e&&Number.isFinite(e)?Math.max(1,Math.floor(e)):t}function Je(e,t,r){if("string"!=typeof e.selectionRef)throw Error("params.selectionRef must be a VACP selection ref.");const s=t.find(t=>t.ref===e.selectionRef);if(!s)throw Error(`Unknown selection ref "${e.selectionRef}".`);if(r&&!s.modes.has(r))throw Error(`Selection "${s.name}" does not accept ${r} state.`);return s}function Ke(e){return null==e||"string"==typeof e||"number"==typeof e&&Number.isFinite(e)||"boolean"==typeof e||e instanceof Date&&Number.isFinite(e.getTime())}function Xe(e,t,r){const s=[],o=e.dataHandles.map(e=>e.ref);o.length&&Ue(s,{descriptor:{name:He,title:"Describe Semiotic data",description:"Return columns, types, row count, and optional bounded summaries for a chart DataHandle.",targetRef:r.view,parameters:{type:"object",properties:{handleRef:{type:"string",enum:o},detail:{type:"string",enum:["columns","full"]},sampleRows:{type:"number",minimum:1}},required:["handleRef"]}},execute(r){const s=Ge(r,He);if("string"!=typeof s.handleRef)throw Error("params.handleRef must be a DataHandle ref.");const o=e.dataHandles.find(e=>e.ref===s.handleRef);if(!o)throw Error(`Unknown DataHandle "${s.handleRef}".`);const i=void 0===s.detail||"columns"===s.detail?"columns":"full"===s.detail?"full":(()=>{throw Error('params.detail must be "columns" or "full".')})(),a="number"==typeof s.sampleRows&&Number.isFinite(s.sampleRows)?Math.max(1,Math.floor(s.sampleRows)):"full"===i?1e3:Math.min(o.rows.length,1e3),l=Ye(t.dataAccess?.maxSchemaRows,5e3);return function(e){const t=e.rows.slice(0,Math.max(0,e.sampleRows)),r=function(e){const t=new Map;for(const r of e)if(Fe(r))for(const[e,s]of Object.entries(r)){const r=t.get(e)??new Set;r.add(Oe(s)),t.set(e,r)}return Array.from(t).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>{const r=Array.from(t).filter(e=>"NULL"!==e);return{name:e,type:0===r.length?"NULL":1===new Set(r).size?r[0]:"MIXED"}})}(e.rows),s=r.map(e=>e.name);if("columns"===e.detail)return{handleRef:e.handleRef,detail:e.detail,table:null,rowCount:e.rows.length,columns:r};const o=function(e,t){const r=Object.create(null);for(const s of t){const t=[];for(const r of e){if(!Fe(r))continue;const e=r[s];"number"==typeof e&&Number.isFinite(e)&&t.push(e)}if(!t.length)continue;let o=t[0],i=t[0],a=0;for(const e of t)o=Math.min(o,e),i=Math.max(i,e),a+=e;r[s]={min:o,max:i,avg:a/t.length}}return Object.keys(r).length?r:void 0}(t,s),i=function(e,t){const r=Object.create(null);for(const s of t){const t=[];for(const r of e){if(!Fe(r))continue;const e=r[s];e instanceof Date&&Number.isFinite(e.getTime())&&t.push(e.getTime())}if(!t.length)continue;const o=Math.min(...t),i=Math.max(...t);r[s]={minIso:new Date(o).toISOString(),maxIso:new Date(i).toISOString(),minEpochMs:o,maxEpochMs:i}}return Object.keys(r).length?r:void 0}(t,s),a=function(e,t){const r=Object.create(null);for(const s of t){const t=new Map;for(const r of e){if(!Fe(r))continue;const e=r[s];if("string"!=typeof e&&"boolean"!=typeof e)continue;const o=e+"";t.set(o,(t.get(o)??0)+1)}t.size&&(r[s]=Array.from(t).sort(([e,t],[r,s])=>s-t||e.localeCompare(r)).slice(0,10).map(([e,t])=>({value:e,n:t})))}return Object.keys(r).length?r:void 0}(t,s);return{handleRef:e.handleRef,detail:e.detail,table:null,rowCount:e.rows.length,columns:r,...o?{numeric:o}:{},...i?{temporal:i}:{},...a?{categoricalTopValues:a}:{},sampledRows:t.length}}({handleRef:o.ref,rows:o.rows,detail:i,sampleRows:Math.min(a,l)})}}),o.length&&t.dataAccess?.sample&&Ue(s,{descriptor:{name:qe,title:"Inspect bounded Semiotic rows",description:"Return a bounded JSON sample from a chart DataHandle. This action is opt-in.",targetRef:r.view,parameters:{type:"object",properties:{handleRef:{type:"string",enum:o},offset:{type:"number",minimum:0},limit:{type:"number",minimum:1}},required:["handleRef"]}},execute(r){const s=Ge(r,qe);if("string"!=typeof s.handleRef)throw Error("params.handleRef must be a DataHandle ref.");const o=e.dataHandles.find(e=>e.ref===s.handleRef);if(!o)throw Error(`Unknown DataHandle "${s.handleRef}".`);const i="number"==typeof s.offset&&Number.isFinite(s.offset)?Math.max(0,Math.floor(s.offset)):0,a=Ye(t.dataAccess?.maxSampleRows,50),l="number"==typeof s.limit&&Number.isFinite(s.limit)?Math.max(1,Math.floor(s.limit)):Math.min(20,a),n=Math.min(l,a),c=o.rows.slice(i,i+n);return{handleRef:o.ref,offset:i,limit:n,rowCount:o.rows.length,rows:Ie(c,{maxArrayLength:a}),truncated:o.rows.length>i+c.length}}});const i=e.selections.map(e=>e.ref),a=e.selections.filter(e=>e.modes.has("point"));a.length&&t.selectionActions?.setPointSelection&&Ue(s,{descriptor:{name:Te,title:"Set point selection",description:"Set a named LinkedCharts point-selection clause with allowlisted fields.",targetRef:r.view,parameters:{type:"object",properties:{selectionRef:{type:"string",enum:a.map(e=>e.ref)},fields:{type:"object"}},required:["selectionRef","fields"]}},async execute(r){const s=Ge(r,Te),o=Je(s,e.selections,"point"),i=function(e,t){if(!Fe(e)||!Object.keys(e).length)throw Error("params.fields must be a non-empty object.");const r=Object.create(null);for(const[s,o]of Object.entries(e)){if(!t.includes(s))throw Error(`Field "${s}" is not allowed for this selection.`);if(!Array.isArray(o)||!o.length)throw Error(`Point selection field "${s}" requires values[].`);for(const e of o)if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&("number"!=typeof e||!Number.isFinite(e)))throw Error(`Point selection field "${s}" only accepts JSON primitive values.`);r[s]=[...o]}return r}(s.fields,o.fields);return await(t.selectionActions?.setPointSelection?.(o.name,o.clientId,i)),{selectionRef:o.ref,fields:i}}});const l=e.selections.filter(e=>e.modes.has("interval"));l.length&&t.selectionActions?.setIntervalSelection&&Ue(s,{descriptor:{name:Ne,title:"Set interval selection",description:"Set a named LinkedCharts interval-selection clause in data units.",targetRef:r.view,parameters:{type:"object",properties:{selectionRef:{type:"string",enum:l.map(e=>e.ref)},fields:{type:"object"}},required:["selectionRef","fields"]}},async execute(r){const s=Ge(r,Ne),o=Je(s,e.selections,"interval"),i=function(e,t){if(!Fe(e)||!Object.keys(e).length)throw Error("params.fields must be a non-empty object.");const r=Object.create(null);for(const[s,o]of Object.entries(e)){if(!t.includes(s))throw Error(`Field "${s}" is not allowed for this selection.`);if(!Array.isArray(o)||2!==o.length||"number"!=typeof o[0]||"number"!=typeof o[1]||!Number.isFinite(o[0])||!Number.isFinite(o[1]))throw Error(`Interval selection field "${s}" requires [min,max].`);r[s]=[Math.min(o[0],o[1]),Math.max(o[0],o[1])]}return r}(s.fields,o.fields);return await(t.selectionActions?.setIntervalSelection?.(o.name,o.clientId,i)),{selectionRef:o.ref,fields:i}}}),i.length&&t.selectionActions?.clearSelection&&Ue(s,{descriptor:{name:Ve,title:"Clear selection",description:"Clear every active clause from one named LinkedCharts selection.",targetRef:r.view,parameters:{type:"object",properties:{selectionRef:{type:"string",enum:i}},required:["selectionRef"]}},async execute(r){const s=Je(Ge(r,Ve),e.selections);return await(t.selectionActions?.clearSelection?.(s.name)),{selectionRef:s.ref,cleared:!0}}});const n=e.charts.map(e=>e.navigation).filter(e=>!!e&&e.index.valid&&!!e.binding.onActiveChange);n.length&&Ue(s,{descriptor:{name:Qe,title:"Activate chart navigation target",description:"Move an accessible chart navigation tree to a uniquely identified datum.",targetRef:r.view,parameters:{type:"object",properties:{navigationRef:{type:"string",enum:n.map(e=>e.ref)},match:{type:"object"}},required:["navigationRef","match"]}},execute(e){const t=Ge(e,Qe);if("string"!=typeof t.navigationRef)throw Error("params.navigationRef must be a navigation ref.");const r=n.find(e=>e.ref===t.navigationRef);if(!r)throw Error(`Unknown navigation ref "${t.navigationRef}".`);const s=function(e,t){if(!Fe(e))throw Error("params.match must be an object.");for(const r of Object.keys(e))if(!t.includes(r))throw Error(`params.match includes undeclared field "${r}".`);const r=Object.create(null);for(const s of t){if(!Object.prototype.hasOwnProperty.call(e,s)||!Ke(e[s]))throw Error(`params.match requires a primitive value for "${s}".`);r[s]=e[s]instanceof Date?e[s].toISOString():e[s]}return r}(t.match,r.index.matchFields),o=r.index.byKey.get(Pe(s));if(!o)throw Error("No navigation datum matches params.match.");return r.binding.onActiveChange?.(o),{navigationRef:r.ref,targetRef:r.index.targetRef(s),match:s}}});const c="function"==typeof t.actions?t.actions():t.actions;for(const e of c??[])e.available&&!e.available()||Ue(s,{descriptor:{...e.descriptor,...e.descriptor.parameters?{parameters:$e(e.descriptor.parameters)}:{}},async execute(t){const r=e.validate?.(t);if("string"==typeof r&&r)throw Error(r);return e.execute(t)}});return s}var et=["data","nodes","edges","points","areas","lines","flows"],tt=[["xAccessor","x"],["yAccessor","y"],["categoryAccessor","category"],["valueAccessor","value"],["colorBy","color"],["sizeAccessor","size"],["lineBy","series"],["groupAccessor","group"],["oAccessor","ordinal"],["rAccessor","radial"],["sourceAccessor","source"],["targetAccessor","target"],["nodeIDAccessor","id"]];function rt(e,t){const r=e.trim();if(!r)throw Error(t+" must be a non-empty string.");return encodeURIComponent(r)}function st(e,...t){return`${e}/${t.map(e=>rt(e,"VACP ref segment")).join("/")}`}function ot(e){const t=e.now?.()??new Date,r=t instanceof Date?t:new Date(t);if(!Number.isFinite(r.getTime()))throw Error("VACP bridge clock returned an invalid date.");return r.toISOString()}function it(e){try{const{createdAt:t,...r}=l(e.component,e.props,{includeData:!1});return $e(r)}catch(t){const r=Object.create(null);for(const[t,s]of Object.entries(e.props)){if(et.includes(t)||"function"==typeof s)continue;const e=Ie(s);void 0!==e&&(r[t]=e)}return{component:e.component,props:r,version:"unregistered",warning:t instanceof Error?t.message:"Chart config could not be serialized by toConfig."}}}function at(e){return t(e.component,e.props,{...e.grounding,audience:e.audience,includeStructure:!0,maxLeaves:1})}function lt(e,t){const r=[];for(const s of et){const o=e.props[s];Array.isArray(o)&&r.push({ref:t.data(e.chartId,s),chartId:e.chartId,collection:s,rows:o})}return r}function nt(e,t){t(e);for(const r of e.children??[])nt(r,t)}function ct(e,t){if(!t)return;let r;return nt(e,e=>{r||e.id!==t||(r=e)}),r}function dt(e){return null==e||"string"==typeof e||"number"==typeof e&&Number.isFinite(e)||"boolean"==typeof e||e instanceof Date&&Number.isFinite(e.getTime())}function ft(e,t){if("datum"!==e.role||!e.datum)return;const r=Object.create(null);for(const s of t){if(!Object.prototype.hasOwnProperty.call(e.datum,s)||!dt(e.datum[s]))return;r[s]=e.datum[s]instanceof Date?e.datum[s].toISOString():e.datum[s]}return r}function ut(e,t){const r=Array.from(new Set(e.matchFields.map(e=>e.trim()).filter(Boolean))),s=new Map;if(!r.length)return{valid:!1,diagnostic:"Navigation actions require at least one durable match field.",byKey:s,matchFields:r,targetRef:()=>st(t,"target","invalid")};let o,i=0,a=0,l=!1;return nt(e.tree,e=>{if("datum"!==e.role)return;i++;const t=ft(e,r);if(!t)return void a++;const o=Pe(t);s.has(o)?l=!0:s.set(o,e)}),i?a?o=a+" navigation leaves lack durable primitive match-field values.":l&&(o="Navigation match fields do not uniquely identify every datum leaf."):o="Navigation tree has no datum leaves.",{valid:!o,...o?{diagnostic:o}:{},byKey:s,matchFields:r,targetRef:e=>st(t,"target",Pe(e))}}function yt(e,t){const{chart:r,ref:s,configRef:o,grounding:i}=e,a=[{ref:s,kind:"Visualization",layer:"VisualizationLayer",title:r.title??(r.props.title??r.component)+"",description:r.description??i.text,data:$e({component:r.component,grounding:{description:i.description,intent:i.intent,physics:i.physics,text:i.text},audience:r.audience})},{ref:o,kind:"Param",layer:"ConfigLayer",title:r.component+" configuration",description:"Serializable Semiotic chart configuration with raw data collections omitted.",data:e.config}],l=[{from:e.ref,to:o,kind:"contains"}],n=(i.structure?.children??[]).filter(e=>"axis"===e.role).map(e=>e.label);let c=0;for(const[e,t]of tt){const o=r.props[e];if("string"!=typeof o||!o.trim())continue;const i=st(s,"encoding",t);if(a.push({ref:i,kind:"EncodingChannel",layer:"VisualizationLayer",title:`${t} → ${o}`,data:{channel:t,field:o,accessorProp:e}}),l.push({from:s,to:i,kind:"contains"}),"x"===t||"y"===t||"category"===t||"value"===t||"ordinal"===t||"radial"===t){const e=st(s,"axis",t);a.push({ref:e,kind:"Axis",layer:"VisualizationLayer",title:n[c++]??`${t} axis: ${o}`,data:{channel:t,field:o}}),l.push({from:s,to:e,kind:"contains"}),l.push({from:e,to:i,kind:"derivedFrom"})}}for(const o of e.dataHandles)a.push({ref:o.ref,kind:"DataHandle",layer:"DataLayer",title:`${r.chartId}.${o.collection}`,description:"Bounded details-on-demand handle. Use vacp.data_schema before requesting an opt-in sample.",data:{collection:o.collection,rowCount:o.rows.length,schemaAction:He,...t.dataAccess?.sample?{inspectAction:qe}:{}}}),l.push({from:s,to:o.ref,kind:"contains"});if(e.navigation){const{navigation:t}=e;a.push({ref:t.ref,kind:"Selection",layer:"InteractionFeedbackLayer",title:(r.title??r.component)+" structured navigation",description:t.index.diagnostic??"Active accessible-navigation target identified by durable datum fields.",data:{matchFields:t.index.matchFields,targetCount:t.index.byKey.size,status:t.index.valid?t.binding.onActiveChange?"actionable":"read-only":"ambiguous"}}),l.push({from:s,to:t.ref,kind:"contains"})}if(t.getObservations){const e=st(s,"interaction","latest-observation");a.push({ref:e,kind:"InteractionTarget",layer:"InteractionFeedbackLayer",title:(r.title??r.component)+" latest observation",description:"Latest semantic hover, focus, selection, brush, activation, or control observation."}),l.push({from:s,to:e,kind:"contains"})}const d=Array.isArray(r.props.annotations)?r.props.annotations:[],f=new Set;for(const e of d){if(!Fe(e))continue;const t=Fe(e.provenance)?e.provenance:void 0,o=e.id??e.stableId??t?.stableId,i=null==o||""===o?void 0:o+"";if(!i)continue;const n=Fe(e.note)?e.note:void 0,c=Fe(e.noteData)?e.noteData:void 0,d=st(s,"annotation",i);if(f.has(d))throw Error(`Duplicate stable annotation id "${i.trim()}" in VACP chart "${r.chartId}".`);f.add(d),a.push({ref:d,kind:"InteractionTarget",layer:"VisualizationLayer",title:(e.label??n?.label??c?.label??"Annotation "+i)+"",description:"string"==typeof e.note?e.note:"string"==typeof e.description?e.description:void 0,data:$e({id:i,provenance:t,lifecycle:e.lifecycle})}),l.push({from:s,to:d,kind:"contains"})}return{nodes:a,edges:l}}function pt(e,t){for(let r=e.length-1;r>=0;r--){const s=e[r];if(s.chartId===t)return s}}function ht(e,t){const r=function(e,t){const r=function(e){const t="function"==typeof e?e():e,r=new Set;for(const e of t){const t=e.chartId.trim();if(!t)throw Error("Every VACP chart requires a non-empty chartId.");if(r.has(t))throw Error(`Duplicate VACP chartId "${t}".`);r.add(t)}return t}(e.charts),s=r.map(e=>{const r=t.visualization(e.chartId),s=e.navigation?{ref:t.navigation(e.chartId),chartRef:r,chartId:e.chartId,binding:e.navigation,index:ut(e.navigation,t.navigation(e.chartId))}:void 0;return{chart:e,ref:r,configRef:t.config(e.chartId),grounding:at(e),config:it(e),dataHandles:lt(e,t),...s?{navigation:s}:{}}}),o=function(e,t){const r=new Map;for(const t of e)for(const e of t.chart.selections??[]){const s=e.name.trim();if(!s)throw Error("VACP selection names must be non-empty.");const o=r.get(s)??{fields:new Set,modes:new Set,chartRefs:new Set};for(const t of e.fields.map(e=>e.trim()))t&&o.fields.add(t);if("interval"!==e.mode&&o.modes.add("point"),"point"!==e.mode&&o.modes.add("interval"),e.clientId){if(o.clientId&&o.clientId!==e.clientId)throw Error(`Selection "${s}" declares conflicting VACP clientIds.`);o.clientId=e.clientId}o.chartRefs.add(t.ref),r.set(s,o)}return Array.from(r).sort(([e],[t])=>e.localeCompare(t)).map(([e,r])=>{if(0===r.fields.size)throw Error(`Selection "${e}" requires at least one allowlisted field.`);return{ref:t.selection(e),name:e,fields:Array.from(r.fields).sort(),modes:r.modes,clientId:r.clientId??"__semiotic-vacp__:"+e,chartRefs:Array.from(r.chartRefs)}})}(s,t),i=s.flatMap(e=>e.dataHandles),a=[{ref:t.app,kind:"App",layer:"ViewLayer",title:e.title??e.appId,description:"Semiotic application state exposed through the experimental VACP 0.1.0 bridge.",data:{provider:"semiotic",protocol:Ze}},{ref:t.view,kind:"View",layer:"ViewLayer",title:e.title??e.viewId??"Semiotic charts"}],l=[{from:t.app,to:t.view,kind:"contains"}];for(const r of s){const s=yt(r,e);a.push(...s.nodes),l.push(...s.edges),l.push({from:t.view,to:r.ref,kind:"contains"})}for(const e of o){a.push({ref:e.ref,kind:"Selection",layer:"InteractionFeedbackLayer",title:"Selection: "+e.name,description:"Named LinkedCharts selection. Agent mutations are restricted to declared fields and modes.",data:{name:e.name,fields:e.fields,modes:Array.from(e.modes).sort()}}),l.push({from:t.view,to:e.ref,kind:"contains"});for(const t of e.chartRefs)l.push({from:e.ref,to:t,kind:"controls"})}return{charts:s,selections:o,dataHandles:i,nodes:a,edges:l}}(e,t);return{...r,actions:Xe(r,e,t)}}function mt(e){const t=e.viewId?.trim()||"main",r=function(e,t){const r="vacp://"+rt(e,"appId"),s=st(r,"view",t),o=e=>st(s,"visualization",e);return{app:r,view:s,visualization:o,config:e=>st(o(e),"config"),data:(e,t="data")=>st(o(e),"data",t),selection:e=>st(s,"selection",e),navigation:e=>st(o(e),"navigation"),observation:e=>st(o(e),"interaction","latest-observation")}}(e.appId,t),s="number"==typeof e.stateCacheSize&&Number.isFinite(e.stateCacheSize)?Math.max(1,Math.floor(e.stateCacheSize)):64,o=new Map;return{version:Ze,refs:r,getCapabilities:t=>{const s=ht(e,r),o={version:Ze,createdAt:ot(e),graph:{version:Ze,nodes:s.nodes,edges:s.edges,actions:s.actions.map(e=>e.descriptor)}};return t?function(e,t){const r=function(e){return{refs:_e(e.refs),prefixes:_e(e.prefixes),kinds:e.kinds?.length?new Set(e.kinds):void 0,layers:e.layers?.length?new Set(e.layers):void 0,includeActions:!1!==e.includeActions,includeEdges:!1!==e.includeEdges,includeNodeData:!1!==e.includeNodeData}}(t),s=e.graph.nodes.filter(e=>function(e,t){return!((t.refs?.length||t.prefixes?.length)&&!t.refs?.includes(e.ref)&&!t.prefixes?.some(t=>e.ref===t||e.ref.startsWith(t+"/")))&&(!t.kinds||t.kinds.has(e.kind))&&(!t.layers||t.layers.has(e.layer))}(e,r)).map(e=>{if(r.includeNodeData)return e;const{data:t,...s}=e;return s}),o=new Set(s.map(e=>e.ref)),i=r.includeActions?e.graph.actions.filter(e=>{if(!e.targetRef)return!0;if(o.has(e.targetRef))return!0;for(const t of o)if(t.startsWith(e.targetRef+"/"))return!0;return!1}):[];return{version:e.version,createdAt:e.createdAt,graph:{version:e.graph.version,nodes:s,edges:r.includeEdges?e.graph.edges.filter(e=>o.has(e.from)&&o.has(e.to)):[],actions:i}}}(o,t):o},getState:async function(t){const i=function(e,t,r){const s={},o={},i=t.getSelections?.()??{},a=t.getObservations?.()??[];for(const i of e.charts){s[i.ref]=$e({component:i.chart.component,description:i.grounding.description,intent:i.grounding.intent,physics:i.grounding.physics,audience:i.chart.audience}),s[i.configRef]=i.config,o[i.ref]={component:i.chart.component,dataHandles:i.dataHandles.length};for(const e of i.dataHandles)s[e.ref]={kind:"DataHandle",collection:e.collection,rowCount:e.rows.length},o[e.ref]={rowCount:e.rows.length};if(i.navigation){const e=ct(i.navigation.binding.tree,i.navigation.binding.activeId),t=e?ft(e,i.navigation.index.matchFields):void 0;s[i.navigation.ref]=$e({kind:"Selection",status:i.navigation.index.valid?"ready":"ambiguous",activeRole:e?.role,activeLabel:e?.label,activeMatch:t,activeTargetRef:t?i.navigation.index.targetRef(t):void 0,diagnostic:i.navigation.index.diagnostic}),o[i.navigation.ref]={targetCount:i.navigation.index.byKey.size}}if(t.getObservations){const e=pt(a,i.chart.chartId);s[r.observation(i.chart.chartId)]=e?$e(e):null,e&&(o[r.observation(i.chart.chartId)]={type:e.type,timestamp:e.timestamp})}}for(const t of e.selections){const e=i[t.name];s[t.ref]=(e?$e(e):void 0)??{name:t.name,resolution:"union",clauses:[]},o[t.ref]={active:!!e?.clauses.length,clauseCount:e?.clauses.length??0,fields:t.fields}}return{version:Ze,createdAt:ot(t),state:s,...Object.keys(o).length?{summary:o}:{}}}(ht(e,r),e,r);if(!t)return i;const{snapshot:a,refs:l}=ze(i,t),n="st_"+Pe({state:(c=a).state,...c.summary?{summary:c.summary}:{}});var c;const d=t.since?o.get(t.since):void 0;let f;if("full"!==t.mode&&t.since&&d){const e=ze(d,t).snapshot;f={version:Ze,createdAt:a.createdAt,mode:"delta",token:n,baseToken:t.since,...l?{scope:{refs:l}}:{},delta:Ee(e,a)}}else f={version:Ze,createdAt:a.createdAt,mode:"full",token:n,...l?{scope:{refs:l}}:{},snapshot:a};return((e,t)=>{for(o.has(e)&&o.delete(e),o.set(e,t);o.size>s;){const e=o.keys().next().value;if("string"!=typeof e)break;o.delete(e)}})(n,i),f},execute:async t=>{const s=t&&"string"==typeof t.callId?t.callId:"";try{if(!t||"string"!=typeof t.name||!t.name.trim())throw Error("VACP action call requires a non-empty name.");if(!s)throw Error("VACP action call requires a callId.");const o=ht(e,r),i=o.actions.find(e=>e.descriptor.name===t.name);if(!i)return{callId:s,ok:!1,error:{message:`Unknown or currently unavailable VACP action "${t.name}".`,details:{available:o.actions.map(e=>e.descriptor.name)}}};const a=Ie(await i.execute(t.params));return{callId:s,ok:!0,...void 0!==a?{result:a}:{}}}catch(e){return{callId:s,ok:!1,error:{message:e instanceof Error?e.message:"VACP action failed."}}}}}}function kt(e,t={}){const r=t.globalKey?.trim()||"__vacp",s=t.target??("undefined"!=typeof window?window:void 0);if(!s)return{installed:!1,globalKey:r,bridge:e,reason:`Refused to install "${r}" without a browser window or an explicit target.`,cleanup:()=>!1};if("__proto__"===r||"prototype"===r||"constructor"===r)return{installed:!1,globalKey:r,bridge:e,reason:`Refused unsafe global key "${r}".`,cleanup:()=>!1};const o=s[r];if(void 0!==o&&o!==e)return{installed:!1,globalKey:r,bridge:e,reason:`Refused to replace existing global "${r}".`,cleanup:()=>!1};try{s[r]=e}catch(t){return{installed:!1,globalKey:r,bridge:e,reason:t instanceof Error?`Could not install "${r}": ${t.message}`:`Could not install "${r}".`,cleanup:()=>!1}}return{installed:!0,globalKey:r,bridge:e,cleanup:()=>{if(s[r]!==e)return!1;try{return delete s[r]}catch{return!1}}}}import{useEffect as vt,useRef as xt}from"react";function Ct(e){const t=Object.create(null);for(const[r,s]of Object.entries(e))t[r]={type:"point",values:new Set(s)};return t}function bt(e){const t=Object.create(null);for(const[r,s]of Object.entries(e))t[r]={type:"interval",range:[s[0],s[1]]};return t}function gt(e){const t=D(e=>e.selections),r=D(e=>e.setClause),s=D(e=>e.clearSelection),o=$(e=>e.observations),i=$(e=>e.version),l=xt(null);return l.current={...e,selections:t,setClause:r,clearSelection:s,observations:o,observationVersion:i},vt(()=>{const e=l.current;if(!e)return;const t=kt(mt({appId:e.appId,viewId:e.viewId,stateCacheSize:e.stateCacheSize,get title(){return l.current?.title},charts:()=>{const e=l.current?.charts??[];return"function"==typeof e?e():e},getSelections:()=>{const e=l.current;return e?a(e.selections):{}},getObservations:()=>{const e=l.current;return e?e.observations:[]},selectionActions:{setPointSelection(e,t,r){l.current?.setClause(e,{clientId:t,type:"point",fields:Ct(r)})},setIntervalSelection(e,t,r){l.current?.setClause(e,{clientId:t,type:"interval",fields:bt(r)})},clearSelection(e){l.current?.clearSelection(e)}},get dataAccess(){return l.current?.dataAccess},actions:()=>{const e=l.current?.actions;return("function"==typeof e?e():e)??[]},now:()=>l.current?.now?.()??new Date}),{globalKey:e.globalKey});return l.current?.onInstallationChange?.(t),()=>{t.cleanup()}},[]),null}var Wt="0.1",At=["trend","compare-series","compare-categories","rank","part-to-whole","distribution","correlation","flow","hierarchy","geo","outlier-detection","composition-over-time","change-detection"],wt=new Set(["fresh","aging","stale","expired"]),St=new Set(["proposed","accepted","disputed","retracted"]),Bt=new Set(["fixed","latest","sticky","semantic"]),Lt=new Set(["visual","screen-reader","sonified","agent"]);function Mt(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ft(e,t,r){("number"!=typeof r||!Number.isInteger(r)||1>r||r>5)&&e.push(t+" must be an integer in [1, 5]")}function It(e,t,r){void 0!==r&&"string"!=typeof r&&e.push(t+" must be a string")}function $t(e,t,r,s,o){void 0!==r&&("number"!=typeof r||!Number.isFinite(r)||void 0!==s&&s>r||void 0!==o&&r>o)&&e.push(`${t} must be a finite number${void 0!==s&&void 0!==o?` in [${s}, ${o}]`:void 0!==s?" >= "+s:""}`)}function Dt(e,t,r){void 0!==r&&"boolean"!=typeof r&&e.push(t+" must be a boolean")}function Rt(e,t,r,s){for(const o of Object.keys(r))s.includes(o)||e.push(`${t}.${o} is not allowed`)}function Pt(e,t){void 0!==t&&t!==Wt&&e.push("specVersion must be the string "+Wt)}function _t(e){const t=[];if(!Mt(e))return{valid:!1,errors:["capability must be an object"]};Pt(t,e.specVersion),"string"==typeof e.component&&0!==e.component.length||t.push("component is required and must be a non-empty string"),It(t,"family",e.family),It(t,"importPath",e.importPath);const r=e.rubric;if(Mt(r)?(Rt(t,"rubric",r,["familiarity","accuracy","precision"]),Ft(t,"rubric.familiarity",r.familiarity),Ft(t,"rubric.accuracy",r.accuracy),Ft(t,"rubric.precision",r.precision)):t.push("rubric is required and must be an object"),void 0!==e.intentScores)if(Mt(e.intentScores))for(const[r,s]of Object.entries(e.intentScores))$t(t,"intentScores."+r,s,0,5);else t.push("intentScores must be an object");if(void 0!==e.variants&&(Array.isArray(e.variants)?e.variants.forEach((e,r)=>{if(Mt(e)){if("string"!=typeof e.key&&t.push(`variants[${r}].key is required`),"string"!=typeof e.label&&t.push(`variants[${r}].label is required`),It(t,`variants[${r}].description`,e.description),void 0!==e.intentDeltas)if(Mt(e.intentDeltas))for(const[s,o]of Object.entries(e.intentDeltas))$t(t,`variants[${r}].intentDeltas.${s}`,o);else t.push(`variants[${r}].intentDeltas must be an object`);if(void 0!==e.rubricDeltas)if(Mt(e.rubricDeltas)){Rt(t,`variants[${r}].rubricDeltas`,e.rubricDeltas,["familiarity","accuracy","precision"]);for(const s of["familiarity","accuracy","precision"])$t(t,`variants[${r}].rubricDeltas.${s}`,e.rubricDeltas[s])}else t.push(`variants[${r}].rubricDeltas must be an object`);for(const s of["caveats","tags"]){const o=e[s];void 0!==o&&(Array.isArray(o)&&!o.some(e=>"string"!=typeof e)||t.push(`variants[${r}].${s} must be an array of strings`))}void 0===e.props||Mt(e.props)||t.push(`variants[${r}].props must be an object`)}else t.push(`variants[${r}] must be an object`)}):t.push("variants must be an array")),void 0!==e.mobile)if(Mt(e.mobile)){const r=e.mobile;It(t,"mobile.strategy",r.strategy),Dt(t,"mobile.responsive",r.responsive),Dt(t,"mobile.supportsResponsiveLayout",r.supportsResponsiveLayout);for(const e of["minViewportWidth","maxMarks","maxAnnotations","minimumHitTarget"])$t(t,"mobile."+e,r[e],0);void 0!==r.breakpoints&&(Array.isArray(r.breakpoints)?r.breakpoints.forEach((e,r)=>{$t(t,`mobile.breakpoints[${r}]`,e)}):t.push("mobile.breakpoints must be an array")),void 0!==r.summary&&"boolean"!=typeof r.summary&&"string"!=typeof r.summary&&t.push("mobile.summary must be a boolean or string"),void 0!==r.interaction&&(Mt(r.interaction)?(It(t,"mobile.interaction.primary",r.interaction.primary),It(t,"mobile.interaction.hoverFallback",r.interaction.hoverFallback),$t(t,"mobile.interaction.targetSize",r.interaction.targetSize,0),void 0===r.interaction.alternatives||Array.isArray(r.interaction.alternatives)&&!r.interaction.alternatives.some(e=>"string"!=typeof e)||t.push("mobile.interaction.alternatives must be an array of strings")):t.push("mobile.interaction must be an object")),void 0!==r.labels&&(Mt(r.labels)?(It(t,"mobile.labels.strategy",r.labels.strategy),$t(t,"mobile.labels.minFontSize",r.labels.minFontSize,0)):t.push("mobile.labels must be an object")),void 0!==r.custom&&(Mt(r.custom)?(Dt(t,"mobile.custom.dataBearingSceneNodes",r.custom.dataBearingSceneNodes),Dt(t,"mobile.custom.stableIds",r.custom.stableIds),It(t,"mobile.custom.navigationGranularity",r.custom.navigationGranularity)):t.push("mobile.custom must be an object"))}else t.push("mobile must be an object");for(const r of["caveats","tags"]){const s=e[r];void 0===s||Array.isArray(s)&&!s.some(e=>"string"!=typeof e)||t.push(r+" must be an array of strings")}return{valid:0===t.length,errors:t}}function jt(e){const t=[];if(!Mt(e))return{valid:!1,errors:["audience profile must be an object"]};if(Pt(t,e.specVersion),It(t,"name",e.name),void 0!==e.familiarity)if(Mt(e.familiarity))for(const[r,s]of Object.entries(e.familiarity))("number"!=typeof s||!Number.isInteger(s)||1>s||s>5)&&t.push(`familiarity.${r} must be an integer in [1, 5]`);else t.push("familiarity must be an object");if(void 0!==e.targets)if(Mt(e.targets))for(const[r,s]of Object.entries(e.targets))!Mt(s)||"increase"!==s.direction&&"decrease"!==s.direction?t.push(`targets.${r}.direction must be "increase" or "decrease"`):(Rt(t,"targets."+r,s,["direction","weight","reason"]),void 0===s.weight||"number"==typeof s.weight&&Number.isInteger(s.weight)&&s.weight>=1&&3>=s.weight||t.push(`targets.${r}.weight must be an integer in [1, 3]`),It(t,`targets.${r}.reason`,s.reason));else t.push("targets must be an object");return void 0===e.exposureLevel||"number"==typeof e.exposureLevel&&Number.isInteger(e.exposureLevel)&&[0,1,2].includes(e.exposureLevel)||t.push("exposureLevel must be 0, 1, or 2"),void 0===e.receptionModality||Lt.has(e.receptionModality)||t.push("receptionModality must be one of "+[...Lt].join(", ")),{valid:0===t.length,errors:t}}function zt(e){const t=[];if(!Mt(e))return{valid:!1,errors:["annotation must be an object"]};const r=e.provenance;if(void 0!==r)if(Mt(r)){for(const e of["author","authorKind","source","basis","dataVersion","stableId"])It(t,"provenance."+e,r[e]);$t(t,"provenance.confidence",r.confidence,0,1),void 0===r.createdAt||"string"==typeof r.createdAt&&function(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.test(e)&&!Number.isNaN(Date.parse(e))}(r.createdAt)||t.push("provenance.createdAt must be an ISO 8601 date-time string")}else t.push("provenance must be an object");const s=e.lifecycle;return void 0!==s&&(Mt(s)?(void 0===s.freshness||wt.has(s.freshness)||t.push("lifecycle.freshness must be one of "+[...wt].join(", ")),void 0===s.status||St.has(s.status)||t.push("lifecycle.status must be one of "+[...St].join(", ")),void 0===s.anchor||Bt.has(s.anchor)||t.push("lifecycle.anchor must be one of "+[...Bt].join(", ")),It(t,"lifecycle.supersedes",s.supersedes),void 0===s.ttlHint||"string"==typeof s.ttlHint||"number"==typeof s.ttlHint&&Number.isFinite(s.ttlHint)||t.push("lifecycle.ttlHint must be an ISO 8601 duration string or a number of milliseconds")):t.push("lifecycle must be an object")),{valid:0===t.length,errors:t}}function Et(e){const t=e;return{adapter:"semiotic/idid-capability-binding",direction:"import",sourceFormat:"idid-chart-capability",targetFormat:"semiotic-chart-capability",specVersion:"string"==typeof t?.specVersion?t.specVersion:Wt}}function Ot(e,t){return{status:"refused",diagnostics:t,lossReport:t.map(({code:e,message:t,path:r})=>({code:e,message:t,path:r})),provenance:Et(e)}}function Tt(e){return{key:e.key,label:e.label,props:{...e.props??{}},...void 0!==e.description?{description:e.description}:{},...void 0!==e.intentDeltas?{intentDeltas:{...e.intentDeltas}}:{},...void 0!==e.rubricDeltas?{rubricDeltas:{...e.rubricDeltas}}:{},...void 0!==e.caveats?{caveats:[...e.caveats]}:{},...void 0!==e.tags?{tags:[...e.tags]}:{}}}function Nt(e){const t={};if(void 0!==e.strategy&&(t.strategy=e.strategy),void 0!==e.responsive&&(t.responsive=e.responsive),void 0!==e.supportsResponsiveLayout&&(t.supportsResponsiveLayout=e.supportsResponsiveLayout),void 0!==e.breakpoints&&(t.breakpoints=[...e.breakpoints]),void 0!==e.minViewportWidth&&(t.minViewportWidth=e.minViewportWidth),void 0!==e.maxMarks&&(t.maxMarks=e.maxMarks),void 0!==e.maxAnnotations&&(t.maxAnnotations=e.maxAnnotations),void 0!==e.minimumHitTarget&&(t.minimumHitTarget=e.minimumHitTarget),void 0!==e.summary&&(t.summary=e.summary),void 0!==e.interaction){const r={};void 0!==e.interaction.primary&&(r.primary=e.interaction.primary),void 0!==e.interaction.alternatives&&(r.alternatives=[...e.interaction.alternatives]),void 0!==e.interaction.hoverFallback&&(r.hoverFallback=e.interaction.hoverFallback),void 0!==e.interaction.targetSize&&(r.targetSize=e.interaction.targetSize),t.interaction=r}return void 0!==e.labels&&(t.labels={...e.labels}),void 0!==e.custom&&(t.custom={...e.custom}),t}function Vt(e,t){const r=_t(e);if(!r.valid)return Ot(e,r.errors.map(e=>({code:"INVALID_PORTABLE_CAPABILITY",severity:"error",message:e})));const s=e;if(!t)return Ot(e,[{code:"HOST_CAPABILITY_NOT_FOUND",severity:"error",path:"/component",message:`No host capability is registered for "${s.component}". Resolve or register the renderer's executable capability before binding portable metadata.`}]);if(s.component!==t.component)return Ot(e,[{code:"CAPABILITY_COMPONENT_MISMATCH",severity:"error",path:"/component",message:`Portable component "${s.component}" cannot bind to host component "${t.component}".`}]);const o=function(e,t){const r=t.caveats?[...t.caveats]:[];if(e.caveats||0!==r.length)return t=>{const s=e.caveats?Array.from(e.caveats(t)):[];return[...new Set([...s,...r])]}}(t,s);return{status:"success",capability:{...t,rubric:{...s.rubric},intentScores:s.intentScores?{...s.intentScores}:{...t.intentScores},variants:s.variants?.map(Tt),...o?{caveats:o}:{caveats:void 0},...void 0!==s.mobile?{mobile:Nt(s.mobile)}:{},portableDescriptor:s},diagnostics:[],lossReport:[],provenance:Et(e)}}var Qt={linear:"linear",monotoneX:"monotone-x",monotoneY:"monotone-y",step:"step",stepAfter:"step-after",stepBefore:"step-before",basis:"basis",cardinal:"cardinal",catmullRom:"catmull-rom"};function qt(e){return{field:e,type:"quantitative"}}function Zt(e){return{field:e,type:"nominal"}}function Ht(e){return"time"===e.xScaleType?"temporal":"quantitative"}function Ut(e,t){return"string"==typeof t&&(e.axis={title:t}),e}var Gt={BarChart:["categoryAccessor","valueAccessor"],StackedBarChart:["categoryAccessor","valueAccessor","stackBy"],GroupedBarChart:["categoryAccessor","valueAccessor","groupBy"],LineChart:["xAccessor","yAccessor"],AreaChart:["xAccessor","yAccessor"],StackedAreaChart:["xAccessor","yAccessor","areaBy"],Scatterplot:["xAccessor","yAccessor"],BubbleChart:["xAccessor","yAccessor","sizeBy"],Heatmap:["xAccessor","yAccessor","valueAccessor"],PieChart:["valueAccessor","categoryAccessor"],DonutChart:["valueAccessor","categoryAccessor"],DotPlot:["categoryAccessor","valueAccessor"],Histogram:["valueAccessor"]},Yt={LineChart:["lineBy","colorBy"],AreaChart:["colorBy"],StackedAreaChart:["colorBy"],Scatterplot:["colorBy"],BubbleChart:["colorBy"],Heatmap:["colorBy"],Histogram:["categoryAccessor"]};function Jt(e,t={}){const r=[],s={adapter:"semiotic/vega-lite",direction:"export",sourceFormat:"semiotic-chart-config",targetFormat:"vega-lite",..."string"==typeof e.version?{specVersion:e.version}:{}},o=e.props||{},i=function(e,t){const r=[];for(const s of Gt[e]||[])"string"==typeof t[s]&&0!==t[s].length||r.push({code:"UNSERIALIZABLE_ACCESSOR",severity:"error",path:"/props/"+s,message:`${e} requires a string ${s} for Vega-Lite export.`});for(const s of Yt[e]||[])void 0===t[s]||"string"==typeof t[s]&&0!==t[s].length||r.push({code:"UNSERIALIZABLE_ACCESSOR",severity:"error",path:"/props/"+s,message:`${e} can export ${s} only as a non-empty string field name.`});return r}(e.component,o);if(i.length>0)return{status:"refused",diagnostics:i,lossReport:i.map(({code:e,message:t,path:r})=>({code:e,message:t,path:r})),provenance:s};const a={};let l;const n=e.component;switch(n){case"BarChart":case"StackedBarChart":case"GroupedBarChart":{l="bar";const e="horizontal"===o.orientation,t=Ut(Zt(o.categoryAccessor),o.categoryLabel),s=Ut(qt(o.valueAccessor),o.valueLabel);e?(a.y=t,a.x=s):(a.x=t,a.y=s),"StackedBarChart"===n&&o.stackBy?a.color=Zt(o.stackBy):"GroupedBarChart"===n&&o.groupBy&&(a.color=Zt(o.groupBy),r.push({code:"GROUPED_BAR_APPROXIMATION",path:"/props/groupBy",message:"GroupedBarChart maps groupBy to color; Vega-Lite needs xOffset for an exact grouped layout."}));break}case"LineChart":l=o.curve||o.showPoints?{type:"line"}:"line","object"==typeof l&&(o.curve&&Qt[o.curve]&&(l.interpolate=Qt[o.curve]),o.showPoints&&(l.point=!0)),a.x=Ut({field:o.xAccessor,type:Ht(o)},o.xLabel),a.y=Ut(qt(o.yAccessor),o.yLabel),o.lineBy?a.color=Zt(o.lineBy):o.colorBy&&(a.color=Zt(o.colorBy));break;case"AreaChart":case"StackedAreaChart":l=o.curve?{type:"area"}:"area","object"==typeof l&&o.curve&&Qt[o.curve]&&(l.interpolate=Qt[o.curve]),"object"==typeof l&&void 0!==o.areaOpacity&&(l.opacity=o.areaOpacity),a.x=Ut({field:o.xAccessor,type:Ht(o)},o.xLabel),a.y=Ut(qt(o.yAccessor),o.yLabel),"StackedAreaChart"===n&&o.areaBy&&(a.color=Zt(o.areaBy));break;case"Scatterplot":case"BubbleChart":l="point",a.x=Ut(qt(o.xAccessor),o.xLabel),a.y=Ut(qt(o.yAccessor),o.yLabel),o.colorBy&&(a.color=Zt(o.colorBy)),"BubbleChart"===n&&o.sizeBy&&(a.size=qt(o.sizeBy),Array.isArray(o.sizeRange)&&(a.size.scale={range:o.sizeRange}));break;case"Heatmap":l="rect",a.x=Ut(Zt(o.xAccessor),o.xLabel),a.y=Ut(Zt(o.yAccessor),o.yLabel),o.valueAccessor&&(a.color=qt(o.valueAccessor));break;case"PieChart":case"DonutChart":l="DonutChart"===n?{type:"arc",innerRadius:o.innerRadius??60}:"arc",o.valueAccessor&&(a.theta=qt(o.valueAccessor)),o.categoryAccessor&&(a.color=Zt(o.categoryAccessor));break;case"DotPlot":{l="tick";const e="horizontal"===o.orientation,t=Ut(Zt(o.categoryAccessor),o.categoryLabel),r=Ut(qt(o.valueAccessor),o.valueLabel);e?(a.y=t,a.x=r):(a.x=t,a.y=r);break}case"Histogram":l="bar",o.valueAccessor&&(a.x=Ut(qt(o.valueAccessor),o.valueLabel),a.x.bin=!o.bins||{maxbins:o.bins},a.y={aggregate:"count",type:"quantitative"}),o.categoryAccessor&&(a.color=Zt(o.categoryAccessor));break;default:{const e=`Component "${n}" has no supported Vega-Lite single-view equivalent.`;return{status:"refused",diagnostics:[{code:"UNSUPPORTED_COMPONENT",severity:"error",path:"/component",message:e}],lossReport:[{code:"UNSUPPORTED_COMPONENT",path:"/component",message:e}],provenance:s}}}o.colorScheme&&a.color&&(a.color.scale={...a.color.scale||{},scheme:o.colorScheme});const c={mark:l};return Array.isArray(o.data)&&(c.data={values:o.data}),Object.keys(a).length>0&&(c.encoding=a),"string"==typeof o.title&&(c.title=o.title),"number"==typeof o.width&&(c.width=o.width),"number"==typeof o.height&&(c.height=o.height),r.length>0&&!t.allowLossy?{status:"refused",diagnostics:r.map(({code:e,message:t,path:r})=>({code:e,severity:"error",message:t,path:r})),lossReport:r,provenance:s}:{status:r.length>0?"lossy":"success",spec:c,artifact:c,diagnostics:r.map(({code:e,message:t,path:r})=>({code:e,severity:"warning",message:t,path:r})),lossReport:r,provenance:s}}function Kt(e,t){return Jt(e,t).spec}function Xt(e,t){const r={...er(e),specVersion:Wt};return void 0!==t.capability&&(r.capability=t.capability),void 0!==t.audience&&(r.audience=t.audience),{...e,usermeta:{...e.usermeta,idid:r}}}function er(e){const t=e.usermeta;return t?.idid}function tr(e,t){const r={...er(e),specVersion:Wt,annotations:[...t]},s=t.map(or).filter(e=>null!==e).map(e=>({...e,usermeta:{idid:{role:"annotation-layer"}}}));if(0===s.length)return{...e,usermeta:{...e.usermeta,idid:r}};const o=Array.isArray(e.layer)?e.layer:[sr(e)],{mark:i,encoding:a,data:l,transform:n,usermeta:c,...d}=e;return{...d,usermeta:{...e.usermeta,idid:r},layer:[...o,...s]}}function rr(e){const t=er(e)?.annotations;return Array.isArray(t)?t:[]}function sr(e){const{mark:t,encoding:r,data:s,transform:o}=e,i={};return t&&(i.mark=t),r&&(i.encoding=r),s&&(i.data=s),o&&(i.transform=o),i}function or(e){const t=e;switch(t.type){case"y-threshold":return{mark:"rule",encoding:{y:{datum:t.value}}};case"x-threshold":return{mark:"rule",encoding:{x:{datum:t.value}}};case"callout":case"label":case"text":return"string"==typeof t.label?{mark:{type:"text",text:t.label}}:null;default:return null}}var ir={category10:"category10",tableau10:"category10",observable10:"category10",accent:"accent",dark2:"dark2",paired:"paired",pastel1:"pastel1",pastel2:"pastel2",set1:"set1",set2:"set2",set3:"set3"},ar={linear:"linear","monotone-x":"monotoneX","monotone-y":"monotoneY",step:"step","step-after":"stepAfter","step-before":"stepBefore",basis:"basis",cardinal:"cardinal","catmull-rom":"catmullRom",natural:"natural"},lr=new Set(["frame","gridx","gridy","gridfx","gridfy","axisx","axisy","axisfx","axisfy","rulex","ruley","tip","crosshair","pointer","hexgrid","text"]);function nr(e){return"string"==typeof e?e:void 0}function cr(e,t){if(!Array.isArray(e)||!t)return!1;for(const r of e){const e=r?.[t];if(null!=e)return!("number"==typeof e||e instanceof Date)&&"string"==typeof e&&Number.isNaN(Date.parse(e))}return!1}function dr(e,t,r){(function(e){return"function"==typeof e})(t)&&e.push(`The "${r}" channel is a function accessor, which can't be serialized to a config. Pass a field name (string) instead, or pre-derive the field on your data.`)}function fr(e){const t=[];(e.facet||e.fx||e.fy)&&t.push('Faceted plots ("facet"/"fx"/"fy") are not supported. Use Semiotic\'s LinkedCharts or render multiple charts.');const r=(Array.isArray(e.marks)?e.marks:[]).filter(e=>e&&!lr.has(e.type.toLowerCase()));if(0===r.length)return t.push("No translatable data mark found in the Plot spec. Defaulting to an empty Scatterplot."),mr("Scatterplot",{},t);r.length>1&&t.push(`Multiple data marks (${r.map(e=>e.type).join(", ")}); only the first is translated. Layered multi-mark plots aren't supported.`);const s=r[0],o=s.options||{},i=s.data||e.data,a={};"number"==typeof e.width&&(a.width=e.width),"number"==typeof e.height&&(a.height=e.height),"string"==typeof e.title&&(a.title=e.title),e.x?.label&&(a.xLabel=e.x.label),e.y?.label&&(a.yLabel=e.y.label);const l=e.color?.scheme?ir[e.color.scheme]:void 0;dr(t,o.x,"x"),dr(t,o.y,"y"),dr(t,o.fill,"fill"),dr(t,o.stroke,"stroke"),dr(t,o.r,"r");const n=nr(o.x),c=nr(o.y),d=nr(o.fill),f=nr(o.stroke),u=d||f,y=s.type.toLowerCase();let p;switch(y){case"line":case"liney":case"linex":{p="LineChart",n&&(a.xAccessor=n),c?a.yAccessor=c:t.push(s.type+" has no explicit y field; provide options.y."),cr(i,n)&&t.push(`The x field "${n}" looks categorical; LineChart uses a continuous x scale, so a categorical x won't position (the line won't draw). Use a numeric/time x, or a bar chart for categories.`),"liney"!==y||n||t.push("lineY without an explicit x plots against the row index, which Semiotic doesn't infer. Provide options.x.");const e=f||d;e&&(a.lineBy=e),pr(o,a),hr(a,i,{colorScheme:l});break}case"bary":case"bar":p=u?"StackedBarChart":"BarChart",n&&(a.categoryAccessor=n),c&&(a.valueAccessor=c),u&&(a.stackBy=u),hr(a,i,{colorScheme:l});break;case"barx":p=u?"StackedBarChart":"BarChart",a.orientation="horizontal",c&&(a.categoryAccessor=c),n&&(a.valueAccessor=n),u&&(a.stackBy=u),hr(a,i,{colorScheme:l});break;case"dot":case"doty":case"dotx":case"circle":{const e=o.r;"string"==typeof e?(p="BubbleChart",a.sizeBy=e):(p="Scatterplot","number"==typeof e&&(a.pointRadius=e)),n&&(a.xAccessor=n),c&&(a.yAccessor=c),hr(a,i,{colorBy:u,colorScheme:l});break}case"area":case"areay":case"areax":p=d&&d!==c?"StackedAreaChart":"AreaChart",n&&(a.xAccessor=n),c&&(a.yAccessor=c),cr(i,n)&&t.push(`The x field "${n}" looks categorical; ${p} uses a continuous x scale, so a categorical x won't position. Use a numeric/time x.`),"StackedAreaChart"===p&&d&&(a.areaBy=d),pr(o,a),hr(a,i,{colorBy:"StackedAreaChart"===p?void 0:u,colorScheme:l});break;case"recty":case"rectx":case"rect":{p="Histogram";const e="rectx"===y?n:c||n;e&&(a.valueAccessor=e),u&&(a.categoryAccessor=u),hr(a,i,{colorScheme:l});break}case"cell":case"celly":case"cellx":p="Heatmap",n&&(a.xAccessor=n),c&&(a.yAccessor=c),u&&(a.valueAccessor=u),hr(a,i);break;case"tick":case"tickx":case"ticky":p="DotPlot","tickx"===y?(c&&(a.categoryAccessor=c),n&&(a.valueAccessor=n),a.orientation="horizontal"):(n&&(a.categoryAccessor=n),c&&(a.valueAccessor=c)),hr(a,i,{colorBy:u,colorScheme:l});break;default:t.push(`Plot mark "${s.type}" has no faithful Semiotic equivalent in this adapter. Defaulting to a Scatterplot of x/y; verify the result or file for support.`),p="Scatterplot",n&&(a.xAccessor=n),c&&(a.yAccessor=c),hr(a,i,{colorBy:u,colorScheme:l})}if(ur.has(p)){const t=yr(e.x?.type),r=yr(e.y?.type);t&&(a.xScaleType=t),r&&(a.yScaleType=r)}return mr(p,a,t)}var ur=new Set(["LineChart","AreaChart","StackedAreaChart","Scatterplot","BubbleChart"]);function yr(e){return"time"===e||"utc"===e?"time":"log"===e?"log":void 0}function pr(e,t){e.curve&&ar[e.curve]&&(t.curve=ar[e.curve])}function hr(e,t,r={}){Array.isArray(t)&&(e.data=t),r.colorBy&&(e.colorBy=r.colorBy),r.colorScheme&&(e.colorScheme=r.colorScheme)}function mr(e,t,r){const s={component:e,props:t,version:"1",createdAt:(new Date).toISOString()};if(r.length>0){s.warnings=r;for(const e of r)console.warn("[semiotic/fromObservablePlot] "+e)}return s}var kr=new Set(["sequencediagram","classdiagram","statediagram","statediagram-v2","erdiagram","gantt","pie","journey","gitgraph","mindmap","timeline","quadrantchart","requirementdiagram","c4context","sankey-beta","block-beta","xychart-beta"]),vr=new Set(["TD","TB","BT","LR","RL"]),xr=/(<-->|-\.->|-\.-|-->|--x|--o|---|==>|===)/,Cr=[["((","))","circle"],["([","])","stadium"],["[[","]]","subroutine"],["[(",")]","cylinder"],["{{","}}","hexagon"],["[","]","rect"],["(",")","round"],["{","}","diamond"],[">","]","flag"]];function br(e){const t=e.trim();return t.length>=2&&('"'===t[0]&&t.endsWith('"')||"'"===t[0]&&t.endsWith("'"))?t.slice(1,-1):t}function gr(e){const t=e.trim();if(!t)return null;const r=t.match(/^([A-Za-z0-9_][\w-]*)/);if(!r)return null;const s=r[1],o=t.slice(s.length).trim();if(!o)return{id:s};for(const[e,t,r]of Cr)if(o.startsWith(e)&&o.endsWith(t)&&o.length>=e.length+t.length)return{id:s,label:br(o.slice(e.length,o.length-t.length)),shape:r};return{id:s}}function Wr(e){const t=[],r=()=>({kind:"flowchart",direction:"TD",nodes:[],edges:[],...t.length?{warnings:t}:{}});if("string"!=typeof e||!e.trim())return t.push("Empty Mermaid input."),r();const s=e.split("\n").map(e=>e.replace(/%%.*$/,"").trim()).filter(e=>e.length>0);if(0===s.length)return t.push("No content after stripping comments."),r();const o=s[0],i=o.split(/\s+/)[0].toLowerCase();if("graph"!==i&&"flowchart"!==i&&(kr.has(i)?t.push(`Mermaid "${o.split(/\s+/)[0]}" diagrams aren't supported — only graph/flowchart compile to a Semiotic graph. Other diagram types are declined rather than mistranslated.`):t.push(`Expected a "graph" or "flowchart" header; got "${o}". Treating remaining lines as flowchart edges.`),kr.has(i)))return r();let a="TD";const l=o.split(/\s+/)[1]?.toUpperCase();l&&vr.has(l)&&(a=l);const n="graph"===i||"flowchart"===i?1:0,c=new Map,d=[];let f=0;const u=e=>{const t=c.get(e.id);t?e.label&&t.label===t.id&&(t.label=e.label,e.shape&&(t.shape=e.shape)):c.set(e.id,{id:e.id,label:e.label??e.id,shape:e.shape??"rect",layer:0,row:f++})},y=e=>e.replace(/--\s+([^->|]+?)\s+-->/g,"--\x3e|$1|").replace(/-\.\s+([^->|]+?)\s+\.->/g,"-.->|$1|").replace(/==\s+([^=>|]+?)\s+==>/g,"==>|$1|");for(let e=n;s.length>e;e++){const r=y(s[e]);if(/^(subgraph|end|classDef|class|style|click|linkStyle|direction)\b/.test(r)){/^subgraph\b/.test(r)&&t.push("`subgraph` grouping is flattened; nodes are kept, the grouping is dropped.");continue}if(!xr.test(r)){const e=gr(r);e&&u(e);continue}const o=r.split(xr);let i=null;for(let e=0;o.length>e;e+=2){let r,s=o[e].trim();const a=s.match(/^\|([^|]*)\|\s*(.*)$/);a&&(r=br(a[1]),s=a[2].trim()),s.includes("&")&&(t.push('Multiple nodes joined with "&" — only the first is linked in this alpha.'),s=s.split("&")[0].trim());const l=gr(s);l?(u(l),i&&d.push({source:i.id,target:l.id,...r?{label:r}:{}}),i=l):i=null}}return 0===c.size?(t.push("No nodes found."),r()):(function(e,t,r){const s=new Map,o=new Map;for(const t of e.keys())s.set(t,[]),o.set(t,0);for(const r of t)r.source!==r.target&&e.has(r.source)&&e.has(r.target)&&(s.get(r.source).push(r.target),o.set(r.target,(o.get(r.target)||0)+1));const i=[];for(const[e,t]of o)0===t&&i.push(e);let a=0;for(;i.length>0;){const t=i.shift();a++;const r=e.get(t).layer;for(const a of s.get(t)){const t=e.get(a);r+1>t.layer&&(t.layer=r+1);const s=(o.get(a)||0)-1;o.set(a,s),0===s&&i.push(a)}}e.size>a&&r.push("Graph contains a cycle; layering is best-effort (not a strict DAG).");const l=new Map;for(const t of e.values()){const e=l.get(t.layer)||[];e.push(t),l.set(t.layer,e)}for(const e of l.values())e.sort((e,t)=>e.row-t.row),e.forEach((e,t)=>{e.row=t})}(c,d,t),{kind:"flowchart",direction:a,nodes:[...c.values()],edges:d,...t.length?{warnings:t}:{}})}var Ar={linear:"linear",monotone:"monotoneX","monotone-x":"monotoneX","monotone-y":"monotoneY",step:"step","step-before":"stepBefore","step-after":"stepAfter",basis:"basis",cardinal:"cardinal","catmull-rom":"catmullRom"},wr={category10:"category10",tableau10:"category10",accent:"accent",dark2:"dark2",paired:"paired",pastel1:"pastel1",pastel2:"pastel2",set1:"set1",set2:"set2",set3:"set3"},Sr=new Set(["blues","reds","greens","viridis","custom"]),Br={theta:"size",value:"size"},Lr={bar:["x","y","color"],groupedBar:["x","y","group","color"],stackedBar:["x","y","color","group"],line:["x","y","color","detail","strokeDash","order"],area:["x","y","color"],scatter:["x","y","color","size","shape"],heatmap:["x","y","color"],pie:["size","color","angle","value","theta","y"],histogram:["x","y","color"],boxplot:["x","y","color"]};function Mr(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Fr(e,t){const r=e[t]?.field;return"string"==typeof r&&r.length>0?r:void 0}function Ir(e){return"nominal"===e?.type||"ordinal"===e?.type}function $r(e){return"quantitative"===e?.type||"temporal"===e?.type}function Dr(e,t,r){if("temporal"===e?.type)return!0;const s=function(e,t){if(!e||!t)return;const r=t[e];return"string"==typeof r?r:"string"==typeof r?.semanticType?r.semanticType:void 0}(t,r);return!!s&&/date|time|year|month|quarter|week/i.test(s)}function Rr(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0}function Pr(e){return"string"==typeof e&&e.length>0?e:void 0}function _r(e){return"boolean"==typeof e?e:void 0}function jr(e,t,r){r.push(`Temporal ${t} field "${e||"unknown"}" contains unparseable date strings; those rows will be skipped by the time scale. Prefer Date objects, ISO date strings, or epoch timestamps.`)}function zr(e,t,r){if(!t)return;const s=t.toLowerCase(),o=wr[s];o?e.colorScheme=o:r.push(`Flint color scheme "${t}" is not mapped to a Semiotic categorical colorScheme.`)}function Er(e,t,r,s){r&&("xy"===s?(t.x&&r[t.x]&&(e.xLabel=r[t.x]),t.y&&r[t.y]&&(e.yLabel=r[t.y])):(t.category&&r[t.category]&&(e.categoryLabel=r[t.category]),t.value&&r[t.value]&&(e.valueLabel=r[t.value])))}function Or(e){const t=e.x,r=e.y,s=Fr(e,"x"),o=Fr(e,"y");return Ir(t)&&!Ir(r)?{category:s,value:o,valueEncoding:r}:Ir(r)&&!Ir(t)||$r(t)&&!$r(r)&&o?{category:o,value:s,valueEncoding:t,orientation:"horizontal"}:{category:s,value:o,valueEncoding:r}}function Tr(e,t,r,s,o){const i=function(e){return"count"===e||"sum"===e||"mean"===e?e:"average"===e?"mean":void 0}(s);if(!i)return{data:e,valueAccessor:r};if(!e)return o.push(`aggregate: "${s}" requires inline data.values; leaving the requested value accessor unchanged.`),{data:e,valueAccessor:r||"value"};if("count"!==i&&!r)return o.push(`aggregate: "${s}" requires an encoded value field; leaving data unaggregated.`),{data:e,valueAccessor:r};const a=new Map,l=t.filter(e=>!!e);for(const t of e){const e={};for(const r of l)e[r]=t[r];const s=JSON.stringify(e);let o=a.get(s);if(o||(o={keys:e,values:[],count:0},a.set(s,o)),o.count+=1,r){const e=Number(t[r]);Number.isFinite(e)&&o.values.push(e)}}const n=[];for(const e of a.values()){let t=e.count;"sum"===i?t=e.values.reduce((e,t)=>e+t,0):"mean"===i&&(t=e.values.length>0?e.values.reduce((e,t)=>e+t,0)/e.values.length:0),n.push({...e.keys,value:t})}return{data:n,valueAccessor:"value"}}function Nr(e,t){t&&(e.data=t)}function Vr(e,t,r){const s=Pr(t?.interpolate);if(!s)return;const o=Ar[s];o?e.curve=o:r.push(`Flint interpolate "${s}" is not mapped to a Semiotic curve.`)}function Qr(e){const t=[],r=e.chart_spec,s=r?.chartType,o=function(e){const t=((e||"")+"").toLowerCase().replace(/[^a-z0-9]/g,"");return"barchart"===t||"bar"===t?"bar":"groupedbarchart"===t||"groupedbar"===t||"clusteredbar"===t?"groupedBar":"stackedbarchart"===t||"stackedbar"===t?"stackedBar":"linechart"===t||"line"===t?"line":"areachart"===t||"area"===t||"streamgraph"===t?"area":"scatterplot"===t||"scatter"===t||"scatterchart"===t||"pointchart"===t?"scatter":"heatmap"===t||"heatmapchart"===t?"heatmap":"piechart"===t||"pie"===t||"donutchart"===t||"donut"===t?"pie":"histogram"===t||"histogramchart"===t?"histogram":"boxplot"===t||"boxplotchart"===t||"boxandwhisker"===t||"boxandwhiskerplot"===t?"boxplot":void 0}(s),i=r?.chartProperties,a=Array.isArray(e.data?.values)?e.data.values:void 0,l="string"==typeof e.data?.url?e.data.url:void 0,n=function(e,t){const r={};if(!e||"object"!=typeof e)return r;for(const[s,o]of Object.entries(e)){const e=Br[s]||s;let i=o;if(Array.isArray(i)){if(0===i.length)continue;t.push(`Static-series array encoding on "${s}" is not supported; using the first field and preserving the full encoding in flint.unmappedEncodings.`),i=i[0]}"string"==typeof i?r[e]={field:i}:Mr(i)?r[e]=i:null!=i&&t.push(`Encoding "${s}" is not an object, string, or array and was ignored.`)}return r}(r?.encodings,t),d={};l&&t.push("data.url is preserved in flint.dataUrl but not fetched; resolve it to data.values before rendering."),o||t.push(`Unsupported Flint chartType "${s}". Defaulting to Scatterplot.`),function(e,t,r,s){const o=t||r;if(!o)return;let i=o.width,a=o.height;t&&r&&(t.width>r.width&&(i=r.width,s.push("chart_spec.canvasSize.width is smaller than baseSize.width; clamped Semiotic width to the canvas ceiling.")),t.height>r.height&&(a=r.height,s.push("chart_spec.canvasSize.height is smaller than baseSize.height; clamped Semiotic height to the canvas ceiling."))),Number.isFinite(i)&&(e.width=i),Number.isFinite(a)&&(e.height=a)}(d,r?.baseSize,r?.canvasSize,t),function(e,t){const r=Pr(t?.title);r&&(e.title=r)}(d,i);const f=o||"scatter";let u;switch(f){case"bar":case"groupedBar":case"stackedBar":u=function(e,t,r,s,o,i,a){const l={...s},n=Or(t),c="groupedBar"===e?Fr(t,"group")||Fr(t,"color"):Fr(t,"color")||Fr(t,"group"),d=Tr(r,[n.category,c],n.value,n.valueEncoding?.aggregate,a);Nr(l,d.data),n.category&&(l.categoryAccessor=n.category),d.valueAccessor&&(l.valueAccessor=d.valueAccessor),n.orientation&&(l.orientation=n.orientation),Er(l,{category:n.category,value:n.value},i,"ordinal");const f=Rr(o?.cornerRadius);void 0!==f&&(l.roundedTop=f);const u=Pr(o?.stackMode);if("normalize"===u?l.normalize=!0:u&&"stacked"!==u&&a.push(`Flint stackMode "${u}" is not supported by Semiotic ${e}; leaving default stacking behavior.`),zr(l,t.color?.scheme,a),"groupedBar"===e)return c&&(l.groupBy=c,l.colorBy=c,l.showLegend=!0),{component:"GroupedBarChart",props:l,supportedProperties:["cornerRadius"]};if("stackedBar"===e)return c?(l.stackBy=c,l.colorBy=c,l.showLegend=!0,{component:"StackedBarChart",props:l,supportedProperties:["cornerRadius","stackMode"]}):(a.push("Stacked Bar Chart has no color/group series field; emitted a BarChart instead."),{component:"BarChart",props:l,supportedProperties:["cornerRadius","stackMode"]});const y=Fr(t,"color");return y&&(l.colorBy=y),{component:"BarChart",props:l,supportedProperties:["cornerRadius"]}}(f,n,a,d,i,e.field_display_names,t);break;case"line":case"area":case"scatter":u=function(e,t,r,s,o,i,a,l){const n={...s},d=Fr(t,"x"),f=Fr(t,"y"),u=Fr(t,"color"),y=Fr(t,"detail"),p=Fr(t,"size"),h=Fr(t,"shape"),m=Tr(r,[d,u||y],f,t.y?.aggregate,l),k=Dr(t.x,d,i),v=Dr(t.y,f,i);let x=m.data;if(k){const e=c(x,d);x=e.data,e.failed&&jr(d,"x",l)}if(v){const e=c(x,m.valueAccessor);x=e.data,e.failed&&jr(m.valueAccessor,"y",l)}if(Nr(n,x),d&&(n.xAccessor=d),m.valueAccessor&&(n.yAccessor=m.valueAccessor),k&&(n.xScaleType="time"),v&&(n.yScaleType="time"),Er(n,{x:d,y:f},a,"xy"),"line"===e){(u||y)&&(n.lineBy=u||y,n.colorBy=u||y),Vr(n,o,l);const e=_r(o?.showPoints);return void 0!==e&&(n.showPoints=e),{component:"LineChart",props:n,supportedProperties:["interpolate","showPoints"]}}if("area"===e){Vr(n,o,l);const e=Rr(o?.opacity);void 0!==e&&(n.areaOpacity=e);const t=Pr(o?.stackMode);return"normalize"===t?n.normalize=!0:t&&"stacked"!==t&&l.push(`Flint area stackMode "${t}" is not supported by Semiotic; leaving default stacking behavior.`),u?(n.areaBy=u,n.colorBy=u,{component:"StackedAreaChart",props:n,supportedProperties:["interpolate","opacity","stackMode"]}):{component:"AreaChart",props:n,supportedProperties:["interpolate","opacity"]}}if(u&&(n.colorBy=u),p){n.sizeBy=p,h&&l.push("Flint shape encoding is not mapped for BubbleChart; Semiotic only maps shape onto Scatterplot in this adapter.");const e=Rr(o?.opacity);return void 0!==e&&(n.bubbleOpacity=e),zr(n,t.color?.scheme,l),{component:"BubbleChart",props:n,supportedProperties:["opacity"]}}h&&(n.symbolBy=h);const C=Rr(o?.opacity);return void 0!==C&&(n.pointOpacity=C),zr(n,t.color?.scheme,l),{component:"Scatterplot",props:n,supportedProperties:["opacity"]}}(f,n,a,d,i,e.semantic_types,e.field_display_names,t);break;case"heatmap":u=function(e,t,r,s,o,i){const a={...r},l=Fr(e,"x"),n=Fr(e,"y"),c=Fr(e,"color");Nr(a,t),l&&(a.xAccessor=l),n&&(a.yAccessor=n),c&&(a.valueAccessor=c);const d=_r(s?.showTextLabels);return void 0!==d&&(a.showValues=d),Er(a,{x:l,y:n},o,"xy"),function(e,t,r){if(!t)return;const s=t.toLowerCase();Sr.has(s)?e.colorScheme=s:r.push(`Flint heatmap color scheme "${t}" is not available in Semiotic's Heatmap colorScheme enum.`)}(a,e.color?.scheme||Pr(s?.colorScheme),i),{component:"Heatmap",props:a,supportedProperties:["showTextLabels","colorScheme"]}}(n,a,d,i,e.field_display_names,t);break;case"pie":u=function(e,t,r,s,o,i){const a={...s},l=Fr(t,"color"),n=Tr(r,[l],Fr(t,"size")||Fr(t,"angle")||Fr(t,"y"),t.size?.aggregate||t.angle?.aggregate||t.y?.aggregate,i);Nr(a,n.data),l&&(a.categoryAccessor=l),n.valueAccessor&&(a.valueAccessor=n.valueAccessor);const c=Rr(o?.innerRadius),d=/donut/i.test(e)||void 0!==c&&c>0;d&&void 0!==c&&(a.innerRadius=c);const f=Rr(o?.cornerRadius);return void 0!==f&&(a.cornerRadius=f),null!=o?.sortSlices&&i.push("Flint sortSlices is not mapped; preserve or sort slice order before calling unstable_fromFlintChart()."),zr(a,t.color?.scheme,i),{component:d?"DonutChart":"PieChart",props:a,supportedProperties:["innerRadius","cornerRadius","sortSlices"]}}(s,n,a,d,i,t);break;case"histogram":u=function(e,t,r,s){const o={...r},i=Fr(e,"x")||Fr(e,"y"),a=Fr(e,"color");Nr(o,t),i&&(o.valueAccessor=i),a&&(o.categoryAccessor=a,o.colorBy=a);const l=Rr(s?.binCount);return void 0!==l&&l>0&&(o.bins=l),{component:"Histogram",props:o,supportedProperties:["binCount"]}}(n,a,d,i);break;case"boxplot":u=function(e,t,r,s,o,i){const a={...r},l=Or(e);Nr(a,t),l.category&&(a.categoryAccessor=l.category),l.value&&(a.valueAccessor=l.value),l.orientation&&(a.orientation=l.orientation);const n=Fr(e,"color");n&&(a.colorBy=n);const c=_r(s?.showOutliers);void 0!==c&&(a.showOutliers=c);const d=Pr(s?.whiskerMethod);return d&&"iqr"!==d&&i.push(`Flint whiskerMethod "${d}" is not mapped; Semiotic BoxPlot keeps its default whisker calculation.`),Er(a,{category:l.category,value:l.value},o,"ordinal"),{component:"BoxPlot",props:a,supportedProperties:["showOutliers","whiskerMethod"]}}(n,a,d,i,e.field_display_names,t)}!function(e,t,r,s){if(!t)return;const o=new Set([...r,"title"]),i=Object.keys(t).filter(e=>!o.has(e));i.length>0&&s.push(`Flint chartProperties not mapped for ${e}: ${i.join(", ")}.`)}(f,i,u.supportedProperties,t);const y=function(e,t,r){if(!t)return;const s=new Set(Lr[e]),o={};for(const[e,r]of Object.entries(t))s.has(Br[e]||e)&&!Array.isArray(r)||(o[e]=r);if(0===Object.keys(o).length)return;const i=Object.keys(o),a=i.filter(e=>"column"===e||"row"===e);a.length>0&&r.push(`Flint facet channel(s) ${a.join(", ")} are not supported by this adapter; render multiple Semiotic charts instead.`);const l=i.filter(e=>"column"!==e&&"row"!==e&&!s.has(Br[e]||e));return l.length>0&&r.push(`Flint encoding channel(s) not mapped for ${e}: ${l.join(", ")}.`),o}(f,r?.encodings,t),p={component:u.component,props:u.props,version:"1",createdAt:(new Date).toISOString(),flint:{chartType:s||"",...e.semantic_types?{semanticTypes:e.semantic_types}:{},...e.field_display_names?{fieldDisplayNames:e.field_display_names}:{},...i?{chartProperties:i}:{},...r?.baseSize?{baseSize:r.baseSize}:{},...r?.canvasSize?{canvasSize:r.canvasSize}:{},...l?{dataUrl:l}:{},...e.options?{options:e.options}:{},...y?{unmappedEncodings:y}:{}}};if(t.length>0){p.warnings=t;for(const e of t)console.warn("[semiotic/fromFlintChart] "+e)}return p}function qr(e){const t=e.datum;if(t&&"object"==typeof t){const e=t.label??t.name??t.id;if(null!=e&&""!==e)return e+""}return e.id}function Zr(e,t={}){const r=t.bodies??[],s=Math.max(0,t.recentBodyLimit??6),o=new Map;for(const e of r){const r=t.getContainerId?.(e);if(!r)continue;const s=o.get(r);s?s.push(e):o.set(r,[e])}const i=e.map(e=>{const r=o.get(e.id)??[],i=Math.max(0,Math.floor(e.count??r.length)),a=r.slice(Math.max(0,r.length-s)).map(e=>({id:e.id,label:t.getBodyLabel?.(e)??qr(e),datum:e.datum}));return{id:e.id,label:e.label,count:i,share:0,secondary:e.secondary,secondaryLabel:e.secondaryLabel,observed:e.observed,bodyIds:r.map(e=>e.id),recentBodies:a,metadata:e.metadata}}),a=i.reduce((e,t)=>e+t.count,0);return i.map(e=>({...e,share:a>0?e.count/a:0}))}function Hr(e,t={}){const r=t.chartType??"Physics chart",s=t.chartId??"physics",o=e.reduce((e,t)=>e+t.count,0),i=e.filter(e=>e.count>0).length,a=t.projectionLabel??"settled projection",l=Math.max(0,t.maxBodiesPerContainer??6);let n=0;return{id:s,role:"chart",level:1,label:t.title??`${r}: ${o} bodies across ${e.length} containers; ${i} containers currently non-empty.`,children:e.map(e=>{const t=e.recentBodies.slice(0,l).map(t=>{return{id:`${e.id}-body-${n++}`,role:"datum",level:3,label:t.label,datum:(r=t.datum,r&&"object"==typeof r?r:null)};var r}),r=Math.max(0,e.bodyIds.length-t.length);r>0&&t.push({id:`${e.id}-more-${n++}`,role:"datum",level:3,label:`…and ${r} more recent bodies`});const s=[e.count+" bodies"];var o;return s.push(Number.isFinite(o=e.share)&&o>0?.01>o?"<1%":Math.round(100*o)+"%":"0%"),null!=e.secondary&&e.secondary>0&&s.push(`${e.secondary} ${e.secondaryLabel??"secondary"}`),null!=e.observed&&s.push(e.observed+" observed"),{id:e.id,role:"series",level:2,label:`${e.label}: ${s.join(", ")} in the ${a}.`,value:e.count,datum:e.metadata??null,children:t}})}}function Ur(e,t={}){const r=t.getDatumLabel?.(e.datum,e)??function(e,t){if(e&&"object"==typeof e){const t=e.label??e.name??e.id;if(null!=t&&""!==t)return t+""}return t}(e.datum,e.bodyId);return"physics-bin-enter"===e.type?`${r??"A body"} entered ${e.binId??e.sensorId??"a bin"}.`:"physics-bin-exit"===e.type?`${r??"A body"} exited ${e.binId??e.sensorId??"a bin"}.`:"physics-proximity-enter"===e.type?`${r??"A body"} entered proximity sensor ${e.binId??e.sensorId??"a sensor"}.`:"physics-proximity-exit"===e.type?`${r??"A body"} exited proximity sensor ${e.binId??e.sensorId??"a sensor"}.`:"physics-settle"===e.type?(r??"A body")+" settled.":"physics-late"===e.type?`${r??"A body"} arrived late for ${e.binId??e.sensorId??"a closed window"}.`:"physics-barrier-cross"===e.type?`${s=e.barrierId??"Barrier",0===s.length?s:s.charAt(0).toUpperCase()+s.slice(1)} crossed ${function(e){return e.binId?e.binId:"number"==typeof e.barrierValue?""+Math.round(e.barrierValue):"a threshold"}(e)}.`:"sim-active"===e.type?"Simulation running.":"sim-idle"===e.type?"Simulation settled.":null;var s}export{_ as EXPERIMENTAL_GOFISH_ADAPTER_NAME,Wt as IDID_SPEC_VERSION,At as unstable_BUILTIN_INTENT_IDS,d as unstable_BuiltInPhysicsEngineAdapter,fe as unstable_DEFAULT_DATA_PITFALLS_ANNOTATION_PALETTE,f as unstable_DEFAULT_PHYSICS_CANVAS_THEME,u as unstable_PhysicsCustomChart,y as unstable_PhysicsPipelineStore,p as unstable_PhysicsSedimentAccumulator,Qe as unstable_SEMIOTIC_VACP_ACTIVATE_NAVIGATION_ACTION,Ve as unstable_SEMIOTIC_VACP_CLEAR_SELECTION_ACTION,qe as unstable_SEMIOTIC_VACP_INSPECT_DATA_ACTION,Ne as unstable_SEMIOTIC_VACP_SET_INTERVAL_SELECTION_ACTION,Te as unstable_SEMIOTIC_VACP_SET_POINT_SELECTION_ACTION,gt as unstable_SemioticVACPBridge,h as unstable_StreamPhysicsFrame,He as unstable_VACP_DATA_SCHEMA_ACTION,Ze as unstable_VACP_SCHEMA_VERSION,Xt as unstable_attachIDID,tr as unstable_attachIDIDAnnotations,Vt as unstable_bindPortableCapability,we as unstable_buildDataPitfallsAnnotationBridge,Le as unstable_buildDataPitfallsBridge,ge as unstable_buildDataPitfallsNotificationBridge,Hr as unstable_buildPhysicsNavigationTree,m as unstable_buildPhysicsSettledEvidence,Zr as unstable_buildPhysicsSettledProjection,k as unstable_buildPhysicsSettledScene,v as unstable_collidersFromPhysicsAnnotations,x as unstable_collidersFromPlotBounds,C as unstable_collidersFromXScaleBins,b as unstable_createDefaultPhysicsEngineAdapter,mt as unstable_createSemioticVACPBridge,We as unstable_dataPitfallsFindingToAnnotation,Ce as unstable_dataPitfallsFindingToNotification,g as unstable_evaluatePhysicsBodyBudget,Qr as unstable_fromFlintChart,H as unstable_fromGofishIR,Wr as unstable_fromMermaid,fr as unstable_fromObservablePlot,i as unstable_fromVegaLiteResult,ie as unstable_gofishBobaIR,oe as unstable_gofishBottleIR,re as unstable_gofishFlowerIR,de as unstable_gofishIRExamples,ae as unstable_gofishPythonIR,se as unstable_gofishTreemapIR,kt as unstable_installSemioticVACPBridge,W as unstable_physicsBodiesToXYSceneNodes,A as unstable_physicsBodyToXYSceneNode,w as unstable_physicsCanvasColorWithAlpha,Ur as unstable_physicsObservationAnnouncement,er as unstable_readIDID,rr as unstable_readIDIDAnnotations,S as unstable_renderPhysicsSettledSVG,B as unstable_resolvePhysicsBodyAnnotations,L as unstable_resolvePhysicsCanvasTheme,M as unstable_schedulePhysicsSpawns,F as unstable_sedimentHeightfield,I as unstable_summarizePhysicsAnnotations,Ae as unstable_toDataPitfallsAnnotations,Me as unstable_toDataPitfallsChain,be as unstable_toDataPitfallsNotifications,Kt as unstable_toVegaLite,Jt as unstable_toVegaLiteResult,n as unstable_unwrapIDIDEnrichedVegaLiteSpec,zt as unstable_validatePortableAnnotation,jt as unstable_validatePortableAudienceProfile,_t as unstable_validatePortableCapability};
|