{
    children: [
        {
            name: "bootstrap",
            url: "fuchsia-boot:///#meta/bootstrap.cm",
            startup: "eager",
        },
        {
            name: "startup",
            url: "fuchsia-boot:///#meta/startup.cm",
            startup: "eager",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.appmgr.Startup",
                "fuchsia.sessionmanager.Startup",
            ],
            from: "#core",
            to: "#startup",
        },
        {
            protocol: "fuchsia.logger.LogSink",
            from: "#bootstrap",
            to: "#startup",
        },

        // Capabilities routed from "parent" at the root are either provided by
        // bootsvc through component_manager's namespace or by component_manager
        // itself as a builtin service
        {
            directory: "boot",
            from: "parent",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.FactoryItems",
                "fuchsia.boot.Items",
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.RootResource",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.kernel.DebugResource",
                "fuchsia.kernel.HypervisorResource",
                "fuchsia.kernel.InfoResource",
                "fuchsia.kernel.IoportResource",
                "fuchsia.kernel.IrqResource",
                "fuchsia.kernel.MmioResource",
                "fuchsia.kernel.RootJob",
                "fuchsia.kernel.RootJobForInspect",
                "fuchsia.kernel.SmcResource",
                "fuchsia.kernel.Stats",
                "fuchsia.kernel.VmexResource",
                "fuchsia.process.Launcher",
            ],
            from: "parent",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: [
                "fuchsia.sys2.EventSource",
                "fuchsia.time.Maintenance",
            ],
            from: "parent",
            to: "#core",
        },
        {
            protocol: [ "fuchsia.sys2.SystemController" ],
            from: "parent",
            to: "#bootstrap",
        },

        // ...and the rest of these are services provided by components for each other
        {
            directory: "dev",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "durable",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "factory",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "minfs",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "pkgfs",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "config-data",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "root-ssl-certificates",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "system",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "blob",
            from: "#bootstrap",
            to: "#core",
        },
        {
            directory: "tmp",
            from: "#bootstrap",
            to: "#core",
        },

        // Non-zircon services for svchost
        {
            protocol: [
                "fuchsia.device.manager.Administrator",
                "fuchsia.device.manager.BindDebugger",
                "fuchsia.device.manager.DebugDumper",
                "fuchsia.device.manager.DriverHostDevelopment",
                "fuchsia.device.NameProvider",
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
                "fuchsia.driver.registrar.DriverRegistrar",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.hardware.pty.Device",
                "fuchsia.kernel.Counter",
                "fuchsia.kernel.DebugBroker",
                "fuchsia.logger.Log",
                "fuchsia.logger.LogSink",
                "fuchsia.paver.Paver",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.sysinfo.SysInfo",
                "fuchsia.sysmem.Allocator",
                "fuchsia.thermal.Controller",
                "fuchsia.tracing.kernel.Controller",
                "fuchsia.tracing.kernel.Reader",
                "fuchsia.update.verify.BlobfsVerifier",
                "fuchsia.virtualconsole.SessionManager",
            ],
            from: "#bootstrap",
            to: "#core",
        },

        // Non-zircon services for archivist and svchost
        {
            protocol: [
                "fuchsia.amber.Control",
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.diagnostics.internal.DetectController",
                "fuchsia.diagnostics.internal.LogStatsController",
                "fuchsia.diagnostics.internal.PersistenceController",
                "fuchsia.diagnostics.internal.SamplerController",
                "fuchsia.exception.Handler",
                "fuchsia.feedback.CrashReporter",
                "fuchsia.metrics.MetricEventLoggerFactory",
                "fuchsia.net.NameLookup",
                "fuchsia.net.stack.Log",
                "fuchsia.net.stack.Stack",
                "fuchsia.netstack.Netstack",
                "fuchsia.pkg.PackageResolver",
                "fuchsia.pkg.RepositoryManager",
                "fuchsia.pkg.rewrite.Engine",
                "fuchsia.posix.socket.Provider",
                "fuchsia.process.Resolver",
                "fuchsia.sys.Environment",
                "fuchsia.sys.internal.ComponentEventProvider",
                "fuchsia.sys.internal.LogConnector",
                "fuchsia.sys.Launcher",
                "fuchsia.sys.Loader",
                "fuchsia.tracing.controller.Controller",
                "fuchsia.tracing.provider.Registry",
                "fuchsia.virtualization.Manager",
            ],
            from: "#core",
            to: "#bootstrap",
            dependency: "weak_for_migration",
        },

        // driver_manager needs the v1 hub for the serial console
        {
            directory: "hub",
            from: "#core",
            to: "#bootstrap",
            dependency: "weak_for_migration",
        },

        // RCS uses the root hub for service discovery.
        {
            directory: "hub",
            from: "framework",
            to: "#core",
        },

        // Offer events to `bootstrap` for diagnostics usage.
        {
            event: [
                "running",
                "started",
                "stopped",
            ],
            from: "framework",
            to: "#bootstrap",
            modes: [ "async" ],
        },
        {
            event: "directory_ready",
            from: "parent",
            to: "#bootstrap",
            filter: { name: "diagnostics" },
            modes: [ "async" ],
        },
        {
            event: "capability_requested",
            from: "framework",
            to: "#bootstrap",
            filter: { name: "fuchsia.logger.LogSink" },
        },
        {
            protocol: [ "fuchsia.sys2.EventSource" ],
            from: "parent",
            to: "#bootstrap",
        },
        {
            protocol: [ "fuchsia.sys2.ComponentResolver" ],
            from: "#bootstrap",
            to: "#core",
        },

        // Offer boot resolver to `bootstrap` for driver usage.
        {
            resolver: "boot_resolver",
            from: "parent",
            to: "#bootstrap",
        },
    ],
    environments: [
        {
            name: "core-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "base_resolver",
                    from: "#bootstrap",
                    scheme: "fuchsia-pkg",
                },
            ],
            __stop_timeout_ms: 60000,
        },
    ],
}
