- Before Comparing Features, Decide Who Owns Control Flow?
- Why Your Orchestration Framework Choice Matters in Production
- LangGraph vs CrewAI vs Claude Agent SDK: How Each One Actually Works
- LangGraph vs CrewAI vs AutoGen in 2026: what happened to the fourth name
- Performance, Scalability and Production Benchmarks
- How the Same Workflow Looks in Each Framework
- Which Framework Is Best for Different Enterprise Use Cases?
- How to Choose the Right AI Orchestration Framework
- Migration Paths Between Frameworks
- How Appinventiv Helps Build Production-Ready AI Agent Systems
- FAQs
Key takeaways:
- Crash recovery granularity is the sharpest split: LangGraph resumes at the last completed node, CrewAI at the last Flow step, and the Claude Agent SDK at the session.
- Only LangGraph can replay a past run from a stored checkpoint — CrewAI’s replay is limited, and the Claude Agent SDK gives you transcripts rather than reconstructable state.
- LangGraph and CrewAI work with any model provider, while the Claude Agent SDK runs on Anthropic models only, which settles the choice for anyone under a multi-vendor mandate.
- CrewAI reaches a working multi-agent draft fastest, LangGraph costs the most to write and the least to maintain, and the Claude Agent SDK needs the least scaffolding for open-ended tool work.
- Determinism you can evidence to an auditor is high in LangGraph, medium inside CrewAI Flows but low inside Crews, and absent by design in the Claude Agent SDK.
Gartner expects 40% of enterprise applications to ship with task-specific agents by the end of 2026, up from under 5% in 2025. That is an eightfold jump in twelve months, and almost none of it will be written from scratch; it will be built on an AI Agent Framework that someone chose in an afternoon and the company then lived with for three years.
The field of agent orchestration frameworks in 2026 has effectively narrowed to four credible names, one of which quietly changed status this year. The three that come up most in that afternoon are LangGraph, CrewAI, and the Claude Agent SDK. They are not competing implementations of the same idea. They disagree, at the architectural level, about something more fundamental than syntax.
Send us your workflow, and we’ll tell you which framework survives run ten thousand.
Before Comparing Features, Decide Who Owns Control Flow?
Most comparisons rank these tools on features, memory, tools, streaming, integrations. That framing is close to useless, because all three will have every feature on that list within a release or two of each other.
The durable difference is this: when your agent finishes a step, who decides what happens next?

There are exactly three answers, and each framework has picked one.
- LangGraph says you do. You author a graph. Nodes are functions, edges are your routing logic, and the model is a component inside a node rather than the steering element. Structure is code you wrote.
- CrewAI says the framework does. You declare agents with roles, goals and backstories, hand them tasks, and pick a process. The framework resolves ordering and hand-offs. You describe the shape of the work; it derives the sequence.
- The Claude Agent SDK says the model does. You provide tools, permissions and context, then bind a loop. Inside that loop, the model picks the next action. There is no graph, because the path is decided at runtime.
Everything downstream — how you debug, what you can promise an auditor, how gracefully you recover from a crash, whether you can swap model vendors falls out of that one choice. Frameworks are replaceable in a quarter. A control-flow philosophy that has spread through forty services is not.
Why Your Orchestration Framework Choice Matters in Production
The gap between a working prototype and a production agent is not a gap in capability. It is a gap in what you are allowed to be uncertain about.
A prototype is judged on whether it can do the task. A production system is judged on whether it does the execution the same way every time, tells you why when it doesn’t, and fails without taking anything else down. Gartner puts a number on how often that transition goes badly: more than 40% of agentic AI projects will be cancelled by the end of 2027, on escalating costs, unclear value, or inadequate risk controls. The same research estimates only around 130 of the thousands of vendors claiming agentic capability are actually delivering it.
Five factors exist in production that did not exist in your notebook. Your agent orchestration framework either handles them or hands them to you.
- State that outlives the process. A prototype holds state in memory for 90 seconds. A production workflow runs for 40 minutes, spans three human approvals, and has to survive a pod restart in the middle. If the framework has no durable checkpoint, you are writing one, and you will write it badly the first time, because persistence for a branching, resumable, partially-completed workflow is genuinely hard.
- Partial failure as the normal case. At any real volume, something is always broken. A tool returns a 503, a model call hits a rate limit, a downstream API changes its schema. The question is not whether you retry; it is what “retry” means. Retry the step? Re-enter the node with prior state intact? Restart the whole run and duplicate the three side effects you already committed? Frameworks answer this very differently, and the answer is invisible until it costs you.
- Explaining a specific run, months later. Someone will ask why a particular case was routed the way it was. Reconstructing that requires per-step inputs and outputs, the model version in play, and ideally the ability to replay the run. Log aggregation is not the same thing as replay.
- Concurrency and cost that scale together. Ten parallel agents are ten times the token spend and, without limits, ten times the pressure on every downstream system. Production needs per-node timeouts, concurrency caps and budget ceilings- controls that feel unnecessary right up until the week they aren’t.
- A place for a human to stand. Most valuable enterprise workflows have a step a human must approve. That means pausing mid-execution, holding state indefinitely, surfacing context to a person, and resuming cleanly on their decision. Bolting this onto a framework that assumes uninterrupted execution is one of the more expensive mistakes in this space.
Execute any AI agent framework comparison on these five elements, in this order. Most feature checklists fall apart at the third element — explaining a single run.
LangGraph vs CrewAI vs Claude Agent SDK: How Each One Actually Works
LangGraph: an explicit state machine with a durable log
LangGraph reached 1.0 in October 2025 and shipped 1.2 in May 2026. It is the most architecturally conservative of the three, and that is the point.

