[22:31:31.108] New invocation is queued and will start shortly
[22:31:32.531] Starting the invocation (attempt 1)
[22:31:32.572] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[22:31:32.572] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[22:31:32.572] Buildbucket request:
{
"bucket": "luci.dart.ci.sandbox",
"client_operation_id": "9019172041389505344",
"parameters_json": "{\"builder_name\":\"flutter-analyze\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"52ea1fd23711909d357bc8a491f878d33aa08f55\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@52ea1fd23711909d357bc8a491f878d33aa08f55\",\"title\":\"52ea1fd23711909d357bc8a491f878d33aa08f55\",\"url\":\"https://dart.googlesource.com/sdk/+/52ea1fd23711909d357bc8a491f878d33aa08f55\"},{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"034fab204645933fe7311de3e193f43fca0a8a37\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@034fab204645933fe7311de3e193f43fca0a8a37\",\"title\":\"034fab204645933fe7311de3e193f43fca0a8a37\",\"url\":\"https://dart.googlesource.com/sdk/+/034fab204645933fe7311de3e193f43fca0a8a37\"},{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"26fce2a64a5c63e0281f01f7a35fea734c711e2b\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@26fce2a64a5c63e0281f01f7a35fea734c711e2b\",\"title\":\"26fce2a64a5c63e0281f01f7a35fea734c711e2b\",\"url\":\"https://dart.googlesource.com/sdk/+/26fce2a64a5c63e0281f01f7a35fea734c711e2b\"},{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"8d7dfd6769ee45830daa0541eadb30042cf2b936\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@8d7dfd6769ee45830daa0541eadb30042cf2b936\",\"title\":\"8d7dfd6769ee45830daa0541eadb30042cf2b936\",\"url\":\"https://dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}}",
"pubsub_callback": {
"auth_token": "...",
"topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
},
"tags": [
"builder:flutter-analyze",
"scheduler_invocation_id:9019172041389505344",
"scheduler_job_id:dart/flutter-analyze",
"user_agent:luci-scheduler",
"buildset:commit/git/8d7dfd6769ee45830daa0541eadb30042cf2b936",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936",
"gitiles_ref:refs/heads/master"
]
}
[22:31:33.386] Buildbucket response:
{
"build": {
"bucket": "luci.dart.ci.sandbox",
"canary_preference": "PROD",
"created_by": "project:dart",
"created_ts": "1614810692696715",
"id": "8853741979054198560",
"parameters_json": "{\"builder_name\": \"flutter-analyze\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"52ea1fd23711909d357bc8a491f878d33aa08f55\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@52ea1fd23711909d357bc8a491f878d33aa08f55\", \"title\": \"52ea1fd23711909d357bc8a491f878d33aa08f55\", \"url\": \"https://dart.googlesource.com/sdk/+/52ea1fd23711909d357bc8a491f878d33aa08f55\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"034fab204645933fe7311de3e193f43fca0a8a37\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@034fab204645933fe7311de3e193f43fca0a8a37\", \"title\": \"034fab204645933fe7311de3e193f43fca0a8a37\", \"url\": \"https://dart.googlesource.com/sdk/+/034fab204645933fe7311de3e193f43fca0a8a37\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"26fce2a64a5c63e0281f01f7a35fea734c711e2b\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@26fce2a64a5c63e0281f01f7a35fea734c711e2b\", \"title\": \"26fce2a64a5c63e0281f01f7a35fea734c711e2b\", \"url\": \"https://dart.googlesource.com/sdk/+/26fce2a64a5c63e0281f01f7a35fea734c711e2b\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"title\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"url\": \"https://dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}}",
"project": "dart",
"result_details_json": "{\"properties\": {}}",
"service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
"status": "SCHEDULED",
"status_changed_ts": "1614810693243071",
"tags": [
"build_address:luci.dart.ci.sandbox/flutter-analyze/11615",
"builder:flutter-analyze",
"buildset:commit/git/8d7dfd6769ee45830daa0541eadb30042cf2b936",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9019172041389505344",
"scheduler_job_id:dart/flutter-analyze",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8853741979054198560/+/annotations",
"swarming_tag:luci_project:dart",
"swarming_tag:recipe_name:dart/neo",
"swarming_tag:recipe_package:dart/recipe_bundles/dart.googlesource.com/recipes",
"swarming_task_id:",
"user_agent:luci-scheduler"
],
"updated_ts": "1614810693243176",
"url": "https://ci.chromium.org/b/8853741979054198560",
"utcnow_ts": "1614810693377364"
}
}
[22:31:33.386] Task URL: https://ci.chromium.org/b/8853741979054198560
[22:31:33.386] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:2:0) after 1m0s
[22:31:37.941] Received PubSub notification, asking Buildbucket for the build status
[22:31:38.113] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:32:33.388] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:2:0)
[22:32:33.388] Timer tick, asking Buildbucket for the build status
[22:32:33.518] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:32:33.518] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:4:0) after 1m0s
[22:33:33.533] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:4:0)
[22:33:33.533] Timer tick, asking Buildbucket for the build status
[22:33:33.661] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:33:33.661] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:5:0) after 1m0s
[22:34:33.645] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:5:0)
[22:34:33.645] Timer tick, asking Buildbucket for the build status
[22:34:34.168] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:34:34.168] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:6:0) after 1m0s
[22:35:34.508] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:6:0)
[22:35:34.508] Timer tick, asking Buildbucket for the build status
[22:35:35.141] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:35:35.141] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:7:0) after 1m0s
[22:36:35.175] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:7:0)
[22:36:35.175] Timer tick, asking Buildbucket for the build status
[22:36:35.292] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:36:35.292] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:8:0) after 1m0s
[22:37:35.362] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:8:0)
[22:37:35.362] Timer tick, asking Buildbucket for the build status
[22:37:36.215] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:37:36.215] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:9:0) after 1m0s
[22:38:36.288] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:9:0)
[22:38:36.288] Timer tick, asking Buildbucket for the build status
[22:38:36.399] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:38:36.399] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:10:0) after 1m0s
[22:39:36.373] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:10:0)
[22:39:36.373] Timer tick, asking Buildbucket for the build status
[22:39:36.455] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:39:36.455] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:11:0) after 1m0s
[22:40:36.505] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:11:0)
[22:40:36.505] Timer tick, asking Buildbucket for the build status
[22:40:36.694] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:40:36.694] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:12:0) after 1m0s
[22:41:36.768] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:12:0)
[22:41:36.768] Timer tick, asking Buildbucket for the build status
[22:41:36.850] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:41:36.850] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:13:0) after 1m0s
[22:42:36.861] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:13:0)
[22:42:36.861] Timer tick, asking Buildbucket for the build status
[22:42:37.445] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:42:37.445] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:14:0) after 1m0s
[22:43:37.530] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:14:0)
[22:43:37.530] Timer tick, asking Buildbucket for the build status
[22:43:37.632] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:43:37.632] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:15:0) after 1m0s
[22:44:38.087] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:15:0)
[22:44:38.087] Timer tick, asking Buildbucket for the build status
[22:44:38.167] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:44:38.167] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:16:0) after 1m0s
[22:45:38.134] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:16:0)
[22:45:38.134] Timer tick, asking Buildbucket for the build status
[22:45:38.246] Build 8853741979054198560: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:45:38.246] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9019172041389505344:17:0) after 1m0s
[22:46:16.472] Received PubSub notification, asking Buildbucket for the build status
[22:46:16.573] Build 8853741979054198560: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[22:46:16.573] Buildbucket build:
{
"build": {
"bucket": "luci.dart.ci.sandbox",
"canary_preference": "PROD",
"completed_ts": "1614811575783381",
"created_by": "project:dart",
"created_ts": "1614810692696715",
"id": "8853741979054198560",
"parameters_json": "{\"builder_name\": \"flutter-analyze\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"52ea1fd23711909d357bc8a491f878d33aa08f55\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@52ea1fd23711909d357bc8a491f878d33aa08f55\", \"title\": \"52ea1fd23711909d357bc8a491f878d33aa08f55\", \"url\": \"https://dart.googlesource.com/sdk/+/52ea1fd23711909d357bc8a491f878d33aa08f55\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"034fab204645933fe7311de3e193f43fca0a8a37\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@034fab204645933fe7311de3e193f43fca0a8a37\", \"title\": \"034fab204645933fe7311de3e193f43fca0a8a37\", \"url\": \"https://dart.googlesource.com/sdk/+/034fab204645933fe7311de3e193f43fca0a8a37\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"26fce2a64a5c63e0281f01f7a35fea734c711e2b\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@26fce2a64a5c63e0281f01f7a35fea734c711e2b\", \"title\": \"26fce2a64a5c63e0281f01f7a35fea734c711e2b\", \"url\": \"https://dart.googlesource.com/sdk/+/26fce2a64a5c63e0281f01f7a35fea734c711e2b\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"title\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"url\": \"https://dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}}",
"project": "dart",
"result": "SUCCESS",
"result_details_json": "{\"properties\": {\"$build/goma\": {\"enable_ats\": true, \"server_host\": \"goma.chromium.org\", \"use_luci_auth\": true}, \"$recipe_engine/isolated\": {\"server\": \"https://isolateserver.appspot.com\"}, \"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"52ea1fd23711909d357bc8a491f878d33aa08f55\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@52ea1fd23711909d357bc8a491f878d33aa08f55\", \"title\": \"52ea1fd23711909d357bc8a491f878d33aa08f55\", \"url\": \"https://dart.googlesource.com/sdk/+/52ea1fd23711909d357bc8a491f878d33aa08f55\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"034fab204645933fe7311de3e193f43fca0a8a37\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@034fab204645933fe7311de3e193f43fca0a8a37\", \"title\": \"034fab204645933fe7311de3e193f43fca0a8a37\", \"url\": \"https://dart.googlesource.com/sdk/+/034fab204645933fe7311de3e193f43fca0a8a37\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"26fce2a64a5c63e0281f01f7a35fea734c711e2b\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@26fce2a64a5c63e0281f01f7a35fea734c711e2b\", \"title\": \"26fce2a64a5c63e0281f01f7a35fea734c711e2b\", \"url\": \"https://dart.googlesource.com/sdk/+/26fce2a64a5c63e0281f01f7a35fea734c711e2b\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"title\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"url\": \"https://dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936\"}]}, \"$recipe_engine/swarming\": {\"server\": \"https://chromium-swarm.appspot.com\"}, \"bot_id\": \"luci-dart-try-xenial-82-0v12\", \"branch\": \"refs/heads/master\", \"buildername\": \"flutter-analyze\", \"buildnumber\": 11615, \"clobber\": true, \"got_revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\", \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"8d7dfd6769ee45830daa0541eadb30042cf2b936\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"browsers\", \"builder_9be41918ff83a7b3226eb7108f5f51965c07ba164124c2ce5a06a8755c99defd_v2\", \"builder_b19ea4ce286701e444ef847fe2456548cc4417021e320a5270dd8f9c6f7f773d_v2\", \"builder_b2f80d810ec7b8afc62ddd33a5836317e975dc6f593fa6e468f70e2e107c01fe_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Haswell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gcp\": [\"dart-ci\"], \"gpu\": [\"none\"], \"host_class\": [\"default\"], \"id\": [\"luci-dart-try-xenial-82-0v12\"], \"image\": [\"dart-xenial-20101000-265b45aa9e2\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"e2-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16\", \"Ubuntu-16.04\", \"Ubuntu-16.04.6\"], \"pool\": [\"dart.tests\", \"luci.dart.try\"], \"python\": [\"2.7.12\"], \"server_version\": [\"5725-1a0d85e\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
"service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
"started_ts": "1614810695530055",
"status": "COMPLETED",
"status_changed_ts": "1614811576144924",
"tags": [
"build_address:luci.dart.ci.sandbox/flutter-analyze/11615",
"builder:flutter-analyze",
"buildset:commit/git/8d7dfd6769ee45830daa0541eadb30042cf2b936",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/8d7dfd6769ee45830daa0541eadb30042cf2b936",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9019172041389505344",
"scheduler_job_id:dart/flutter-analyze",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8853741979054198560/+/annotations",
"swarming_tag:luci_project:dart",
"swarming_tag:os:Linux",
"swarming_tag:recipe_name:dart/neo",
"swarming_tag:recipe_package:dart/recipe_bundles/dart.googlesource.com/recipes",
"swarming_task_id:521309479acc5010",
"user_agent:luci-scheduler"
],
"updated_ts": "1614811576170895",
"url": "https://ci.chromium.org/b/8853741979054198560",
"utcnow_ts": "1614811576562803"
}
}
[22:46:16.573] Invocation finished in 14m45.487849781s with status SUCCEEDED