Details zu Email Delivery
Loggingdetails für Email Delivery-Logs.
Ressourcen
- emaildomain
Logkategorien
API-Wert (ID): | Konsole (Anzeigename) | Beschreibung |
---|---|---|
emaildelivery.emaildomain.outboundaccepted | emaildelivery.emaildomain.outboundaccepted | Logs für die erfolgreiche und nicht erfolgreiche Übermittlung eingehender E-Mails. |
emaildelivery.emaildomain.outboundrelayed | emaildelivery.emaildomain.outboundrelayed | Logs für die erfolgreiche und nicht erfolgreiche Übermittlung ausgehender E-Mails. |
Policys
Die Berechtigung EMAIL_DOMAIN_UPDATE ist zusammen mit Logging-Policys erforderlich, um Logging-bezogene Vorgänge auszuführen. Details zu Email Delivery-Policys finden Sie unter Details zum Email Delivery-Service.
Inhalt eines OutboundAccepted-E-Mail-Logs
Eigenschaft | Beschreibung | Beispiel |
---|---|---|
recipient | E-Mail-Adresse des Empfängers. Dies ist möglicherweise nicht in Logs mit dem Fehlertyp Autorisierungsfehler, Zurücksetzen oder Getrennt vorhanden. | user@example.com |
sender | Die erste E-Mail-Adresse im "Von:"-Header der E-Mail-Nachricht. | support@example.com |
action | Stellt Kontext für die Daten im Log bereit. Unterstützte Werte für Annahmelogs:
Automatisierte Prozessoren müssen Logs mit unbekannten Aktionswerten tolerieren. |
accept |
errorType |
Enthält Informationen zur Fehlerbehebung. Dies wird für erfolgreich angenommene E-Mails weggelassen. Unterstützte Werte für Annahmelogs:
Oracle behält sich das Recht vor, diesem Feld nach Bedarf neue Werte hinzuzufügen. Daher können Parer unbekannte Werte tolerieren. |
Daily Limit reached |
smtpStatus | Der SMTP-Status in Annahmelogs enthält den SMTP-Fehler oder den Status, der an den SMTP-Übermittlungsclient für diesen Empfänger zurückgegeben wird. | 250 2.1.5 user@example.com and options Ok |
messageId | MessageId ist eine eindeutige ID, die einen E-Mail-Sendevorgang darstellt. Verfolgt eine E-Mail Ende-zu-Ende. Die MessageId wird entweder vom Kunden bereitgestellt oder beim Verarbeiten der E-Mail vom MTA generiert. Sie ist in Annahmelogs, die vor dem Empfang von Nachrichtendaten nicht erfolgreich erstellt werden können, nicht vorhanden. | 06a9aa8e-0542-4ddf-8255-ec9c2f5e02a3 @smtpf-ad3-fd1-303-us-phoenix-1.imtaad3.vcndpphx.oraclevcn.com Weitere Informationen finden Sie unter https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.4. |
envelopeSender | Die beim Übermitteln der E-Mail angegebene ursprüngliche Envelope-Absenderadresse (MAIL FROM), mit der das Senden von E-Mails autorisiert wird. Im Gegensatz zu Body:data.sender (auch als "Von"-Header) wird diese Adresse für Annahmefehler bereitgestellt, da sie für Fehler verfügbar ist, die vor der Übertragung des Nachrichteninhalts auftreten. | support@example.com |
principalId | OCID des Benutzers, der versucht, E-Mails über das SMTP-Übermittlungsprotokoll weiterzuleiten. Wird nur für Autorisierungsfehlerlogs angegeben. | ocid1.user.oc1.<unique_ID> |
senderId |
OCID des genehmigten Absenders. Dies ist die OCID, die dem Body:data.sender zugeordnet ist, wenn dieser vorhanden ist. Andernfalls ist es die OCID, die dem Body:data.envelopeSender zugeordnet ist. Bei Autorisierungsfehlern ist sie möglicherweise nicht vorhanden. |
ocid1.emailsender.oc1.phx.<unique_ID> |
senderCompartmentId |
Compartment-OCID des genehmigten Absenders. Es handelt sich dabei um die Compartment-OCID, die mit der Body:data.senderId verknüpft ist. Bei Autorisierungsfehlern ist sie möglicherweise nicht vorhanden. |
ocid1.compartment.oc1..<unique_ID> |
headers | (Zukünftig verfügbar) Konfigurierbare Header auf Ebene genehmigter Absender. Werden über eine Supportanfrage eingerichtet. Es können maximal vier Header verwendet werden. |
|
receivingDomain | E-Mail-Domain des Empfängers. Auch wenn sie beim Domainnamenteil des Empfängerfelds redundant ist, kann sie für Aggregationsansichten der Logs verwendet werden. | example.com |
messageSizeInKiB | Nachrichtengröße in kibibyte (gerundet auf eine Ganzzahl mit Rundungsmodus "Aufrundung"). | 5 |
authzOpcRequestId | OPC-Anforderungs-ID für den Autorisierungsaufruf vom Email Delivery-Service an Identity, um einen genehmigten Absender zu autorisieren. | 6D6E701D166D72B8BCB7881647CDAAAA/ 5590913E23F541ECDFA486FE9C611B12/ 40C21F5CB148AF3C391AC98B21D81412 |
message | Eine Zusammenfassung des Logereignisses. | Accepted email support@example.com → user@example.com |
ingressType |
Enthält die Quelle der E-Mail-Weiterleitung zur Fehlerbehebung. Dies wird für erfolgreich angenommene E-Mails weggelassen. Unterstützte Werte sind::
|
|
Logbeispiele für OutboundAccepted-E-Mail-Logs
Erfolgreiche Annahme:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com"
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"messageId": "<unique_ID>",
"sender": "support@example.com"
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"messageSizeInKiB": 2,
"receivingDomain": "example.com",
"smtpStatus": "250 2.1.5 user@example.com and options Ok",
"headers": {
"X-Campaign-ID": "campaign1",
"Recipient-Group-ID": "group1",
"Sub-Account-ID": "account1"
},
"message": "Accepted email support@example.com → user@example.com"
}
}
Nicht erfolgreiche (unterdrückte) Annahme:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SubmitEmail",
"envelopeSender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"errorType": "Recipient suppressed",
"message": "Suppressed email support@example.com → user@example.com"
}
}
Tageslimit überschritten:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SubmitEmail",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"errorType": "Daily limit reached",
"message": "Rejected email support@example.com → user@example.com: Daily limit 50000 exceeded"
}
}
Absenderlimit überschritten:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SMTP",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"errorType": "Sender rate limit reached",
"message": "Rejected email support@example.com → user@example.com: Sender rate limit 18000 exceeded"
}
}
Bytelimit überschritten:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SMTP",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"errorType": "Byte limit exceeded",
"message": "Rejected email support@example.com → user@example.com: Byte limit 2MB exceeded"
}
}
Empfängeradresse abgelehnt (SMTP-Eingangsserver):
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SMTP",
"envelopeSender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@test",
"errorType": "Invalid recipient",
"message": "Rejected email support@example.com → user@test.com: Invalid recipient address"
}
}
Autorisierungsfehler:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SubmitEmail",
"envelopeSender": "support@example.com",
"principalId": "ocid1.user.oc1.<unique_ID>",
"errorType": "Authorization failure",
"authzOpcRequestId": "6D6E701D166D72B8BCB7881647CDAAAA/5590913E23F541ECDFA486FE9C611B12/40C21F5CB148AF3C391AC98B21D81412",
"message": "Email approved Body From address: support@example.com is not authorized or not found"
}
}
Zurückgesetzt:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SubmitEmail",
"envelopeSender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"errorType": "Reset",
"message": "Rejected email from support@example.com: SMTP client reset"
}
}
Keine Verbindung:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundaccepted",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "accept",
"ingressType": "SubmitEmail",
"envelopeSender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"errorType": "Disconnected",
"message": "Rejected email from support@example.com: SMTP client disconnected"
}
}
Inhalt eines OutboundRelayed-E-Mail-Logs
Eigenschaft | Beschreibung | Beispiel |
---|---|---|
recipient | E-Mail-Adresse des Empfängers. | user@example.com |
sender | "Von:"-Header in der E-Mail-Nachricht. | support@example.com |
action |
Stellt Kontext für die Daten im Log bereit. Unterstützte Werte für Relay-, Bounce- und Complaint-Logs:
Automatisierte Prozessoren müssen Logs mit unbekannten Aktionswerten tolerieren. |
|
userAgent |
Stellt den E-Mail-Client, den Browser und das Gerät des Empfängers bereit, die für die List-Unsubscribe-Anforderung verwendet werden. |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, wie Gecko; Gmail Actions) |
errorType |
Enthält Informationen zur Fehlerbehebung. Nur in "Bounce"-Logs vorhanden. Folgende Werte werden für Relay-, Bounce- und Complaint-Logs unterstützt:
|
soft |
bounceCategory | Bouncekategorie. Nur in "Bounce"-Logs vorhanden. Mögliche Werte:
|
bad-mailbox |
reportGeneratedTime | Zeit, zu der die Aktion generiert wird. Nur in einigen "Bounce"- und "Complaint"-Logs vorhanden. | 2021-02-04T17:26:03.120Z |
originalMessageAcceptedTime | Zeit, zu der die ursprüngliche Nachricht vom Email Delivery-Service akzeptiert wird. Bezieht sich nur auf den ursprünglichen Zeitstempel bei unzustellbaren Nachrichten, sodass diese Zeit nicht in allen Relay-Logs vorhanden ist. | 2021-02-04T17:26:03.120Z |
bounceCode | Ein SMTP-Antwortcode, z.B. 5.5.0, 4.7.1. Nur in "Bounce"-Logs vorhanden. Weitere Informationen finden Sie unter https://www.ietf.org/rfc/rfc1893.txt. | 5.5.0 |
smtpStatus | Der SMTP-Status umfasst die von einem Remote-SMTP-Server im Internet generierten Informationen und wird nicht von Email Delivery gesteuert. |
"250 2.1.5 Recipient ok" "550 5.1.1 <user@example.com> Empfänger ist hier nicht vorhanden." "550 5.1.1 Unbekannter oder unzulässiger Alias:
b0c-4031-8d85-33d136229fc3-bmta-ad1-fd1-101-us-ashburn-1 @iad1.rp.oracleemaildelivery.com"550 5.7.0 Lokale Policy-Verletzung" |
messageId | MessageId ist eine eindeutige ID, die einen E-Mail-Sendevorgang darstellt. Verfolgt eine E-Mail Ende-zu-Ende. Die MessageId wird entweder vom Kunden bereitgestellt oder beim Verarbeiten der E-Mail vom MTA generiert. | 06a9aa8e-0542-4ddf-8255-ec9c2f5e02a3 @smtpf-ad3-fd1-303-us-phoenix-1.imtaad3.vcndpphx.oraclevcn.com Weitere Informationen finden Sie unter https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.4. |
senderId | OCID des genehmigten Absenders. | ocid1.emailsender.oc1.phx.<unique_ID> |
senderCompartmentId | Compartment-OCID des genehmigten Absenders. | ocid1.compartment.oc1..<unique_ID> |
sourceAddress | Die Quell-IP ist die externe öffentliche IP-Adresse, die für die ausgehende Verbindung verwendet wird. Nur bei erfolgreichen "Relay"-Logs und bei "Bounce"-Logs für interne Hard Bounces vorhanden. | 192.29.103.192 |
dkimSelector | Der vom Benutzer definierte Wert für den DKIM-Selektor. Nur in "Relay"-Logs vorhanden. Der DKIM-Selektor ist ein in RFC 6376 formell definierter Begriff. | prod-phx-20191217 |
dkimError | DKIM-Signaturfehlertext. Nur in "Relay"-Logs vorhanden. | "Operation cannot be started: DKIM 0 no private key for identity '@mail.integration.us-ashburn-1.ocp.oraclecloud.com'" |
messageSizeInKiB | Nachrichtengröße in kibibyte (gerundet auf eine Ganzzahl mit Rundungsmodus "Aufrundung"). | 5 |
headers | (Zukünftig verfügbar) Konfigurierbare Header auf Ebene genehmigter Absender. Werden über eine Supportanfrage eingerichtet. Es können maximal vier Header verwendet werden. |
|
recipientMailServer | Name und IP-Adresse des E-Mail-Servers im Internet, an den versucht wurde, eine E-Mail zu übermitteln. Nur bei erfolgreichen "Relay"-Logs und bei "Bounce"-Logs für interne Hard Bounces vorhanden. Dieses Feld ist auch für Aggregationslogansichten nützlich. |
mail-smtp-in.l.google.com (172.217.197.26) |
internalProcessingDurationInMs | (Nur "Relay"-Logs) Interne Verzögerung in Millisekunden von der Annahme einer Nachricht durch den Email Delivery-Service (z.B. wenn die Nachrichtenenddaten von unserem Front-End empfangen werden) bis zum Zeitpunkt, zu dem der Service bereit ist, eine ausgehende Zustellung zu versuchen. | 791 |
tlsCipher | (Nur "Relay"-Logs) Name der TLS-Cipher Suite. |
TLS_ECDHE_RSA_WITH _AES_128_GCM_SHA256 |
message | Eine Zusammenfassung des Logereignisses. |
|
sendingPoolName | Gilt nur für dedizierte IP-Pools. | PHXOCIInternalVMTAs |
chunkingUsed | Boolesche Informationen, die angeben, ob Chunking beim Routing von E-Mails unterstützt wurde. Das Fehlen des Parameters gibt einen falschen Wert an. Das bedeutet, dass Chunking bei der Kommunikation mit dem Remote-Mailübertragungs-Agent nicht unterstützt wurde. | "chunkingUsed": "true" |
esmtpUsed | Boolesche Informationen, die angeben, ob Extended SMTP (ESMTP) beim Routing von E-Mails unterstützt wurde. Das Fehlen des Parameters gibt einen falschen Wert an, d.h. ESMTP wurde bei der Kommunikation mit dem Remote-Mailübertragungs-Agent nicht verwendet. | "esmtpUsed": "true" |
tlsUsed | Boolesche Informationen, die angeben, ob TLS bei der Kommunikation mit dem Remote-Mail-Übertragungs-Agent unterstützt wurde. Da der Parameter nicht vorhanden ist, wird ein falscher Wert angegeben. Das bedeutet, dass TLS bei der Kommunikation mit dem Remote-Mail-Transfer-Agent nicht unterstützt wurde. | "tlsUsed": "true" |
Logbeispiele für OutboundRelayed-E-Mail-Logs
Erfolgreich übermittelt:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "relay",
"chunkingUsed": "true",
"esmtpUsed": "true",
"messageId": "<unique_ID>",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"receivingDomain": "example.com",
"sourceAddress": "XXX.XX.XXX.XXX",
"dkimSelector": "selector1",
"messageSizeInKiB": 2,
"smtpStatus": "250 2.1.5 Recipient ok",
"recipientMailServer": "bmta.email.us-phoenix-1.oci.oraclecloud.com (XXX.XX.X.XXX)",
"internalProcessingDurationInMs": 20,
"tlsCipher": "TLS_AES_128_GCM_SHA256",
"tlsUsed": "true",
"sendingPoolName": "<pool_name>",
"headers": {
"X-Campaign-ID": "campaign1",
"Recipient-Group-ID": "group1",
"Sub-Account-ID": "account1"
},
"message": "Relayed email support@example.com → user@example.com"
}
}
Hard Bounce:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "bounce",
"messageId": "<unique_ID>",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"receivingDomain": "example.com",
"errorType": "hard",
"bounceCategory": "bad-mailbox",
"bounceCode": "5.1.1",
"reportGeneratedTime": "2021-02-24T22:50:22.123Z",
"originalMessageAcceptedTime": "2021-02-23T22:50:22.123Z",
"smtpStatus": "550 5.1.1 unknown or illegal alias: 974-4710-b440-52e9e1a70cb8-user@example.com",
"message": "Suppressed recipient user@example.com for email from support@example.com: bad-mailbox hard bounce"
}
}
Soft Bounce:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "bounce",
"messageId": "<unique_ID>",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"receivingDomain": "example.com",
"errorType": "soft",
"bounceCategory": "spam-related",
"bounceCode": "5.0.0",
"reportGeneratedTime": "2021-02-24T22:50:22.123Z",
"originalMessageAcceptedTime": "2021-02-23T22:50:22.123Z",
"smtpStatus": "550 5.1.1 <user@example.com> User unknown; rejecting",
"message": "Received spam-related soft bounce for email support@example.com → user@example.com"
}
}
Complaint:
{
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed",
"source": "example.com",
"time": "2021-02-20T09:01:40.000Z",
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"data": {
"action": "complaint",
"messageId": "<unique_ID>",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"recipient": "user@example.com",
"receivingDomain": "example.com",
"message": "Suppressed recipient user@example.com for email from support@example.com: Email complaint"
}
}
Abmeldung erfolgreich:
{
"datetime": 1718719068280,
"logContent": {
"data": {
"action": "unsubscribe",
"message": "Email list unsubscribed support@example.com -> user@example.com",
"messageId": "afb866ca-2d7a-11ef-a21e-0242ac11000c@bmta",
"receivingDomain": "example.com",
"recipient": "user@example.com",
"recipientIp": "XXX.XX.XXX.XXX",
"sender": "support@example.com",
"senderCompartmentId": "ocid1.compartment.oc1..<unique_ID>",
"senderId": "ocid1.emailsender.oc1.phx.<unique_ID>",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)"
},
"id": "<unique_ID>",
"oracle": {
"logid": "ocid1.log.oc1.phx.<unique_ID>"
},
"source": "example.com",
"specversion": "1.0",
"time": "2024-06-18T13:57:48.280Z",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed"
}
}