2025-03-27 13:43:31 +06:00
import { defineConfig } from 'vitepress'
import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
2026-01-20 11:28:37 +00:00
import { viteStaticCopy } from 'vite-plugin-static-copy'
2025-03-27 13:43:31 +06:00
import { overrideComponents } from './override-components'
2026-01-20 11:28:37 +00:00
import { resolve } from 'node:path'
import { fileURLToPath , URL } from 'node:url'
2025-03-27 13:43:31 +06:00
const gitlab = ` <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 380 380"
version="1.1"
id="svg578"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs567">
<style
id="style565">.cls-1{fill:#e24329;}.cls-2{fill:#fc6d26;}.cls-3{fill:#fca326;}</style>
</defs>
<path
class="cls-1"
d="m 358.48029,150.34002 -0.48818,-1.24758 -47.26334,-123.347555 a 12.313059,12.313059 0 0 0 -4.86375,-5.858196 12.656595,12.656595 0 0 0 -14.46468,0.777477 12.656595,12.656595 0 0 0 -4.19476,6.364459 l -31.9127,97.636595 H 126.06904 L 94.156344,27.028625 a 12.403463,12.403463 0 0 0 -4.194757,-6.38254 12.656595,12.656595 0 0 0 -14.46468,-0.777477 12.421544,12.421544 0 0 0 -4.863748,5.858196 L 23.279412,149.02012 22.80931,150.2677 a 87.764446,87.764446 0 0 0 29.110169,101.43357 l 0.162727,0.12656 0.433941,0.30738 71.997943,53.91709 35.61928,26.95855 21.69702,16.38125 a 14.591246,14.591246 0 0 0 17.64691,0 l 21.69702,-16.38125 35.61927,-26.95855 72.43189,-54.24255 0.1808,-0.14464 a 87.800608,87.800608 0 0 0 29.07401,-101.32509 z"
id="path569"
style="stroke-width:1.80808" />
<path
class="cls-2"
d="m 358.48029,150.34002 -0.48818,-1.24758 a 159.65391,159.65391 0 0 0 -63.55419,28.56775 l -103.80216,78.48897 c 35.34806,26.74157 66.12167,49.97547 66.12167,49.97547 l 72.43188,-54.24255 0.18081,-0.14465 a 87.800608,87.800608 0 0 0 29.11017,-101.39741 z"
id="path571"
style="stroke-width:1.80808" />
<path
class="cls-3"
d="m 124.51409,306.12463 35.61928,26.95854 21.69702,16.38125 a 14.591246,14.591246 0 0 0 17.64691,0 l 21.69702,-16.38125 35.61927,-26.95854 c 0,0 -30.80977,-23.30622 -66.15783,-49.97547 -35.34806,26.66925 -66.12167,49.97547 -66.12167,49.97547 z"
id="path573"
style="stroke-width:1.80808" />
<path
class="cls-2"
d="M 86.815519,177.66019 A 159.45502,159.45502 0 0 0 23.279412,149.02012 l -0.470102,1.24758 a 87.764446,87.764446 0 0 0 29.110169,101.43357 l 0.162727,0.12656 0.433941,0.30738 71.997943,53.91709 c 0,0 30.73745,-23.23389 66.12167,-49.97547 z"
id="path575"
style="stroke-width:1.80808" />
</svg>
`
2025-06-23 16:22:54 +03:00
const new_version = process . env ? . VITE_NEW_VERSION ;
console . log ( { base : typeof new_version !== 'undefined' ? '/' : '/docs/' } )
2025-03-27 13:43:31 +06:00
// https://vitepress.dev/reference/site-config
export default defineConfig ( {
2025-10-13 09:27:59 +00:00
srcDir : "." ,
2025-11-24 08:57:29 +00:00
title : " " ,
2025-07-25 10:48:34 +00:00
description : "Документация Beeline Cloud" ,
2025-07-28 15:17:03 +03:00
head : [ [ 'link' , { rel : 'icon' , type : 'image/png' , sizes : '32x32' , href : '/bee-favicon.png' } ] ] ,
2025-06-23 16:22:54 +03:00
base : typeof new_version !== 'undefined' ? '/' : '/docs/' ,
2026-01-20 11:28:37 +00:00
appearance : false ,
2025-03-27 13:43:31 +06:00
markdown : {
config ( md ) {
md . use ( tabsMarkdownPlugin )
}
} ,
vite : {
resolve : {
2026-01-20 11:28:37 +00:00
alias : [
. . . overrideComponents ( ) ,
{
find : '@' ,
replacement : fileURLToPath ( new URL ( './theme' , import . meta . url ) )
} ,
] ,
} ,
plugins : [
viteStaticCopy ( {
targets : [
{
src : resolve ( __dirname , '../../node_modules/@beeline/design-tokens/assets/fonts' ) ,
dest : 'assets' ,
} ,
] ,
} ) ,
] ,
css : {
preprocessorOptions : {
scss : {
api : 'modern-compiler' ,
} ,
} ,
} ,
2025-03-27 13:43:31 +06:00
} ,
locales : {
root : {
label : 'Русский' ,
lang : 'ru' ,
}
} ,
themeConfig : {
2025-08-22 06:54:17 +00:00
logo : {
2025-11-24 10:19:03 +00:00
light : '/img/logo-cloud.svg' ,
dark : '/img/logo-cloud.svg' ,
2025-11-24 08:57:29 +00:00
alt : '' ,
2025-08-22 06:54:17 +00:00
} ,
2025-03-27 13:43:31 +06:00
search : {
provider : 'local' ,
options : {
locales : {
root : {
translations : {
button : {
buttonText : 'Поиск' ,
buttonAriaLabel : 'Поиск'
} ,
modal : {
2025-12-19 05:34:31 +00:00
noResultsText : 'По вашему запросу ничего не найдено' ,
2025-03-27 13:43:31 +06:00
resetButtonTitle : 'Сбросить' ,
}
}
}
}
}
} ,
// https://vitepress.dev/reference/default-theme-config
2025-08-22 12:59:56 +06:00
// nav: [
// {
// text: 'Документация',
// link: '/guide/',
// },
// {
// text: 'API',
// link: '',
// },
// {
// text: 'Terraform',
// // link: '/terraform/',
// link: '',
// },
// ],
2025-03-27 13:43:31 +06:00
docFooter : {
next : 'Вперед' ,
prev : 'Назад'
} ,
outline : {
label : 'Содержание'
} ,
sidebar : {
2025-07-04 10:57:57 +00:00
'/platform/' : [
{
2025-07-25 10:48:34 +00:00
text : 'Платформа Beeline Cloud' , link : '/platform/index.md' ,
2025-09-23 09:42:50 +00:00
collapsed : true ,
items : [
2025-10-13 21:54:48 +06:00
{ text : 'Обзор' , link : '/platform/about.md' } ,
2025-09-23 09:42:50 +00:00
{ text : 'Техническая поддержка' , link : '/platform/support/support-overview.md' } ,
] ,
} ,
2025-07-04 10:57:57 +00:00
] ,
'/start/' : [
{
2025-07-25 10:48:34 +00:00
text : 'Начало работы в Beeline Cloud' , link : '/start/index.md' ,
2025-08-22 06:45:33 +00:00
} ,
{ text : 'Начать работу' , link : '/start/getting-started.md' } ,
{ text : 'Бесплатный период' , link : '/start/trial.md' } ,
{ text : 'Платное использование' , link : '/start/organization.md' } ,
2025-12-09 10:31:13 +00:00
] ,
2026-04-01 15:10:51 +03:00
'/PaaS/' : [
{
text : 'Начало работы в Cloud PostgreSQL' , link : '/PaaS/index.md' ,
} ,
{ text : 'Cloud PostgreSQL' , link : '/PaaS/PostgreSQL/PostgreSQL-index.md' ,
collapsed : true ,
items : [
{ text : 'Обзор сервиса' , link : '/PaaS/PostgreSQL/about.md' } ,
2026-04-01 18:00:48 +03:00
{ text : 'Описание технических параметров' , link : '/PaaS/PostgreSQL/cluster-parameter.md' } ,
2026-04-01 15:10:51 +03:00
{ text : 'Общая схема подключения' , link : '/PaaS/PostgreSQL/connection.md' } ,
{ text : 'Возможности пользователя' , link : '/PaaS/PostgreSQL/user-capabilities.md' } ,
{ text : 'Веб-интерфейс pgAdmin' , link : '/PaaS/PostgreSQL/pgadmin.md' } ,
{ text : 'Веб-интерфейс Grafana' , link : '/PaaS/PostgreSQL/grafana.md' } ,
] ,
} ,
{ text : 'Параметры конфигурации IPSEC' , link : '/PaaS/IPSEC.md' } ,
] ,
2025-12-09 10:31:13 +00:00
// '/billing/': [
// ],
'/backups/' : [
2025-12-09 18:06:33 +06:00
{
text : 'Резервное копирование' , link : '/backups/index.md' ,
} ,
2025-12-09 10:31:13 +00:00
{
2025-12-22 16:48:37 +06:00
text : 'Обзор сервиса' , link : '/backups/backups-overview.md' ,
2025-12-10 14:51:01 +06:00
collapsed : true ,
items : [
2025-12-22 16:48:37 +06:00
{ text : 'О сервисе' , link : '/backups/about.md' } ,
{ text : 'Квоты и лимиты' , link : '/backups/backup-quatos.md' } ,
2025-12-10 14:51:01 +06:00
]
2025-12-09 10:31:13 +00:00
} ,
{ text : 'Резервное копирование виртуальных машин Beeline Cloud' , link : '/backups/backup-internal-infra.md' } ,
{ text : 'Резервное копирование собственной инфраструктуры в Beeline Cloud' , link : '/backups/backup-external-infra.md' } ,
{ text : 'Каталог резервных копий' , link : '/backups/view-backups.md' } ,
2025-12-10 14:51:01 +06:00
2025-08-22 06:45:33 +00:00
] ,
2025-07-25 10:48:34 +00:00
'/vdc/' : [
2025-03-27 13:43:31 +06:00
{
2025-08-22 06:45:33 +00:00
text : 'Виртуальные дата-центры на VMware' , link : '/vdc/index.md' ,
} ,
{
2025-10-13 09:27:59 +00:00
text : 'Обзор сервиса' , link : '/vdc/vdc-overview.md' ,
collapsed : true ,
items : [
2025-12-18 14:28:23 +06:00
{ text : 'О сервисе' , link : '/vdc/vdc-about.md' } ,
{ text : 'Техническое описание' , link : '/vdc/vdc-tech.md' } ,
{ text : 'Квоты и лимиты' , link : '/vdc/vdc-quatos.md' } ,
2025-10-13 21:54:48 +06:00
]
2025-08-22 06:45:33 +00:00
} ,
{
text : 'Быстрый старт' , link : '/vdc/vdc-getting-started.md'
} ,
2025-10-13 09:27:59 +00:00
{ text : 'Виртуальные дата-центры' , link : '/vdc/vdc-how-to/vdc-index.md' ,
collapsed : true ,
items : [
2025-07-25 10:48:34 +00:00
{ text : 'Создание дата-центра' , link : '/vdc/vdc-how-to/vdc-create.md' } ,
{ text : 'Вход в дата-центр' , link : '/vdc/vdc-how-to/vdc-enter.md' } ,
2025-10-13 09:27:59 +00:00
{ text : 'Управление дата-центром' , link : '/vdc/vdc-how-to/vdc-manage.md' } ,
] ,
} ,
{ text : 'Виртуальные машины' , link : '/vdc/vdc-how-to/vm/vm-index.md' ,
collapsed : true ,
items : [
{ text : 'Создание ВМ' , link : '/vdc/vdc-how-to/vm/create-vm.md' } ,
{ text : 'Создание vApp' , link : '/vdc/vdc-how-to/vm/create-vapp.md' } ,
2025-11-01 07:11:45 +00:00
{ text : 'Управление состоянием ВМ' , link : '/vdc/vdc-how-to/vm/manage-vm.md' } ,
2025-10-13 09:27:59 +00:00
{ text : 'Клонирование ВМ' , link : '/vdc/vdc-how-to/vm/clone-vm.md' } ,
{ text : 'Изменение конфигурации ВМ' , link : '/vdc/vdc-how-to/vm/edit-vm.md' } ,
{ text : 'Удаление ВМ' , link : '/vdc/vdc-how-to/vm/delete-vm.md' } ,
{ text : 'Группы размещения' , link : '/vdc/vdc-how-to/vm/create-affinity-rules.md' } ,
2025-12-02 10:11:05 +00:00
{ text : 'Снимки ВМ' , link : '/vdc/vdc-how-to/vm/create-snapshot.md' } ,
2025-12-03 12:58:06 +06:00
{ text : 'VMware Tools' , link : '/vdc/vdc-how-to/vm/vmware-tools.md' } ,
2025-12-02 10:11:05 +00:00
] ,
} ,
2025-12-09 16:27:29 +06:00
{ text : 'Диски' , link : '/vdc/vdc-how-to/disks/disks-index.md' ,
2025-12-02 10:11:05 +00:00
collapsed : true ,
items : [
{ text : 'Обзор' , link : '/vdc/vdc-how-to/disks/about.md' } ,
{ text : 'Создание диска' , link : '/vdc/vdc-how-to/disks/create-disk.md' } ,
{ text : 'Проверка состояния диска' , link : '/vdc/vdc-how-to/disks/view-disk.md' } ,
2025-12-09 16:27:29 +06:00
{ text : 'Управление выделенными дисками' , link : '/vdc/vdc-how-to/disks/attach-disk.md' } ,
2025-12-02 10:11:05 +00:00
{ text : 'Изменение политики хранения дисков ВМ' , link : '/vdc/vdc-how-to/disks/change-storage-policy-of-vm.md' } ,
{ text : 'Редактирование параметров диска' , link : '/vdc/vdc-how-to/disks/edit-disk.md' } ,
{ text : 'Удаление диска' , link : '/vdc/vdc-how-to/disks/delete-disk.md' } ,
2025-10-13 09:27:59 +00:00
] ,
} ,
2025-10-14 16:13:45 +06:00
{ text : 'Сети' , link : '/vdc/vdc-how-to/networks/networks-index.md' ,
2025-10-13 09:27:59 +00:00
collapsed : true ,
items : [
2025-12-02 08:56:04 +00:00
{ text : 'Обзор' , link : '/vdc/vdc-how-to/networks/about.md' } ,
2025-10-13 09:27:59 +00:00
{ text : 'Настройка доступа к ВМ из интернета' , link : '/vdc/vdc-how-to/networks/allow-external-connections-to-vm.md' } ,
{ text : 'Подключение ВМ в vApp к сети' , link : '/vdc/vdc-how-to/networks/connect-vapp-to-network.md' } ,
{ text : 'Подключение ВМ к интернету' , link : '/vdc/vdc-how-to/networks/connect-vm-to-network.md' } ,
{ text : 'Создание сети в организации и подключение к Edge Gateway' , link : '/vdc/vdc-how-to/networks/create-network.md' } ,
2025-12-15 10:11:41 +00:00
{ text : 'Подключение сети к Edge Gateway' , link : '/vdc/vdc-how-to/networks/connect-to-edge-gateway.md' } ,
{ text : 'Создание Pre-Shared Key' , link : '/vdc/vdc-how-to/networks/create-psk.md' } ,
{ text : 'Настройка site-to-site подключения с помощью IPSec' , link : '/vdc/vdc-how-to/networks/how-to-setup-ipsec-vpn.md' ,
collapsed : true ,
items : [
2025-12-22 19:24:21 +06:00
{ text : 'Настройка IPSec VPN' , link : '/vdc/vdc-how-to/networks/ipsec/setup-ipsec-vpn.md' } ,
2025-12-15 10:11:41 +00:00
{ text : 'Настройка ASAv' , link : '/vdc/vdc-how-to/networks/ipsec/asav.md' } ,
{ text : 'Настройка CSR 1000v' , link : '/vdc/vdc-how-to/networks/ipsec/csr1000v.md' } ,
{ text : 'Настройка Fortigate' , link : '/vdc/vdc-how-to/networks/ipsec/fortigate.md' } ,
{ text : 'Проверить сетевую связанность' , link : '/vdc/vdc-how-to/networks/ipsec/check-vpn-status.md' } ,
] ,
} ,
2025-10-13 09:27:59 +00:00
] ,
} ,
{ text : 'Пользователи и роли' , link : '/vdc/vdc-how-to/users/users-index.md' ,
collapsed : true ,
items : [
{ text : 'Ролевая модель' , link : '/vdc/vdc-how-to/users/roles.md' } ,
2025-10-14 16:13:45 +06:00
{ text : 'Создание пользователя' , link : '/vdc/vdc-how-to/users/add-user.md' } ,
2025-10-13 09:27:59 +00:00
{ text : 'Изменение пароля пользователя' , link : '/vdc/vdc-how-to/users/change-users-password.md' } ,
{ text : 'Настройка квот' , link : '/vdc/vdc-how-to/users/quotas.md' } ,
] ,
} ,
2025-07-25 10:48:34 +00:00
{ text : 'Двухфакторная аутентификация' , link : '/vdc/vdc-how-to/vdc-2fa.md' ,
collapsed : true ,
items : [
2025-08-22 06:45:33 +00:00
{ text : 'Подключение 2FA' , link : '/vdc/vdc-how-to/vdc-2fa-start.md' } ,
{ text : 'Управление 2FA' , link : '/vdc/vdc-how-to/vdc-2fa-manage.md' } ,
2025-07-25 10:48:34 +00:00
] ,
} ,
] ,
2025-10-13 09:27:59 +00:00
2025-08-22 06:45:33 +00:00
// { text: 'Тарификация', link: '/vdc/vdc-tarif.md' },
2025-07-25 10:48:34 +00:00
'/compute/' : [
{
2025-08-22 06:45:33 +00:00
text : 'Виртуальные машины' , link : '/compute/index.md' ,
} ,
2025-11-12 06:27:28 +00:00
{ text : 'Обзор сервиса' , link : '/compute/compute-overview-index.md' ,
collapsed : true ,
items : [
{ text : 'Техническое описание' , link : '/compute/compute-overview.md' } ,
{ text : 'Квоты и лимиты' , link : '/compute/compute-quatos.md' } ,
]
} ,
2025-10-02 15:08:06 +00:00
{ text : 'Быстрый старт' , link : '/compute/compute-getting-started.md' } ,
2025-08-22 06:45:33 +00:00
{ text : 'Виртуальные машины' , link : '/compute/compute-how-to/compute-index.md' ,
collapsed : true ,
2025-07-25 10:48:34 +00:00
items : [
2025-10-02 15:08:06 +00:00
{ text : 'Создание ВМ' , link : '/compute/compute-how-to/compute-servers-create.md' } ,
2025-11-12 06:27:28 +00:00
{ text : 'Создание ВМ джамп-хоста' , link : '/compute/compute-how-to/compute-servers-jump-create.md' } ,
2025-10-02 15:08:06 +00:00
{ text : 'Подключение к ВМ' , link : '/compute/compute-how-to/compute-connect-index.md' ,
collapsed : true ,
items : [
2025-10-28 10:18:03 +00:00
{ text : 'Подключение по SSH по внешнему IP-адресу с помощью ключевой пары' , link : '/compute/compute-how-to/compute-connect-public.md' } ,
{ text : 'Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары' , link : '/compute/compute-how-to/compute-connect-inside.md' } ,
{ text : 'Подключение по SSH по логину и паролю' , link : '/compute/compute-how-to/compute-connect-pwd.md' } ,
2025-10-02 15:08:06 +00:00
]
} ,
2025-07-25 10:48:34 +00:00
{ text : 'Управление ВМ' , link : '/compute/compute-how-to/compute-servers-manage.md' } ,
2025-07-04 10:57:57 +00:00
] ,
2025-07-25 10:48:34 +00:00
} ,
2026-04-01 15:10:51 +03:00
{ text : 'Диски' , link : '/compute/compute-how-to/compute-disks/compute-disk-index.md' ,
2026-01-13 09:50:36 +00:00
collapsed : true ,
items : [
{ text : 'Обзор' , link : '/compute/compute-how-to/compute-disks/compute-disk-about.md' } ,
{ text : 'Создание диска' , link : '/compute/compute-how-to/compute-disks/compute-disk-create.md' } ,
{ text : 'Управление дисками' , link : '/compute/compute-how-to/compute-disks/compute-disk-manage.md' } ,
{ text : 'Удаление диска' , link : '/compute/compute-how-to/compute-disks/compute-disk-del.md' } ,
]
} ,
2026-01-13 12:41:24 +00:00
{ text : 'IP-адреса' , link : '/compute/compute-how-to/compute-ip/compute-ip-index.md' ,
collapsed : true ,
items : [
{ text : 'Обзор' , link : '/compute/compute-how-to/compute-ip/compute-ip-about.md' } ,
{ text : 'Просмотр IP-адресов' , link : '/compute/compute-how-to/compute-ip/compute-ip-view.md' } ,
{ text : 'Создание IP-адреса' , link : '/compute/compute-how-to/compute-ip/compute-ip-create.md' } ,
{ text : 'Управление IP-адресами' , link : '/compute/compute-how-to/compute-ip/compute-ip-manager.md' } ,
{ text : 'Удаление IP-адреса' , link : '/compute/compute-how-to/compute-ip/compute-ip-del.md' } ,
]
} ,
2026-01-14 06:07:29 +00:00
{ text : 'Группы размещения' , link : '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-index.md' ,
collapsed : true ,
items : [
{ text : 'Обзор' , link : '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-about.md' } ,
{ text : 'Создание группы размещения' , link : '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-create.md' } ,
{ text : 'Управление группами размещения' , link : '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-manager.md' } ,
{ text : 'Удаление группы размещения' , link : '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-del.md' } ,
]
} ,
2025-10-02 15:08:06 +00:00
{ text : 'Сети' , link : '/compute/compute-how-to/compute-network/compute-network-index.md' ,
2025-08-22 06:45:33 +00:00
collapsed : true ,
items : [
2025-10-02 15:08:06 +00:00
{ text : 'Настройка site-to-site VPN с помощью VyOS' , link : '/compute/compute-how-to/compute-network/compute-vpn-vyos.md' } ,
2025-10-03 10:18:17 +00:00
{ text : 'Подключение ВМ закрытого контура к интернету' , link : '/compute/compute-how-to/compute-network/compute-network-inside.md' } ,
2025-07-25 10:48:34 +00:00
] ,
2025-08-22 06:45:33 +00:00
} ,
] ,
2025-07-25 10:48:34 +00:00
'/admin/' : [
{
2025-08-25 17:27:58 +06:00
text : 'Администрирование' , link : '/admin/index.md' ,
2025-08-22 06:45:33 +00:00
} ,
{ text : 'Управление ключевыми парами' , link : '/admin/ssh.md' } ,
2025-10-13 09:27:59 +00:00
] ,
2025-12-18 07:41:34 +00:00
'/vdi/' : [
{
text : 'Виртуальные рабочие столы' , link : '/vdi/index.md' ,
} ,
{
text : 'Обзор сервиса' , link : '/vdi/vdi-overview.md' ,
collapsed : true ,
items : [
{ text : 'О сервисе' , link : '/vdi/vdi-about.md' } ,
{ text : 'Техническое описание' , link : '/vdi/vdi-tech.md' } ,
{ text : 'Квоты и лимиты' , link : '/vdi/vdi-quatos.md' } ,
{ text : 'Тарификация' , link : '/vdi/vdi-tarif.md' } ,
]
} ,
{
text : 'Заказ виртуальных рабочих столов' , link : '/vdi/vdi-how-to/vdi-create.md'
} ,
{
text : 'Настройка сервиса' , link : '/vdi/vdi-how-to/vdi-nastroika.md' ,
collapsed : true ,
items : [
{ text : 'Настройка интеграции с Active Directory' , link : '/vdi/vdi-how-to/vdi-connect-to-ad.md' } ,
{ text : 'Настройка сети' , link : '/vdi/vdi-how-to/vdi-interconnect.md' } ,
]
} ,
// {
// text: 'Gold-образ', link: '/vdi/vdi-how-to/vdi-gold.md'
// },
{
text : 'Подключение к виртуальному рабочему месту' , link : '/vdi/vdi-how-to/vdi-connect.md'
} ,
] ,
2025-07-25 10:48:34 +00:00
} ,
2025-03-27 13:43:31 +06:00
} ,
}
2025-07-25 10:48:34 +00:00
)