<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than draw.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2260px" height="1840px" viewBox="0 0 2260 1840" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" version="29.2.7"> <diagram name="第 1 页" id="YIh3J6XpkH3YtkhXfsbK"> <mxGraphModel dx="2660" dy="1775" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="z842ErPjOzxfdKIbB9OY-1" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="User" vertex="1"> <mxGeometry height="1838" width="150" x="20" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-2" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Orchid" vertex="1"> <mxGeometry height="1838" width="150" x="277" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-3" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Pipeline" vertex="1"> <mxGeometry height="1838" width="150" x="509" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-4" parent="z842ErPjOzxfdKIbB9OY-3" style="points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0}" value="" vertex="1"> <mxGeometry height="1464" width="10" x="70" y="167" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-5" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Operon.Execute" vertex="1"> <mxGeometry height="1838" width="150" x="813" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-6" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Scheduler" vertex="1"> <mxGeometry height="1838" width="150" x="1042" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-7" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Executor (Loop)" vertex="1"> <mxGeometry height="1838" width="150" x="1324" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-8" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Runner" vertex="1"> <mxGeometry height="1838" width="150" x="1566" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-9" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Hooks (Telem/Core)" vertex="1"> <mxGeometry height="1838" width="168" x="1830" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-10" parent="z842ErPjOzxfdKIbB9OY-9" style="points=[];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0}" value="" vertex="1"> <mxGeometry height="294" width="10" x="79" y="971" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-11" parent="1" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;container=1;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;edgeStyle&quot;:&quot;elbowEdgeStyle&quot;,&quot;elbow&quot;:&quot;vertical&quot;,&quot;curved&quot;:0,&quot;rounded&quot;:0};size=65;fillColor=light-dark(#F8F0A7,#733E0A);strokeColor=light-dark(#F8F0A7,#F8F0A7);" value="Step Implementation" vertex="1"> <mxGeometry height="1838" width="178" x="2101" y="20" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-12" parent="1" style="shape=umlFrame;dashed=1;pointerEvents=0;dropTarget=0;strokeColor=#B3B3B3;height=20;width=0" value="" vertex="1"> <mxGeometry height="180" width="251" x="877" y="397" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-13" parent="z842ErPjOzxfdKIbB9OY-12" style="text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;" value="" vertex="1"> <mxGeometry height="20" width="251" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-14" parent="1" style="shape=umlFrame;dashed=1;pointerEvents=0;dropTarget=0;strokeColor=#B3B3B3;height=20;width=30" value="par" vertex="1"> <mxGeometry height="614" width="813" x="1388" y="803" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-15" parent="z842ErPjOzxfdKIbB9OY-14" style="text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;" value="[Parallel Execution (if Async)]" vertex="1"> <mxGeometry height="20" width="783" x="30" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-16" parent="1" style="shape=umlFrame;dashed=1;pointerEvents=0;dropTarget=0;strokeColor=#B3B3B3;height=20;width=40" value="loop" vertex="1"> <mxGeometry height="896" width="1105" x="1106" y="643" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-17" parent="z842ErPjOzxfdKIbB9OY-16" style="text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;" value="[Until Done or Error]" vertex="1"> <mxGeometry height="20" width="1065" x="40" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-18" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-1" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-2" value="run(recipe, params, opts)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="232" y="131" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-19" parent="z842ErPjOzxfdKIbB9OY-18" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="1" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-136" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-20" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-4" value="run(operons, request)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="477" y="187" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-21" parent="z842ErPjOzxfdKIbB9OY-20" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="2" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-123.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-22" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-4" style="curved=1;endArrow=block;rounded=0;" target="z842ErPjOzxfdKIbB9OY-4" value="(Traverse Custome Operon(s))"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="639" y="291" /> <mxPoint x="639" y="321" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-23" parent="z842ErPjOzxfdKIbB9OY-22" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="3" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-57" y="-22" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-24" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-4" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-5" value="call(req, next)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="747" y="377" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-25" parent="z842ErPjOzxfdKIbB9OY-24" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="4" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-157.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-26" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-5" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-6" value="build(recipe, params)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1011" y="501" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-27" parent="z842ErPjOzxfdKIbB9OY-26" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="5" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-122" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-28" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-6" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-5" value="{:ok, context}"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1014" y="557" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-29" parent="z842ErPjOzxfdKIbB9OY-28" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="6" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="108" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-30" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-5" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-7" value="execute(context, opts)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1152" y="623" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-31" parent="z842ErPjOzxfdKIbB9OY-30" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="7" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-263" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-32" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-7" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-6" value="next_ready_steps(ctx)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1270" y="727" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-33" parent="z842ErPjOzxfdKIbB9OY-32" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="8" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="134.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-34" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-6" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-7" value="[{step, idx}...]"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1267" y="783" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-35" parent="z842ErPjOzxfdKIbB9OY-34" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="9" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-148.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-36" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-7" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-8" value="run(step, params, opts)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1529" y="887" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-37" parent="z842ErPjOzxfdKIbB9OY-36" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="10" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-128.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-38" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-8" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-10" value="call(ctx, next)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1786" y="991" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-39" parent="z842ErPjOzxfdKIbB9OY-38" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="11" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-144" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-40" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-10" style="curved=1;endArrow=block;rounded=0;" target="z842ErPjOzxfdKIbB9OY-10" value="(Traverse Extra Hooks)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1969" y="1095" /> <mxPoint x="1969" y="1125" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-41" parent="z842ErPjOzxfdKIbB9OY-40" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="12" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-57" y="-22" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-42" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-10" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-11" value="Hooks.Core calls Step.run/2"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="2063" y="1181" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-43" parent="z842ErPjOzxfdKIbB9OY-42" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="13" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-143.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-44" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-11" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-10" value="{:ok, output}"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="2066" y="1237" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-45" parent="z842ErPjOzxfdKIbB9OY-44" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="14" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="129.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-46" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-9" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-8" value="{:ok, renamed_output}"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1789" y="1341" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-47" parent="z842ErPjOzxfdKIbB9OY-46" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="15" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="130" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-48" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-8" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-7" value="{:ok, result}"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1532" y="1397" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-49" parent="z842ErPjOzxfdKIbB9OY-48" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="16" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="114.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-50" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-7" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-6" value="merge_result(ctx, idx, result)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1270" y="1463" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-51" parent="z842ErPjOzxfdKIbB9OY-50" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="17" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="134.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-52" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-6" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-7" value="new_context"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1267" y="1519" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-53" parent="z842ErPjOzxfdKIbB9OY-52" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="18" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="-148.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-54" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-7" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-5" value="{:ok, final_results}"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="1155" y="1585" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-55" parent="z842ErPjOzxfdKIbB9OY-54" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="19" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="249" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-56" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-5" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-4" value="%Operon.Response{}"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="750" y="1641" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-57" parent="z842ErPjOzxfdKIbB9OY-56" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="20" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="143.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-58" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-3" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-2" value="response"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="480" y="1697" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-59" parent="z842ErPjOzxfdKIbB9OY-58" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="21" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="109.5" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-60" edge="1" parent="1" source="z842ErPjOzxfdKIbB9OY-2" style="verticalAlign=bottom;edgeStyle=elbowEdgeStyle;elbow=vertical;curved=0;rounded=0;dashed=1;dashPattern=2 3;endArrow=block;" target="z842ErPjOzxfdKIbB9OY-1" value="payload (results)"> <mxGeometry relative="1" as="geometry"> <Array as="points"> <mxPoint x="235" y="1753" /> </Array> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-61" parent="z842ErPjOzxfdKIbB9OY-60" style="ellipse;aspect=fixed;fillColor=#000000;align=center;fontColor=#FFFFFF;" value="22" vertex="1"> <mxGeometry height="14" relative="1" width="14" as="geometry"> <mxPoint x="122" y="-7" as="offset" /> </mxGeometry> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-62" parent="1" style="fillColor=#ffff88;strokeColor=#9E916F;" value="Pipeline traverses Operon stack" vertex="1"> <mxGeometry height="48" width="254" x="609" y="207" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-63" parent="1" style="fillColor=#ffff88;strokeColor=#9E916F;" value="Preparation Phase" vertex="1"> <mxGeometry height="48" width="157" x="913" y="417" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-64" parent="1" style="fillColor=#ffff88;strokeColor=#9E916F;" value="Build Context &amp; Hook Stack" vertex="1"> <mxGeometry height="48" width="223" x="1666" y="907" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-65" parent="1" style="fillColor=#ffff88;strokeColor=#9E916F;" value="Telemetry Start" vertex="1"> <mxGeometry height="48" width="168" x="1939" y="1011" as="geometry" /> </mxCell> <mxCell id="z842ErPjOzxfdKIbB9OY-66" parent="1" style="fillColor=#ffff88;strokeColor=#9E916F;" value="Telemetry Stop (Duration)" vertex="1"> <mxGeometry height="48" width="212" x="1939" y="1257" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="z842ErPjOzxfdKIbB9OY-1"><g transform="translate(0.5,0.5)"><rect x="0" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 75 65 L 75 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">User</div></div></div></foreignObject><text x="75" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">User</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-2"><g transform="translate(0.5,0.5)"><rect x="257" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 332 65 L 332 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 258px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Orchid</div></div></div></foreignObject><text x="332" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Orchid</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-3"><g transform="translate(0.5,0.5)"><rect x="489" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 564 65 L 564 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 490px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Pipeline</div></div></div></foreignObject><text x="564" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Pipeline</text></switch></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-4"><g transform="translate(0.5,0.5)"><rect x="559" y="167" width="10" height="1464" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-5"><g transform="translate(0.5,0.5)"><rect x="793" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 868 65 L 868 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 794px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Operon.Execute</div></div></div></foreignObject><text x="868" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Operon.Execute</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-6"><g transform="translate(0.5,0.5)"><rect x="1022" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 1097 65 L 1097 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 1023px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Scheduler</div></div></div></foreignObject><text x="1097" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Scheduler</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-7"><g transform="translate(0.5,0.5)"><rect x="1304" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 1379 65 L 1379 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 1305px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Executor (Loop)</div></div></div></foreignObject><text x="1379" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Executor (Loop)</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-8"><g transform="translate(0.5,0.5)"><rect x="1546" y="0" width="150" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 1621 65 L 1621 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 33px; margin-left: 1547px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Runner</div></div></div></foreignObject><text x="1621" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Runner</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-9"><g transform="translate(0.5,0.5)"><rect x="1810" y="0" width="168" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 1894 65 L 1894 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 166px; height: 1px; padding-top: 33px; margin-left: 1811px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Hooks (Telem/Core)</div></div></div></foreignObject><text x="1894" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Hooks (Telem/Core)</text></switch></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-10"><g transform="translate(0.5,0.5)"><rect x="1889" y="971" width="10" height="294" fill="#ffffff" stroke="#000000" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-11"><g transform="translate(0.5,0.5)"><rect x="2081" y="0" width="178" height="65" fill="#f8f0a7" stroke="#f8f0a7" pointer-events="all" style="fill: light-dark(rgb(248, 240, 167), rgb(115, 62, 10)); stroke: rgb(248, 240, 167);"/><path d="M 2170 65 L 2170 1838" fill="none" stroke="#f8f0a7" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="stroke: rgb(248, 240, 167);"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 176px; height: 1px; padding-top: 33px; margin-left: 2082px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Step Implementation</div></div></div></foreignObject><text x="2170" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Step Implementation</text></switch></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-12"><g transform="translate(0.5,0.5)"><path d="M 857 377 L 867 377 L 867 382 L 857 397 L 857 397 Z" fill="#ffffff" stroke="#b3b3b3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(179, 179, 179), rgb(83, 83, 83));"/><path d="M 867 377 L 1108 377 L 1108 557 L 857 557 L 857 397" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none" style="stroke: light-dark(rgb(179, 179, 179), rgb(83, 83, 83));"/></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-13"><g transform="translate(0.5,0.5)"><rect x="857" y="377" width="251" height="20" fill="none" stroke="none" pointer-events="all"/></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-14"><g transform="translate(0.5,0.5)"><path d="M 1368 783 L 1398 783 L 1398 788 L 1388 803 L 1368 803 Z" fill="#ffffff" stroke="#b3b3b3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(179, 179, 179), rgb(83, 83, 83));"/><path d="M 1398 783 L 2181 783 L 2181 1397 L 1368 1397 L 1368 803" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none" style="stroke: light-dark(rgb(179, 179, 179), rgb(83, 83, 83));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="1383.25" y="797.5">par</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-15"><g transform="translate(0.5,0.5)"><rect x="1398" y="783" width="783" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 781px; height: 1px; padding-top: 793px; margin-left: 1399px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">[Parallel Execution (if Async)]</div></div></div></foreignObject><text x="1790" y="797" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">[Parallel Execution (if Async)]</text></switch></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-16"><g transform="translate(0.5,0.5)"><path d="M 1086 623 L 1126 623 L 1126 628 L 1116 643 L 1086 643 Z" fill="#ffffff" stroke="#b3b3b3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="all" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(179, 179, 179), rgb(83, 83, 83));"/><path d="M 1126 623 L 2191 623 L 2191 1519 L 1086 1519 L 1086 643" fill="none" stroke="#b3b3b3" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none" style="stroke: light-dark(rgb(179, 179, 179), rgb(83, 83, 83));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="1106" y="638.5">loop</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-17"><g transform="translate(0.5,0.5)"><rect x="1126" y="623" width="1065" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1063px; height: 1px; padding-top: 633px; margin-left: 1127px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">[Until Done or Error]</div></div></div></foreignObject><text x="1659" y="637" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">[Until Done or Error]</text></switch></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-18"><g transform="translate(0.5,0.5)"><path d="M 73 111 L 212 111 L 323.38 111" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 330.38 111 L 323.38 114.5 L 323.38 107.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="141" y="96" width="125" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="203" y="106">run(recipe, params, opts)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-19"><g transform="translate(0.5,0.5)"><ellipse cx="74" cy="111" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="74" y="116">1</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-20"><g transform="translate(0.5,0.5)"><path d="M 330 167 L 457 167 L 550.88 167" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 557.88 167 L 550.88 170.5 L 550.88 163.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="392" y="152" width="108" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="445" y="162">run(operons, request)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-21"><g transform="translate(0.5,0.5)"><ellipse cx="328.5" cy="167" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="328.5" y="172">2</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-22"><g transform="translate(0.5,0.5)"><path d="M 569 271 Q 619 271 619 286 Q 619 301 577.12 301" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 570.12 301 L 577.12 297.5 L 577.12 304.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="544" y="280" width="152" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="619" y="290.5">(Traverse Custome Operon(s))</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-23"><g transform="translate(0.5,0.5)"><ellipse cx="569" cy="271" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="569" y="276">3</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-24"><g transform="translate(0.5,0.5)"><path d="M 569 357 L 727 357 L 859.38 357" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 866.38 357 L 859.38 360.5 L 859.38 353.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="685" y="342" width="69" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="719" y="352">call(req, next)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-25"><g transform="translate(0.5,0.5)"><ellipse cx="568.5" cy="357" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="568.5" y="362">4</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-26"><g transform="translate(0.5,0.5)"><path d="M 866 481 L 991 481 L 1088.38 481" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1095.38 481 L 1088.38 484.5 L 1088.38 477.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="929" y="466" width="105" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="981" y="476">build(recipe, params)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-27"><g transform="translate(0.5,0.5)"><ellipse cx="866" cy="481" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="866" y="486">5</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-28"><g transform="translate(0.5,0.5)"><path d="M 1096.5 537 L 994 537 L 874.12 537" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 867.12 537 L 874.12 533.5 L 874.12 540.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="949" y="522" width="66" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="981.5" y="532">{:ok, context}</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-29"><g transform="translate(0.5,0.5)"><ellipse cx="1096.5" cy="537" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1096.5" y="542">6</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-30"><g transform="translate(0.5,0.5)"><path d="M 866 603 L 1132 603 L 1370.38 603" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1377.38 603 L 1370.38 606.5 L 1370.38 599.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1069" y="588" width="110" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1123.5" y="598">execute(context, opts)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-31"><g transform="translate(0.5,0.5)"><ellipse cx="867.5" cy="603" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="867.5" y="608">7</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-32"><g transform="translate(0.5,0.5)"><path d="M 1378.5 707 L 1250 707 L 1103.12 707" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1096.12 707 L 1103.12 703.5 L 1103.12 710.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1182" y="692" width="110" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1236" y="702">next_ready_steps(ctx)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-33"><g transform="translate(0.5,0.5)"><ellipse cx="1377.5" cy="707" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1377.5" y="712">8</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-34"><g transform="translate(0.5,0.5)"><path d="M 1095 763 L 1247 763 L 1370.38 763" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1377.38 763 L 1370.38 766.5 L 1370.38 759.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1205" y="748" width="66" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1237.5" y="758">[{step, idx}...]</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-35"><g transform="translate(0.5,0.5)"><ellipse cx="1096" cy="763" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1096" y="768">9</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-36"><g transform="translate(0.5,0.5)"><path d="M 1377 867 L 1509 867 L 1612.38 867" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1619.38 867 L 1612.38 870.5 L 1612.38 863.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1442" y="851" width="116" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1499.5" y="862">run(step, params, opts)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-37"><g transform="translate(0.5,0.5)"><ellipse cx="1378" cy="867" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1378" y="872">10</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-38"><g transform="translate(0.5,0.5)"><path d="M 1619 971 L 1766 971 L 1880.88 971" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1887.88 971 L 1880.88 974.5 L 1880.88 967.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1721" y="956" width="67" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1754" y="966">call(ctx, next)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-39"><g transform="translate(0.5,0.5)"><ellipse cx="1617" cy="971" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1617" y="976">11</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-40"><g transform="translate(0.5,0.5)"><path d="M 1899 1075 Q 1949 1075 1949 1090 Q 1949 1105 1907.12 1105" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1900.12 1105 L 1907.12 1101.5 L 1907.12 1108.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1892" y="1084" width="115" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1949" y="1094.5">(Traverse Extra Hooks)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-41"><g transform="translate(0.5,0.5)"><ellipse cx="1899" cy="1075" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1899" y="1080">12</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-42"><g transform="translate(0.5,0.5)"><path d="M 1899 1161 L 2043 1161 L 2161.38 1161" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 2168.38 1161 L 2161.38 1164.5 L 2161.38 1157.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1965" y="1146" width="139" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="2034" y="1156">Hooks.Core calls Step.run/2</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-43"><g transform="translate(0.5,0.5)"><ellipse cx="1897.5" cy="1161" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1897.5" y="1166">13</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-44"><g transform="translate(0.5,0.5)"><path d="M 2169.5 1217 L 2046 1217 L 1907.12 1217" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1900.12 1217 L 1907.12 1213.5 L 1907.12 1220.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="2005" y="1201" width="61" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="2034.5" y="1212">{:ok, output}</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-45"><g transform="translate(0.5,0.5)"><ellipse cx="2171" cy="1217" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="2171" y="1222">14</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-46"><g transform="translate(0.5,0.5)"><path d="M 1893.5 1321 L 1769 1321 L 1627.12 1321" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1620.12 1321 L 1627.12 1317.5 L 1627.12 1324.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1701" y="1306" width="110" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1756" y="1316">{:ok, renamed_output}</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-47"><g transform="translate(0.5,0.5)"><ellipse cx="1893" cy="1321" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1893" y="1326">15</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-48"><g transform="translate(0.5,0.5)"><path d="M 1620.5 1377 L 1512 1377 L 1385.12 1377" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1378.12 1377 L 1385.12 1373.5 L 1385.12 1380.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1470" y="1362" width="57" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1498" y="1372">{:ok, result}</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-49"><g transform="translate(0.5,0.5)"><ellipse cx="1619.5" cy="1377" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1619.5" y="1382">16</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-50"><g transform="translate(0.5,0.5)"><path d="M 1378.5 1443 L 1250 1443 L 1103.12 1443" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1096.12 1443 L 1103.12 1439.5 L 1103.12 1446.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1166" y="1428" width="141" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1236" y="1438">merge_result(ctx, idx, result)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-51"><g transform="translate(0.5,0.5)"><ellipse cx="1377.5" cy="1443" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1377.5" y="1448">17</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-52"><g transform="translate(0.5,0.5)"><path d="M 1095 1499 L 1247 1499 L 1370.38 1499" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 1377.38 1499 L 1370.38 1502.5 L 1370.38 1495.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1206" y="1484" width="64" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1237.5" y="1494">new_context</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-53"><g transform="translate(0.5,0.5)"><ellipse cx="1096" cy="1499" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1096" y="1504">18</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-54"><g transform="translate(0.5,0.5)"><path d="M 1378.5 1565 L 1135 1565 L 874.12 1565" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 867.12 1565 L 874.12 1561.5 L 874.12 1568.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="1077" y="1549" width="89" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="1121" y="1560">{:ok, final_results}</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-55"><g transform="translate(0.5,0.5)"><ellipse cx="1377" cy="1565" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="1377" y="1570">19</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-56"><g transform="translate(0.5,0.5)"><path d="M 867.5 1621 L 730 1621 L 577.12 1621" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 570.12 1621 L 577.12 1617.5 L 577.12 1624.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="664" y="1606" width="108" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="717.5" y="1616">%Operon.Response{}</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-57"><g transform="translate(0.5,0.5)"><ellipse cx="868" cy="1621" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="868" y="1626">20</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-58"><g transform="translate(0.5,0.5)"><path d="M 563.5 1677 L 460 1677 L 338.12 1677" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 331.12 1677 L 338.12 1673.5 L 338.12 1680.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="423" y="1662" width="47" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="446" y="1672">response</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-59"><g transform="translate(0.5,0.5)"><ellipse cx="562.5" cy="1677" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="562.5" y="1682">21</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-60"><g transform="translate(0.5,0.5)"><path d="M 331.5 1733 L 215 1733 L 81.12 1733" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="2 3" pointer-events="stroke" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/><path d="M 74.12 1733 L 81.12 1729.5 L 81.12 1736.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="11px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><rect fill="#ffffff" stroke="none" x="160" y="1718" width="83" height="14" stroke-width="0" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212));"/><text x="201.5" y="1728">payload (results)</text></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-61"><g transform="translate(0.5,0.5)"><ellipse cx="330.5" cy="1733" rx="7" ry="7" fill="#000000" stroke="#000000" pointer-events="all" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"/></g><g><g fill="#FFFFFF" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(255, 255, 255), rgb(18, 18, 18));"><text x="330.5" y="1738">22</text></g></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-62"><g transform="translate(0.5,0.5)"><rect x="589" y="187" width="254" height="48" fill="#ffff88" stroke="#9e916f" pointer-events="all" style="fill: light-dark(rgb(255, 255, 136), rgb(33, 33, 0)); stroke: light-dark(rgb(158, 145, 111), rgb(123, 112, 82));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="716" y="216">Pipeline traverses Operon stack</text></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-63"><g transform="translate(0.5,0.5)"><rect x="893" y="397" width="157" height="48" fill="#ffff88" stroke="#9e916f" pointer-events="all" style="fill: light-dark(rgb(255, 255, 136), rgb(33, 33, 0)); stroke: light-dark(rgb(158, 145, 111), rgb(123, 112, 82));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="971.5" y="426">Preparation Phase</text></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-64"><g transform="translate(0.5,0.5)"><rect x="1646" y="887" width="223" height="48" fill="#ffff88" stroke="#9e916f" pointer-events="all" style="fill: light-dark(rgb(255, 255, 136), rgb(33, 33, 0)); stroke: light-dark(rgb(158, 145, 111), rgb(123, 112, 82));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="1757.5" y="916">Build Context & Hook Stack</text></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-65"><g transform="translate(0.5,0.5)"><rect x="1919" y="991" width="168" height="48" fill="#ffff88" stroke="#9e916f" pointer-events="all" style="fill: light-dark(rgb(255, 255, 136), rgb(33, 33, 0)); stroke: light-dark(rgb(158, 145, 111), rgb(123, 112, 82));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="2003" y="1020">Telemetry Start</text></g></g></g><g data-cell-id="z842ErPjOzxfdKIbB9OY-66"><g transform="translate(0.5,0.5)"><rect x="1919" y="1237" width="212" height="48" fill="#ffff88" stroke="#9e916f" pointer-events="all" style="fill: light-dark(rgb(255, 255, 136), rgb(33, 33, 0)); stroke: light-dark(rgb(158, 145, 111), rgb(123, 112, 82));"/></g><g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"><text x="2025" y="1266">Telemetry Stop (Duration)</text></g></g></g></g></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>