{
  "openapi": "3.0.3",
  "info": {
    "title": "Apipedia WaConsole API",
    "description": "All-in-One messaging platform API supporting WhatsApp, Telegram, SMS, and AI Chat integrations. Built with Laravel and Baileys WhatsApp library for comprehensive communication solutions.",
    "version": "2.1.0",
    "contact": {
      "name": "Apipedia Support",
      "url": "https://apipedia.id",
      "email": "support@apipedia.id"
    },
    "license": {
      "name": "MIT",
      "url": "https://opensource.org/licenses/MIT"
    }
  },
  "servers": [
    {
      "url": "https://waconsole.apipedia.id",
      "description": "Production server"
    },
    {
      "url": "http://localhost:8000",
      "description": "Development server"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "Use authkey and appkey in request body for authentication"
      }
    },
    "schemas": {
      "AuthRequest": {
        "type": "object",
        "required": ["authkey", "appkey"],
        "properties": {
          "authkey": {
            "type": "string",
            "description": "User authentication key",
            "example": "your_authkey_here"
          },
          "appkey": {
            "type": "string",
            "description": "Application key",
            "example": "your_appkey_here"
          }
        }
      },
      "MessageRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["to"],
            "properties": {
              "to": {
                "type": "string",
                "description": "Recipient phone number or group ID",
                "example": "628123456789"
              },
              "message": {
                "type": "string",
                "description": "Message content",
                "example": "Hello from Apipedia!"
              },
              "file": {
                "type": "string",
                "format": "uri",
                "description": "Media file URL",
                "example": "https://example.com/image.jpg"
              },
              "filename": {
                "type": "string",
                "description": "Filename for document attachments",
                "example": "document.pdf"
              },
              "mimetype": {
                "type": "string",
                "description": "MIME type for file attachments",
                "example": "application/pdf"
              },
              "template_id": {
                "type": "string",
                "description": "Template UUID to use",
                "example": "550e8400-e29b-41d4-a716-446655440000"
              },
              "variables": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Variables for template formatting"
              }
            }
          }
        ]
      },
      "BulkMessageRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["to"],
            "properties": {
              "to": {
                "type": "string",
                "description": "Recipients separated by |",
                "example": "628123456789|628987654321|628111222333"
              },
              "message": {
                "type": "string",
                "description": "Message content (for v2: messages separated by |)",
                "example": "Hello John!|Hi Sarah!|Hey Mike!"
              },
              "file": {
                "type": "string",
                "format": "uri",
                "description": "Media file URL"
              },
              "filename": {
                "type": "string",
                "description": "Filename for document attachments"
              },
              "mimetype": {
                "type": "string",
                "description": "MIME type for file attachments"
              },
              "type": {
                "type": "string",
                "description": "Message type (media for documents)",
                "enum": ["text", "media"]
              }
            }
          }
        ]
      },
      "PresenceRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["receiver", "presence"],
            "properties": {
              "receiver": {
                "type": "string",
                "description": "Target phone number",
                "example": "628123456789"
              },
              "presence": {
                "type": "string",
                "enum": ["unavailable", "available", "composing", "recording", "paused"],
                "description": "Presence status to set",
                "example": "composing"
              },
              "duration": {
                "type": "integer",
                "minimum": 1,
                "description": "Duration in seconds (for timed presence)",
                "example": 30
              }
            }
          }
        ]
      },
      "SmsRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["to", "msg"],
            "properties": {
              "to": {
                "type": "string",
                "description": "Phone number",
                "example": "628123456789"
              },
              "msg": {
                "type": "string",
                "description": "SMS message content",
                "example": "Hello from SMS service!"
              }
            }
          }
        ]
      },
      "TelegramMessageRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["receiver", "body"],
            "properties": {
              "receiver": {
                "type": "string",
                "description": "Telegram chat ID",
                "example": "123456789"
              },
              "body": {
                "type": "string",
                "description": "Message content",
                "example": "Hello from Telegram!"
              }
            }
          }
        ]
      },
      "TelegramMediaRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["receiver"],
            "properties": {
              "receiver": {
                "type": "string",
                "description": "Telegram chat ID",
                "example": "123456789"
              },
              "image_url": {
                "type": "string",
                "format": "uri",
                "description": "Image URL (for send_image)",
                "example": "https://example.com/image.jpg"
              },
              "document_url": {
                "type": "string",
                "format": "uri",
                "description": "Document URL (for send_document)",
                "example": "https://example.com/document.pdf"
              },
              "caption": {
                "type": "string",
                "description": "Media caption",
                "example": "Check this out!"
              },
              "filename": {
                "type": "string",
                "description": "Document filename",
                "example": "document.pdf"
              },
              "latitude": {
                "type": "number",
                "format": "double",
                "description": "Latitude for location",
                "example": -6.2088
              },
              "longitude": {
                "type": "number",
                "format": "double",
                "description": "Longitude for location",
                "example": 106.8456
              }
            }
          }
        ]
      },
      "TelegramButtonsRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["receiver", "body", "buttons"],
            "properties": {
              "receiver": {
                "type": "string",
                "description": "Telegram chat ID",
                "example": "123456789"
              },
              "body": {
                "type": "string",
                "description": "Message text",
                "example": "Choose an option:"
              },
              "buttons": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "text": {
                        "type": "string",
                        "example": "Button Text"
                      },
                      "callback_data": {
                        "type": "string",
                        "example": "callback_data"
                      },
                      "url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://example.com"
                      }
                    }
                  }
                },
                "description": "Button configuration array"
              }
            }
          }
        ]
      },
      "AiChatRequest": {
        "allOf": [
          {"$ref": "#/components/schemas/AuthRequest"},
          {
            "type": "object",
            "required": ["agent_id", "message"],
            "properties": {
              "agent_id": {
                "type": "string",
                "description": "AI Agent UUID",
                "example": "550e8400-e29b-41d4-a716-446655440000"
              },
              "message": {
                "type": "string",
                "maxLength": 10000,
                "description": "User message to AI",
                "example": "Hello AI! How can you help me?"
              },
              "format": {
                "type": "string",
                "enum": ["text", "json", "markdown"],
                "description": "Response format",
                "example": "json"
              },
              "to": {
                "type": "string",
                "description": "WhatsApp recipient (for whatsapp endpoint)",
                "example": "628123456789"
              }
            }
          }
        ]
      },
      "ApiResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true
          },
          "message": {
            "type": "string",
            "example": "Message sent successfully"
          },
          "data": {
            "type": "object",
            "description": "Response data varies by endpoint"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": false
          },
          "message": {
            "type": "string",
            "example": "Validation errors"
          },
          "data": {
            "type": "object",
            "description": "Error details"
          }
        }
      }
    }
  },
  "paths": {
    "/api/create-message": {
      "post": {
        "tags": ["WhatsApp"],
        "summary": "Send single WhatsApp message",
        "description": "Send a single WhatsApp message to a recipient. Supports text, media, and document messages.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/MessageRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Message sent successfully",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          },
          "400": {"description": "Bad request"},
          "401": {"description": "Unauthorized"},
          "422": {"description": "Validation error"}
        }
      }
    },
    "/api/bulk-messagev1": {
      "post": {
        "tags": ["WhatsApp"],
        "summary": "Send bulk messages (same message)",
        "description": "Send the same message to multiple recipients",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/BulkMessageRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bulk messages sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/bulk-messagev2": {
      "post": {
        "tags": ["WhatsApp"],
        "summary": "Send bulk messages (different messages)",
        "description": "Send different messages to multiple recipients",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/BulkMessageRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bulk messages sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/messages/status/all": {
      "get": {
        "tags": ["WhatsApp"],
        "summary": "Get all message status updates",
        "description": "Retrieve all status updates for a specific message",
        "parameters": [
          {
            "name": "appkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "authkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "message_id",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          }
        ],
        "responses": {
          "200": {
            "description": "Status updates retrieved",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/messages/status/last": {
      "get": {
        "tags": ["WhatsApp"],
        "summary": "Get latest message status",
        "description": "Get the most recent status for a message",
        "parameters": [
          {
            "name": "appkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "authkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "message_id",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          }
        ],
        "responses": {
          "200": {
            "description": "Latest status retrieved",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/messages/status/last/receipt": {
      "get": {
        "tags": ["WhatsApp"],
        "summary": "Get read receipt status",
        "description": "Get read receipt status for a message",
        "parameters": [
          {
            "name": "appkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "authkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "message_id",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          }
        ],
        "responses": {
          "200": {
            "description": "Read receipt retrieved",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/presence/update": {
      "post": {
        "tags": ["WhatsApp Presence"],
        "summary": "Set WhatsApp presence",
        "description": "Set WhatsApp presence status for a specific contact",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/PresenceRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Presence updated",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/presence/update-timed": {
      "post": {
        "tags": ["WhatsApp Presence"],
        "summary": "Set timed WhatsApp presence",
        "description": "Set WhatsApp presence for a specific duration",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/PresenceRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Timed presence set",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/sms/send-reguler": {
      "post": {
        "tags": ["SMS"],
        "summary": "Send regular SMS (4 credits)",
        "description": "Send regular priority SMS message",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/SmsRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "SMS sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/sms/send-vip": {
      "post": {
        "tags": ["SMS"],
        "summary": "Send VIP SMS (7 credits)",
        "description": "Send VIP priority SMS message",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/SmsRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "VIP SMS sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/sms/send-otp": {
      "post": {
        "tags": ["SMS"],
        "summary": "Send OTP SMS (35 credits)",
        "description": "Send OTP with high priority",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/SmsRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "OTP SMS sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/sms/send-vvip": {
      "post": {
        "tags": ["SMS"],
        "summary": "Send VVIP SMS (35 credits)",
        "description": "Send VVIP priority SMS message",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/SmsRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "VVIP SMS sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/send_message": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Send Telegram text message",
        "description": "Send text message via Telegram bot",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/TelegramMessageRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Telegram message sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/send_image": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Send Telegram image",
        "description": "Send image with optional caption via Telegram",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/TelegramMediaRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Image sent via Telegram",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/send_location": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Send Telegram location",
        "description": "Send location coordinates via Telegram",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/TelegramMediaRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Location sent via Telegram",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/send_document": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Send Telegram document",
        "description": "Send document file via Telegram",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/TelegramMediaRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Document sent via Telegram",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/send_buttons": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Send Telegram message with buttons",
        "description": "Send message with inline keyboard buttons",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/TelegramButtonsRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Message with buttons sent",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/set_webhook": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Set Telegram webhook",
        "description": "Set webhook URL for Telegram bot updates",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {"$ref": "#/components/schemas/AuthRequest"},
                  {
                    "type": "object",
                    "required": ["webhook_url"],
                    "properties": {
                      "webhook_url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://your-domain.com/webhook"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Webhook set successfully",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/telegram/get_bot_info": {
      "post": {
        "tags": ["Telegram"],
        "summary": "Get Telegram bot info",
        "description": "Get information about the Telegram bot",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/AuthRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bot info retrieved",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/chat-ai/send-message": {
      "get": {
        "tags": ["AI Chat"],
        "summary": "Send AI message (GET)",
        "description": "Send message to AI agent via GET request",
        "parameters": [
          {
            "name": "appkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "authkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "agent_id",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "message",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          },
          {
            "name": "format",
            "in": "query",
            "schema": {"type": "string", "enum": ["text", "json", "markdown"]}
          }
        ],
        "responses": {
          "200": {
            "description": "AI response",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      },
      "post": {
        "tags": ["AI Chat"],
        "summary": "Send AI message (POST)",
        "description": "Send message to AI agent via POST request",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/AiChatRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "AI response",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/chat-ai/whatsapp": {
      "post": {
        "tags": ["AI Chat"],
        "summary": "Send AI response to WhatsApp",
        "description": "Send AI-generated response directly to WhatsApp",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {"$ref": "#/components/schemas/AiChatRequest"}
            }
          }
        },
        "responses": {
          "200": {
            "description": "AI response sent to WhatsApp",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/profile/raw": {
      "get": {
        "tags": ["Profile"],
        "summary": "Get raw profile",
        "description": "Get complete user profile with all apps, devices, templates, AI agents",
        "parameters": [
          {
            "name": "authkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          }
        ],
        "responses": {
          "200": {
            "description": "Complete profile data",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      },
      "post": {
        "tags": ["Profile"],
        "summary": "Get raw profile (POST)",
        "description": "Get complete user profile via POST request",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["authkey"],
                "properties": {
                  "authkey": {
                    "type": "string",
                    "example": "your_authkey_here"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Complete profile data",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    },
    "/api/profile/simple": {
      "get": {
        "tags": ["Profile"],
        "summary": "Get simple profile",
        "description": "Get basic user profile with plan information",
        "parameters": [
          {
            "name": "authkey",
            "in": "query",
            "required": true,
            "schema": {"type": "string"}
          }
        ],
        "responses": {
          "200": {
            "description": "Basic profile data",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      },
      "post": {
        "tags": ["Profile"],
        "summary": "Get simple profile (POST)",
        "description": "Get basic user profile via POST request",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["authkey"],
                "properties": {
                  "authkey": {
                    "type": "string",
                    "example": "your_authkey_here"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Basic profile data",
            "content": {
              "application/json": {
                "schema": {"$ref": "#/components/schemas/ApiResponse"}
              }
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "WhatsApp",
      "description": "WhatsApp messaging via Baileys library integration"
    },
    {
      "name": "WhatsApp Presence",
      "description": "Manage WhatsApp presence and typing indicators"
    },
    {
      "name": "SMS",
      "description": "SMS messaging with different priority levels and credit costs"
    },
    {
      "name": "Telegram",
      "description": "Telegram bot integration for messaging and media"
    },
    {
      "name": "AI Chat",
      "description": "AI agent integration for intelligent responses"
    },
    {
      "name": "Profile",
      "description": "User profile and utility endpoints"
    }
  ]
}