digraph ipu_stack_package_partition {
  graph [rankdir=LR, bgcolor="white", fontname="DejaVu Sans", fontsize=17,
         label="ipu_driver — package build/run detail", labelloc=t, labeljust=l, pad=0.2, nodesep=0.3, ranksep=0.75, newrank=true, overlap=false, splines=polyline, outputorder=edgesfirst];
  node [fontname="DejaVu Sans", fontsize=9, style="rounded,filled", color="#52606d", penwidth=0.8];
  edge [fontname="DejaVu Sans", fontsize=7, color="#52606d", arrowsize=0.55, penwidth=0.8];
  run_entry [label="ipu_cli::main\nCommand::HostRun arm", shape=octagon, fillcolor="#d5f5e3", penwidth=1.4];
  subgraph cluster_primary { label="primary nodes"; color="#f9dfc5"; style="rounded";
    f9 [label="ipu_driver::BufferAttachment::new", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn new( device: &'a Device, index: u32, address: *mut u8, size: usize, ) -> Result<Self, DriverError> — crates/ipu-driver/src/lib.rs:1166"];
    f48 [label="ipu_driver::Device::attach_buffer", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn attach_buffer( &self, index: u32, address: *mut u8, size: usize, ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:966"];
    f2 [label="ipu_driver::Device::check_offset", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn check_offset(&self, offset: u32) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1037"];
    f42 [label="ipu_driver::Device::clear_host_sync_marks", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn clear_host_sync_marks(&self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:428"];
    f50 [label="ipu_driver::Device::detach_all_buffers", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn detach_all_buffers(&self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:993"];
    f49 [label="ipu_driver::Device::detach_buffer", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn detach_buffer(&self, index: u32) — crates/ipu-driver/src/lib.rs:989"];
    f40 [label="ipu_driver::Device::initialize", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn initialize(&self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:378"];
    f1 [label="ipu_driver::Device::ioctl_pointer", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn ioctl_pointer( &self, request: libc::c_ulong, value: *mut libc::c_void, operation: &'static str, ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1024"];
    f0 [label="ipu_driver::Device::ioctl_value", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn ioctl_value( &self, request: libc::c_ulong, value: libc::c_ulong, operation: &'static str, ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1011"];
    f51 [label="ipu_driver::Device::mailbox", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn mailbox(&self, request: MailboxMessage) -> Result<MailboxMessage, DriverError> — crates/ipu-driver/src/lib.rs:997"];
    f37 [label="ipu_driver::Device::open", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn open(path: &str) -> Result<Self, DriverError> — crates/ipu-driver/src/lib.rs:337"];
    f38 [label="ipu_driver::Device::read_config", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn read_config(&self, offset: u32) -> Result<u32, DriverError> — crates/ipu-driver/src/lib.rs:367"];
    f41 [label="ipu_driver::Device::replay_configuration", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn replay_configuration(&self, bytes: &[u8]) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:401"];
    f45 [label="ipu_driver::Device::set_mark", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn set_mark(&self, mark: u32) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:485"];
    f47 [label="ipu_driver::Device::wait_autoloader", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn wait_autoloader(&self, timeout: Duration) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:955"];
    f43 [label="ipu_driver::Device::wait_mark", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn wait_mark( &self, register: u32, expected: u32, timeout: Duration, ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:441"];
    f44 [label="ipu_driver::Device::wait_mark_with", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="/// Waits for an HSP mark while allowing a debugger to service stopped /// tile contexts. The callback runs only while the expected mark is absent. pub fn wait_mark_with( &self, register: u32, expected: u32, timeout: Duration, mut poll: impl FnMut(&Device) -> Result<(), DriverError>, ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:450"];
    f39 [label="ipu_driver::Device::write_config", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn write_config(&self, offset: u32, value: u32) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:372"];
    f46 [label="ipu_driver::Device::write_sync_mark", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn write_sync_mark(&self, register: u32, mark: u32) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:489"];
    f6 [label="ipu_driver::ExchangeBufferGuard::new", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn new(device: &'a Device) -> Result<Self, DriverError> — crates/ipu-driver/src/lib.rs:1112"];
    f8 [label="ipu_driver::ExchangeBufferGuard::restore_all", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn restore_all(&self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1138"];
    f7 [label="ipu_driver::ExchangeBufferGuard::restore_primary", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn restore_primary(&self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1130"];
    f4 [label="ipu_driver::HostBuffer::bytes", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn bytes(&self) -> &[u8] — crates/ipu-driver/src/lib.rs:1085"];
    f5 [label="ipu_driver::HostBuffer::bytes_mut", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn bytes_mut(&mut self) -> &mut [u8] — crates/ipu-driver/src/lib.rs:1089"];
    f3 [label="ipu_driver::HostBuffer::new", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn new(size: usize) -> Result<Self, DriverError> — crates/ipu-driver/src/lib.rs:1064"];
    f15 [label="ipu_driver::HostSession::acknowledge_device", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn acknowledge_device(&mut self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1415"];
    f16 [label="ipu_driver::HostSession::attach", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn attach(&mut self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1420"];
    f21 [label="ipu_driver::HostSession::collect", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn collect(&mut self, call: &HostCall) -> Result<Vec<u8>, DriverError> — crates/ipu-driver/src/lib.rs:1587"];
    f14 [label="ipu_driver::HostSession::delay_host_write", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn delay_host_write(&mut self) — crates/ipu-driver/src/lib.rs:1406"];
    f24 [label="ipu_driver::HostSession::drive", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn drive(&mut self, call: HostCall) -> Result<Vec<u8>, DriverError> — crates/ipu-driver/src/lib.rs:1637"];
    f25 [label="ipu_driver::HostSession::drive_handshake", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn drive_handshake(&mut self, call: &HostCall) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1648"];
    f18 [label="ipu_driver::HostSession::invoke", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn invoke(&mut self, name: &str, input: &[u8]) -> Result<Vec<u8>, DriverError> — crates/ipu-driver/src/lib.rs:1464"];
    f19 [label="ipu_driver::HostSession::invoke_streaming_deferred", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn invoke_streaming_deferred( &mut self, name: &str, input: &[u8], ) -> Result<HostCall, DriverError> — crates/ipu-driver/src/lib.rs:1491"];
    f20 [label="ipu_driver::HostSession::invoke_streaming_deferred_with_poll", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="/// Streaming invocation variant used by diagnostic runs to inspect and /// resume PBRK0 checkpoints while the ordinary host protocol is waiting. pub fn invoke_streaming_deferred_with_poll( &mut self, name: &str, input: &[u8], mut poll: impl FnMut(&Device) -> Result<(), DriverError>, ) -> Result<HostCall, DriverError> — crates/ipu-driver/src/lib.rs:1499"];
    f13 [label="ipu_driver::HostSession::new", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn new(device: &'a Device, protocol: HostExchange) -> Result<Self, DriverError> — crates/ipu-driver/src/lib.rs:1363"];
    f22 [label="ipu_driver::HostSession::prepare", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn prepare(&mut self, name: &str, input: &[u8]) -> Result<HostCall, DriverError> — crates/ipu-driver/src/lib.rs:1597"];
    f17 [label="ipu_driver::HostSession::start", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn start(&mut self) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1445"];
    f23 [label="ipu_driver::HostSession::write_command", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn write_command(&mut self, call: &HostCall) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1611"];
    f12 [label="ipu_driver::Loader::install_bootloader", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn install_bootloader(&self, tile_count: usize) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1299"];
    f11 [label="ipu_driver::Loader::load", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn load(&self, app: &Application, final_mark: u32) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1208"];
    f10 [label="ipu_driver::Loader::new", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn new(device: &'a Device, bootloader_elf: &[u8]) -> Result<Self, DriverError> — crates/ipu-driver/src/lib.rs:1184"];
    f35 [label="ipu_driver::address", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn address(instance: usize) -> u32 — crates/ipu-driver/src/lib.rs:243"];
    f34 [label="ipu_driver::block_device_interrupt_signals", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn block_device_interrupt_signals() -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1843"];
    f30 [label="ipu_driver::capture_output_slice", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn capture_output_slice( storage: &mut HostBuffer, pages: &HashMap<u32, HostPageRange>, slice: &ipu_package::HostSlice, output: &mut (Vec<u8>, usize), ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1765"];
    f28 [label="ipu_driver::copy_input", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn copy_input( storage: &mut HostBuffer, pages: &HashMap<u32, HostPageRange>, call: &HostCall, input: &[u8], ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1719"];
    f29 [label="ipu_driver::copy_input_slice", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn copy_input_slice( storage: &mut HostBuffer, pages: &HashMap<u32, HostPageRange>, slice: &ipu_package::HostSlice, input: &[u8], ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1749"];
    f31 [label="ipu_driver::copy_output", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn copy_output( storage: &mut HostBuffer, pages: &HashMap<u32, HostPageRange>, call: &HostCall, ) -> Result<Vec<u8>, DriverError> — crates/ipu-driver/src/lib.rs:1783"];
    f32 [label="ipu_driver::frame_tile", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="pub fn frame_tile(physical_tile: u32, image: &[u8]) -> Result<Vec<u8>, DriverError> — crates/ipu-driver/src/lib.rs:1808"];
    f26 [label="ipu_driver::host_batch_ranges", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn host_batch_ranges(ends: &[u32]) -> Vec<std::ops::Range<usize>> — crates/ipu-driver/src/lib.rs:1684"];
    f36 [label="ipu_driver::io_error", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn io_error(operation: &'static str) -> DriverError — crates/ipu-driver/src/lib.rs:298"];
    f27 [label="ipu_driver::poison_output", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn poison_output( storage: &mut HostBuffer, pages: &HashMap<u32, HostPageRange>, call: &HostCall, ) -> Result<(), DriverError> — crates/ipu-driver/src/lib.rs:1704"];
    f33 [label="ipu_driver::read_u32", shape=box, fillcolor="#f9dfc5", color="#238b45", tooltip="fn read_u32(bytes: &[u8], offset: usize) -> Result<u32, DriverError> — crates/ipu-driver/src/lib.rs:1836"];
    t7 [label="ipu_driver::AttachBufferData\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:307"];
    t3 [label="ipu_driver::BufferAttachment\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:1159"];
    t10 [label="ipu_driver::Device\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:324"];
    t6 [label="ipu_driver::DriverError\n«enum»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:282"];
    t1 [label="ipu_driver::ExchangeBufferGuard\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:1104"];
    t0 [label="ipu_driver::HostBuffer\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:1057"];
    t5 [label="ipu_driver::HostPageRange\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:1357"];
    t4 [label="ipu_driver::HostSession\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:1340"];
    t2 [label="ipu_driver::Loader\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:1154"];
    t9 [label="ipu_driver::MailboxArgument\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:320"];
    t8 [label="ipu_driver::MailboxMessage\n«struct»", shape=ellipse, style="filled,dashed", fillcolor="#f9dfc5", color="#7b8794", tooltip="crates/ipu-driver/src/lib.rs:315"];
  }
  subgraph cluster_external { label="outgoing references — click to open target partition"; color="#d9d9d9"; style="rounded,dashed";
    xf0 [label="ipu_codegen::low::format", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-low-part-1.svg", target="_top", tooltip="open target partition"];
    xf2 [label="ipu_codegen::mid::LoweringState::get", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-mid.svg", target="_top", tooltip="open target partition"];
    xf1 [label="ipu_codegen::mid::format", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-codegen-mid.svg", target="_top", tooltip="open target partition"];
    xf3 [label="ipu_package::AddressRegion::size", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open target partition"];
    xf5 [label="ipu_package::Application::tile_image", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open target partition"];
    xf4 [label="ipu_package::Application::validate", shape=box, fillcolor="#f5f5f5", color="#9aa5b1", style="rounded,filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open target partition"];
    xt3 [label="ipu_package::Application\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt1 [label="ipu_package::HostCall\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt2 [label="ipu_package::HostExchange\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
    xt0 [label="ipu_package::HostSlice\n«struct»", shape=ellipse, fillcolor="#f5f5f5", color="#9aa5b1", style="filled,dashed", URL="ipu-package.svg", target="_top", tooltip="open defining partition"];
  }
  run_entry -> f17 [color="#238b45", penwidth=1.4];
  run_entry -> f18 [color="#238b45", penwidth=1.4];
  f0 -> f36 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f0 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f1 -> f36 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f1 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f2 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f2 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f2 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f3 -> f36 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f3 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> f38 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f6 -> f39 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f6 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f6 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f7 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f7 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f8 -> f38 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f8 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f8 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> f48 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f9 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f9 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> f35 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f10 -> xf3 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f10 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f10 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f3 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f6 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f7 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f8 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f9 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f12 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f32 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f43 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> f45 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xf4 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> xf5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f11 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> t1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> t3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f11 -> xt3 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f12 -> f38 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f12 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f12 -> f47 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f12 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> f3 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f13 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f13 -> xt2 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f15 -> f14 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f15 -> f46 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f15 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f16 -> xf2 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f16 -> f39 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f16 -> f48 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f16 -> f49 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f16 -> f50 [color="#238b45", style="dotted", tooltip="source fallback (conservative)"];
  f16 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f17 -> f14 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f15 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f16 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f43 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f17 -> f45 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f17 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f18 -> f19 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f18 -> f21 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f18 -> f22 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f18 -> f24 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f18 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f19 -> f20 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f19 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f19 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> f15 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> f23 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> f26 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> f29 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> f30 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f20 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f20 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f21 -> f30 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f21 -> f31 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f21 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f21 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f22 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f22 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f22 -> f23 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f22 -> f27 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f22 -> f28 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f22 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f22 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> f5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f23 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f23 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f24 -> f21 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f24 -> f25 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f24 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f24 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f25 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f25 -> f15 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f25 -> f43 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f25 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f25 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f27 -> f5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f27 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f27 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f27 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f27 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f28 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f28 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f28 -> f5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f28 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f28 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f28 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f28 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f29 -> f5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f29 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f29 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f29 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f29 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f30 -> f4 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f30 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f30 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f30 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f30 -> xt0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f31 -> f5 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f31 -> t0 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f31 -> t5 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f31 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f31 -> xt1 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f32 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f33 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f34 -> f36 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f34 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f36 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f37 -> f0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f37 -> f36 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f37 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f38 -> f2 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f38 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f39 -> f2 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f39 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f40 -> f0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f40 -> f1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f40 -> f51 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f40 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f40 -> t8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f41 -> f33 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f41 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f41 -> f42 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f41 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f42 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f42 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f42 -> f38 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f42 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f42 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f43 -> f44 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f43 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f44 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f44 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f44 -> f38 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f44 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f44 -> t10 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f45 -> f46 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f45 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f46 -> xf0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f46 -> xf1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f46 -> f38 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f46 -> f39 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f46 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f47 -> f38 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f47 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f48 -> f1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f48 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f48 -> t7 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f50 -> f0 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f50 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f51 -> f1 [color="#238b45", style="solid", tooltip="rustc MIR call edge"];
  f51 -> t6 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f51 -> t8 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  f51 -> t9 [style=dashed, color="#9aa5b1", arrowhead=none, constraint=false, tooltip="uses workspace type"];
  legend [shape=note, style="filled", fillcolor="#ffffff", color="#9aa5b1", fontsize=8,
          label="Solid: MIR-resolved call   Dotted: source fallback\nDashed, no arrow: uses type   Dashed node: link to another partition\nBlue: build   Green: run   Purple: shared"];
}
