devel.admin_settings:
  path: '/admin/config/development/devel'
  defaults:
    _form: '\Drupal\devel\Form\SettingsForm'
    _title: 'Devel settings'
  requirements:
    _permission: 'administer site configuration'

devel.toolbar.settings_form:
  path: '/admin/config/development/devel/toolbar'
  defaults:
    _form: '\Drupal\devel\Form\ToolbarSettingsForm'
    _title: 'Devel Toolbar Settings'
  requirements:
    _permission: 'administer site configuration'
    _module_dependencies: 'toolbar'

devel.reinstall:
  path: '/devel/reinstall'
  defaults:
    _form: '\Drupal\devel\Form\DevelReinstall'
    _title: 'Reinstall modules'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'administer site configuration'

devel.menu_rebuild:
  path: '/devel/menu/reset'
  defaults:
    _form: '\Drupal\devel\Form\RouterRebuildConfirmForm'
    _title: 'Rebuild router'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'administer site configuration'

devel.configs_list:
  path: '/devel/config/{filter}'
  options:
    _admin_route: TRUE
  defaults:
    _form: '\Drupal\devel\Form\ConfigsList'
    _title: 'Config editor'
    filter: ''
  requirements:
    _permission: 'administer site configuration'

devel.config_edit:
  path: '/devel/config/edit/{config_name}'
  defaults:
    _form: '\Drupal\devel\Form\ConfigEditor'
    _title: 'Edit configuration object: @config_name'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'administer site configuration'

devel.config_delete:
  path: '/devel/config/delete/{config_name}'
  defaults:
    _form: '\Drupal\devel\Form\ConfigDeleteForm'
    _title: 'Delete configuration object: @config_name'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'administer site configuration'

devel.state_system_page:
  path: '/devel/state'
  defaults:
    _controller: '\Drupal\devel\Controller\DevelController::stateSystemPage'
    _title: 'State editor'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.system_state_edit:
  path: '/devel/state/edit/{state_name}'
  defaults:
    _form: '\Drupal\devel\Form\SystemStateEdit'
    _title: 'Edit state variable: @state_name'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'administer site configuration'

devel.theme_registry:
  path: '/devel/theme/registry'
  defaults:
    _controller: '\Drupal\devel\Controller\DevelController::themeRegistry'
    _title: 'Theme registry'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.field_info_page:
  path: '/devel/field/info'
  defaults:
    _controller: '\Drupal\devel\Controller\DevelController::fieldInfoPage'
    _title: 'Field info'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.session:
  path: '/devel/session'
  defaults:
    _controller: '\Drupal\devel\Controller\DevelController::session'
    _title: 'Session viewer'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.switch:
  path: '/devel/switch/{name}'
  defaults:
    _controller: '\Drupal\devel\Controller\SwitchUserController::switchUser'
    _title: 'Switch user'
    name: ''
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'switch users'
    _csrf_token: 'TRUE'

devel.cache_clear:
  path: '/devel/cache/clear'
  defaults:
    _controller: '\Drupal\devel\Controller\DevelController::cacheClear'
    _title: 'Clear cache'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'
    _csrf_token: 'TRUE'

devel.run_cron:
  path: '/devel/run-cron'
  defaults:
    _controller: '\Drupal\system\CronController::runManually'
    _title: 'Run cron'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'administer site configuration'
    _csrf_token: 'TRUE'

# Container info
devel.container_info.service:
  path: '/devel/container/service'
  defaults:
    _controller: '\Drupal\devel\Controller\ContainerInfoController::serviceList'
    _title: 'Container services'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.container_info.service.detail:
  path: '/devel/container/service/{service_id}'
  defaults:
    _controller: '\Drupal\devel\Controller\ContainerInfoController::serviceDetail'
    _title: 'Service @service_id detail'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.container_info.parameter:
  path: '/devel/container/parameter'
  defaults:
    _controller: '\Drupal\devel\Controller\ContainerInfoController::parameterList'
    _title: 'Container parameters'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.container_info.parameter.detail:
  path: '/devel/container/parameter/{parameter_name}'
  defaults:
    _controller: '\Drupal\devel\Controller\ContainerInfoController::parameterDetail'
    _title: 'Parameter @parameter_name value'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

# Route info
devel.route_info:
  path: '/devel/routes'
  defaults:
    _controller: '\Drupal\devel\Controller\RouteInfoController::routeList'
    _title: 'Routes'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.route_info.item:
  path: '/devel/routes/item'
  defaults:
    _controller: '\Drupal\devel\Controller\RouteInfoController::routeDetail'
    _title: 'Route detail'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

# Event info
devel.event_info:
  path: '/devel/events'
  defaults:
    _controller: '\Drupal\devel\Controller\EventInfoController::eventList'
    _title: 'Events'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

# Layouts info
devel.layout_info:
  path: '/devel/layouts'
  defaults:
    _controller: '\Drupal\devel\Controller\LayoutInfoController::layoutInfoPage'
    _title: 'Layouts'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'
    _module_dependencies: 'layout_discovery'

# Element info
devel.elements_page:
  path: '/devel/elements'
  defaults:
    _controller: '\Drupal\devel\Controller\ElementInfoController::elementList'
    _title: 'Element Info'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.elements_page.detail:
  path: '/devel/elements/{element_name}'
  defaults:
    _controller: '\Drupal\devel\Controller\ElementInfoController::elementDetail'
    _title: 'Element @element_name'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

# Entity type info
devel.entity_info_page:
  path: '/devel/entity/info'
  defaults:
    _controller: '\Drupal\devel\Controller\EntityTypeInfoController::entityTypeList'
    _title: 'Entity info'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.entity_info_page.detail:
  path: '/devel/entity/info/{entity_type_id}'
  defaults:
    _controller: '\Drupal\devel\Controller\EntityTypeInfoController::entityTypeDetail'
    _title: 'Entity type @entity_type_id'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'

devel.entity_info_page.fields:
  path: '/devel/entity/fields/{entity_type_id}'
  defaults:
    _controller: '\Drupal\devel\Controller\EntityTypeInfoController::entityTypeFields'
    _title: 'Entity fields @entity_type_id'
  options:
    _admin_route: TRUE
  requirements:
    _permission: 'access devel information'