You define a typed state object, register nodes that read and return partial updates to it, and wire them with edges. Conditional edges take the current state and return the name of the next node, which means branching is a function you can unit-test rather than a behaviour you have to elicit. Cycles are first-class, so retry and refine loops are structural rather than improvised.
The part that matters most in production is the checkpointer. LangGraph writes state after every node transition to an in-memory store, SQLite, or Postgres, scoped by a thread ID. Three consequences follow. A crashed run resumes from the last completed node rather than the beginning. `interrupt()` can suspend a graph mid-execution and hold it indefinitely until a `Command(resume=…)` arrives, which is human-in-the-loop as a primitive rather than a pattern. And because every historical state is persisted, you can replay a past run to reproduce a bug exactly, time-travel debugging, and the closest thing this category has to a debugger.
The cost is verbosity. A LangGraph agent orchestration framework implementation of a simple three-step pipeline is meaningfully more code than the equivalent Crew, and the team has to think in graphs. That tax is worth paying when the sequence is mandated; it is pure overhead when it isn’t.
As a LangGraph agent orchestration framework choice, it also carries meaningful production mileage, with Uber, LinkedIn and Klarna among the companies running it before 1.0 shipped.
CrewAI: declarative roles inside a deterministic flow
CrewAI is the fastest of the three from blank file to something demonstrable, and it has the adoption to match — the company reports use across 60% of the US Fortune 500 and roughly 450 million agent executions per month as of early 2026.

The framework has two halves, and understanding the split is most of understanding CrewAI.
- Crews are collections of agents defined by role, goal and backstory, assigned tasks, and run under a process, sequential or hierarchical. Coordination inside a Crew is negotiated by the models.
- Flows are the deterministic layer: `@start()`, `@listen()` and `@router()` decorators define explicit event-driven paths, and state lives in a Pydantic model that is typed and serialisable between steps.
Teams that struggle with CrewAI are almost always teams that stayed in Crews when they needed Flows. Crews are the right abstraction for genuinely open-ended collaboration. They are the wrong one for a sequence that regulation requires to happen in a fixed order, because “the agents agreed on an order” is not a control you can evidence. Flows exist precisely for that, and the mature pattern is Flows on the outside, Crews on the inside, where flexibility is actually wanted.
The trade-off is debuggability. When a Crew produces a bad outcome, the cause is often an emergent interaction between role prompts rather than a line of code, and the fix is prompt surgery rather than a diff. That behaviour also drifts when the underlying model changes, which is a real maintenance cost over a multi-year horizon.
Claude Agent SDK: a bounded loop the model drives
The Claude Agent SDK exposes the agent harness that powers Claude Code. Its premise is that for open-ended, tool-heavy work, authoring a graph is the wrong exercise — you cannot enumerate paths in advance, so you should stop trying and constrain the loop instead.

You register tools — built-ins, your own functions, or MCP servers, and the model selects each next call. Four capabilities carry the production story. Automatic context compaction summarises older history as the window fills, which removes the most common failure mode in long-running agents. Session persistence lets you resume by ID.
Hooks fire at defined lifecycle points, including before and after tool calls and before compaction, giving you deterministic interception points inside a non-deterministic loop. And subagents run as isolated instances with their own context window, tool permissions and model, so a long research branch cannot contaminate the main thread.
Two constraints deserve to be stated plainly. It runs on Anthropic models only, which is a genuine procurement question for anyone with a multi-vendor mandate or a second-source requirement. Since the AI chooses what to do as it works, you can’t promise it will always go from step 2 to step 3. You can track and control its behaviour, but you can’t make it follow a fixed sequence because there isn’t one.
LangGraph vs CrewAI vs AutoGen in 2026: what happened to the fourth name
Anyone exploring the comparison should know the landscape shifted underneath that query.
Microsoft merged AutoGen with Semantic Kernel in October 2025 to form the Microsoft Agent Framework, which reached 1.0 for Python and .NET on 3 April 2026. Both predecessors moved to maintenance mode: bug fixes and security patches, no new features. Existing AutoGen projects keep running; they just stop gaining ground. A community fork, AG2, continues independently.
The practical guidance is short. Do not start a new build on AutoGen in 2026. If you are already on it and it works, you are not in danger, but plan a migration window. If you were drawn to AutoGen for its conversational multi-agent patterns and you are a Microsoft shop, Microsoft Agent Framework is the successor and inherits Semantic Kernel’s enterprise plumbing.
Any current AI agent framework comparison that still treats AutoGen as an active option is working from stale information; worth checking the date on anything you read about this.
Performance, Scalability and Production Benchmarks
A word of caution before the table, because this is where most flaws are identified in AI agent framework comparisons. There is no credible public head-to-head benchmark of these three, and you should be sceptical of any post claiming otherwise.
They are not interchangeable enough to benchmark fairly: the same workload expressed in each has a different number of model calls, and framework overhead is rounding error next to token latency. Anyone publishing “framework X is 40% faster” is measuring their own implementation choices.
What varies materially is the shape of scaling and the operational surface. That is what the table compares.
| Dimension | LangGraph | CrewAI | Claude Agent SDK |
|---|---|---|---|
| Control flow | Explicit graph you author | Declared roles + process, framework-resolved | Model-selected at runtime |
| State model | Typed state object, reducer-based updates | Pydantic model in Flows; implicit in Crews | Conversation context + session store |
| Durability | Checkpoint after every node | Flow state persists between steps | Session persistence, automatic compaction |
| Crash recovery | Resume at last completed node | Resume at last Flow step | Resume session by ID |
| Replay/time-travel | Yes, from historical checkpoints | Limited | Transcript review, not state replay |
| Human-in-the-loop | `interrupt()` mid-graph, holds indefinitely | Flow-level pause patterns | Hooks and permission gates |
| Parallelism | Explicit parallel branches, fan-in | Hierarchical process, async Crews | Parallel subagents, isolated context |
| Per-step timeouts | Yes, per node (1.2+) | Flow-level | Loop-level bounding |
| Model portability | Any provider | Any provider | Anthropic only |
| Determinism you can evidence | High | Medium in Flows, low in Crews | Low by design |
| Time to first working version | Slowest | Fastest | Fast for tool-heavy work |
| Enterprise AI orchestration platform | LangGraph Platform | CrewAI Enterprise | Anthropic platform tooling |
| Maturity signal | 1.0 Oct 2025, 1.2 May 2026 | Large deployed base, ~450M agents/month | Youngest; harness proven in Claude Code |
One row deserves expanding. Each project now sells a managed enterprise AI orchestration platform layered over the open-source core, and those planes differ far more than the frameworks themselves — on deployment model, RBAC granularity, trace retention and support terms. If your procurement process is going to touch this, evaluate the platform and the library as two separate decisions.
What to measure in your own bake-off
Since published benchmarks will not settle it, run a two-week spike on one real workflow and instrument four things.
- Steps to completion: Count model calls for the same task in each; this drives both cost and latency far more than framework overhead.
- Recovery granularity: Kill the process at 60% completion and measure how much work is lost.
- Time to root cause: Introduce a deliberate bug and time how long it takes an engineer who did not write it to find it.
- Behavioural drift: Run the same input fifty times and measure output variance, which tells you what you can and cannot put in an SLA.
Those four numbers will decide this better than any comparison table, including this one.
How the Same Workflow Looks in Each Framework
Abstractions get clearer against something concrete. Take a security incident triage workflow: an alert fires, the system enriches it from an identity provider, an endpoint tool and a ticketing system, classifies severity, pages a human for anything critical, waits for a containment decision, executes it, and writes an auditable record.
In LangGraph, this is a graph with an enrichment fan-out into three parallel nodes, a fan-in, a `classify` node, and a conditional edge that routes critical alerts to an `interrupt()` and everything else to auto-remediation. The interrupt holds state in Postgres for as long as it takes the on-call engineer to respond — minutes or hours; the graph does not care.
When they answer, the run resumes at exactly that node. The audit record writes itself out of the checkpoint history. This is the shape the workload wants, and the verbosity buys something real: a compliance reviewer can read the graph definition and see that critical alerts cannot bypass human approval, because there is no edge that permits it.
In CrewAI, you would write this as a Flow, not a Crew. `@start()` triggers enrichment, `@listen()` chains the classification, and `@router()` splits critical from routine. A Crew could sit inside the enrichment step, where three role-based agents pull from three systems and reconcile conflicting signals — genuinely collaborative work with no fixed correct order.
What you would not do is let a Crew decide whether a human gets paged. That decision belongs in the deterministic layer, and putting it there is the difference between a CrewAI system that passes review and one that doesn’t.
In the Claude Agent SDK, you would give the model the three enrichment tools as MCP servers plus a containment tool gated behind a permission hook, and let it investigate. This is the weakest fit of the three for this particular workload, and it is worth being direct about why: the requirement is a mandated sequence with an enforced approval gate, which is exactly what a model-driven loop cannot guarantee structurally.
Invert the workload, though: an open-ended investigation where an analyst asks “what else touched this host in the last thirty days” and the useful path cannot be enumerated in advance, and the ranking reverses completely. The SDK’s subagents let you spawn parallel investigation threads with isolated context, and no graph you could have drawn would have covered the branches that matter.
The lesson generalises, and it is the reason most honest reviews of multi-agent orchestration frameworks in 2026 refuse to name a single winner. Mandated sequence favours LangGraph. Collaborative role-shaped work favours CrewAI. Open-ended investigation favours a model-driven loop. Most enterprise systems contain all three, which is why multi-agent orchestration in practice usually means more than one of these coexisting rather than a single winner.
Which Framework Is Best for Different Enterprise Use Cases?
| Use case | Strongest fit | Why |
|---|---|---|
| Regulated approval workflows (claims, credit, clinical) | LangGraph | Sequence is mandated and must be evidenced; interrupts hold state through human review |
| Long-running processes spanning hours or days | LangGraph | Checkpoint-level durability and resumption at node granularity |
| Research and content pipelines with distinct roles | CrewAI | Role vocabulary matches the work; hand-offs are the natural abstraction |
| Rapid internal automation and back-office tooling | CrewAI | Fastest path to something usable; Flows add rigour later |
| Open-ended investigation and analysis | Claude Agent SDK | Paths cannot be enumerated ahead of time; subagents isolate parallel threads |
| Developer tooling and codebase automation | Claude Agent SDK | The harness was built for exactly this workload |
| High-volume deterministic routing | LangGraph | Predictable step count, testable branches, controllable cost |
| Multi-vendor model strategy or second-source mandate | LangGraph or CrewAI | Provider-agnostic; the SDK is Anthropic-only |
| Microsoft-centric estates with existing Semantic Kernel investment | Microsoft Agent Framework | Successor to AutoGen and Semantic Kernel; inherits the .NET ecosystem |
Read the table as pressure, not prescription. A capable team ships any of these workloads on any of these frameworks. The column tells you which one stops fighting you around month four.
An orchestration review maps your workflows to the right framework before your first production incident does.
How to Choose the Right AI Orchestration Framework
Four questions, in this order. Each one eliminates options, so answer them in sequence rather than scoring everything at once.
One: does anything in this workflow have a mandated order?
Regulation, audit obligation, or a safety property that must hold. If yes, the deciding steps belong in an explicitly authored structure: a LangGraph graph, or a CrewAI Flow. This is not a preference. A model-selected path cannot be evidenced as always-correct, and discovering that during an audit is a bad time to learn it.
Two: how much work is lost when a run dies at 70%?
If the answer is “the run restarts and we double-charge someone,” you need node-level checkpointing, and LangGraph is the strongest answer in this group. If the answer is “we rerun it, nobody notices,” this constraint is not binding, and you should stop optimising for it.
Three: are you contractually or strategically bound to more than one model provider?
Many enterprises now are, whether for negotiating leverage, redundancy, or regional availability. If so, the Claude Agent SDK is out on procurement grounds regardless of technical merit, and that conversation is better had in week one than week twelve.
Four: can you enumerate the paths?
If you can draw the workflow on a whiteboard and the drawing is finite, author it explicitly. If every attempt produces “and then it depends,” the workload is genuinely open-ended, and a model-driven loop with good tools will outperform a graph you will keep amending.
Teams that answer these honestly usually find the choice already made. Teams that start from enterprise AI orchestration feature matrices tend to pick on capability breadth and then spend a year discovering that breadth was never the constraint.
One further note for architects: whatever you choose, keep your business logic outside the framework. Tools, domain services and data access should be plain functions with their own tests, wired into the orchestration layer rather than written inside it. Teams who do this migrate in weeks. Teams who scatter domain logic across role prompts and node bodies migrate in quarters, and that difference dwarfs every distinction in the comparison table above.
Migration Paths Between Frameworks
Migration is a real question in this market, and the honest answer is that difficulty depends almost entirely on the direction and on how disciplined you were about the note above.
- CrewAI to LangGraph is the most common move, usually triggered by an audit finding or a reliability incident rather than a technical preference. It is tractable because you are adding structure rather than removing it: each Flow step becomes a node, each router becomes a conditional edge, and Crews become either a single node that wraps the multi-agent call or a subgraph. The genuinely hard part is the behaviour that was living in role prompts and never written down. Budget for rediscovering requirements, not for rewriting code.
- LangGraph to CrewAI is rarer and usually a mistake, because it trades away the determinism that motivated the graph. The exception is a team that over-engineered a linear pipeline into a graph and wants the simpler abstraction back.
- AutoGen to anything is now a planned migration rather than an optional one, given maintenance mode. Microsoft Agent Framework is the lowest-friction destination for .NET and Azure-committed teams. LangGraph is the usual choice for teams that want provider independence and explicit control. AG2 buys time but not a roadmap.
- Anything to the Claude Agent SDK is less a migration than a rewrite, because you are discarding authored control flow rather than translating it. That is appropriate when the workload turned out to be open-ended, and the graph had become a maintenance burden of special cases, a real situation, just not a common one.
The reusable assets across every path are the same: tool definitions, evaluation sets, and domain services. If those three are clean, no migration here is worse than a sprint or two.
Tools, evals, permissions and observability are where agents stall; we build all four, in production.
How Appinventiv Helps Build Production-Ready AI Agent Systems
We are usually brought in at one of two moments: before a framework decision, when an architecture team wants the trade-offs mapped against their actual workflows, or after one, when a promising pilot has stalled somewhere between demo and deployment.
Our AI Agent Development Services cover the work that determines whether an agent system survives production, tool and MCP server engineering, evaluation harnesses that catch regressions before users do, permission and approval boundaries, durable state design, and the observability needed to explain any individual run months later. We work across LangGraph, CrewAI, the Claude Agent SDK and Microsoft Agent Framework rather than defaulting to one, because the right answer genuinely varies by workload.
As an AI consulting company working with enterprise engineering and architecture teams, we also do the less glamorous half: helping organizations decide which processes should be agentic at all. Many stalled agent projects were plain automation problems all along, and saying so early is often the most useful thing we do.
FAQs
Q. What are the best production-ready AI agent frameworks in 2026?
A. LangGraph, CrewAI, the Claude Agent SDK and Microsoft Agent Framework are the four with credible production deployment behind them. LangGraph reached 1.0 in October 2025 and 1.2 in May 2026; CrewAI reports usage across 60% of the US Fortune 500; the Claude Agent SDK exposes the harness running Claude Code; Microsoft Agent Framework hit 1.0 in April 2026. AutoGen and Semantic Kernel are both in maintenance mode and should not anchor a new build.
Q. LangGraph vs CrewAI: which framework is better for production AI agents?
A. Neither is better in general; they fail in opposite directions. LangGraph is stronger where the sequence is mandated, runs are long, and you need to resume from a precise point after a crash; its per-node checkpointing and mid-graph interrupts are the most robust in this group. CrewAI is stronger where work is genuinely collaborative and time to value matters, and its Flows layer closes much of the determinism gap. If your workflow has an audit obligation, weight LangGraph. If it has a deadline, weight CrewAI.
Q. Does LangGraph scale better than CrewAI?
A. They scale differently rather than one strictly better. LangGraph gives you finer control over the things that actually break at volume: explicit parallel branches, per-node timeouts since 1.2, and checkpoint granularity that keeps recovery cheap. CrewAI scales well operationally, with roughly 450 million agent executions per month reported across its user base, and its enterprise plane handles deployment and observability. The real scaling variable in both is model calls per task, which is an implementation decision rather than a framework property.
Q. Which framework provides better memory and state management?
A. LangGraph, if you mean durable, inspectable, resumable state. It persists a typed state object after every node transition to Postgres, SQLite or memory, scoped by thread ID, and you can replay any historical checkpoint. CrewAI Flows give you typed Pydantic state that survives between steps, which is sufficient for most workflows but coarser in recovery granularity. The Claude Agent SDK manages conversational context automatically through compaction and session persistence, excellent for keeping long agents coherent, but a different thing from a durable workflow state store.
Q. Should I choose LangGraph or Claude Agent SDK for enterprise agent orchestration?
A. Decide on two axes before any feature comparison. First, model portability: the SDK runs on Anthropic models only, so a multi-vendor mandate settles it immediately. Second, whether you can enumerate the paths: if the workflow is drawable and finite, LangGraph’s explicit graph will be easier to test, evidence and maintain; if it is genuinely open-ended and tool-heavy, a graph becomes a growing pile of special cases, and the SDK’s bounded loop is the better abstraction.
Q. Which framework is easier to deploy and maintain in production?
A. CrewAI is easiest to deploy initially, and its enterprise offering handles much of the operational plane. LangGraph is easier to maintain over multi-year horizons, because its behaviour is defined in code you can diff and test rather than in prompts that drift as models change. The Claude Agent SDK is easiest to keep coherent over very long sessions thanks to automatic compaction, but hardest to pin behaviourally. Weigh deployment ease against maintenance cost according to how long this system will actually live.
Q. What is the best multi-agent orchestration framework for enterprise applications?
A. There is no single best, and the enterprises getting this right increasingly run more than one. A reasonable default across multi-agent orchestration frameworks in 2026: LangGraph for regulated and long-running workflows, CrewAI for collaborative and fast-moving internal automation, the Claude Agent SDK for open-ended tool-heavy work, Microsoft Agent Framework where the estate is already Microsoft-centric. Choose per workload and keep domain logic outside whichever framework you pick, so the decision stays reversible.


- In just 2 mins you will get a response
- Your idea is 100% protected by our Non Disclosure Agreement.
Build vs Buy: Licensed RAG Accelerators vs Ground-Up Custom Build
Key takeaways: Seventy percent of year-one build cost is payroll. Any business case anchored on infrastructure pricing is measuring the wrong thing. The cash gap closes as you go — $680K in year one, $240K by year three. Licensing's advantage is front-loaded, not compounding. The build team never disbands. Five to six FTE indefinitely is…
AI Sales Agent Development: Here’s a Guide that Covers the Entire Workflow
Key takeaways: Start narrow. Tie one workflow to one number before writing code; the teams that scale agentic AI almost always begin with a single use case, not a platform. Data sets the ceiling. Audit, dedupe, and enrich your CRM before the build, because an agent cannot reason about accounts it cannot see. Ground it…
How to Build AI Infrastructure: Cost, Challenges, Compliance, and Everything Enterprises Get Wrong
Key takeaways: AI infrastructure success depends more on architecture, data, and governance than on the AI model itself. Production-ready AI requires compute, data pipelines, MLOps, networking, monitoring, and governance to work as one integrated stack. Choosing the right deployment model (cloud, on-prem, hybrid, or sovereign) directly impacts scalability, compliance, and long-term costs. Most enterprise AI…





































