Unix:/var/discourse/shared/standalone/nginx.http.sock (2: Файл или каталог не найден) [РЕШЕНО]

Всем привет,

У меня ошибка 502 Bad Gateway на сайте, и я не могу решить эту проблему с nginx.http.sock.

Nginx error.log

[crit] 14339#14339: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: **.***.***.***, server: mydomain.net, request: "GET / HTTP/2.0", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "mydomain.net", referrer: "https:/mydomain.net/" "

Ниже мой файл discourse.conf

server {
    listen 80;
    listen [::]:80;
    server_name mydmain.net www.mydomain.net;  # <-- измените это

}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain www.mydomain.net;  # <-- измените это

    ssl on;
    ssl_certificate /etc/letsencrypt/live/mydomain.net/fullchain.pem; # управляется Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.net/privkey.pem; # управляется Certbot
    ssl_dhparam /etc/letsencrypt/live/mydomain.net/dhparams.pem;
    include /etc/nginx/snippets/ssl.conf;

    http2_idle_timeout 5m; # увеличено с 3m по умолчанию

    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Real-IP $remote_addr;

    }
}

Мой файл app.yml

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.ratelimited.template.yml"
## Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"
##  - "templates/web.socketed.template.yml"
## Какие TCP/IP порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал тот же порт, что и другой веб-сервер, например Apache или nginx,
## см. https://meta.discourse.org/t/17247 для деталей
#expose:
# - "2045:80"   # http
# - "1443:443" # https

Я также попробовал раскомментировать “templates/web.socketed.template.yml”, но результат в логе ошибок Nginx остался прежним. Что мне нужно сделать, чтобы решить эту проблему? У меня закончились идеи. Пожалуйста, помогите ;/

Я не эксперт, и если я не ошибаюсь, если вы выберете вариант с сокетом, вам, скорее всего, нужно будет раскомментировать web.socketed.template.

Привет, я уже делал это и получил тот же результат.

Только что попробовал на своей установке (использовал другой способ с прослушиванием порта), и всё работает.

Вам нужно убедиться, что:

  • Шаблоны SSL/Let’s Encrypt закомментированы, так как это уже обрабатывается вашей внешней конфигурацией Nginx.
  • Приложение пересобрано, чтобы файл nginx.http.sock появился в /var/discourse/shared/standalone/

Убедитесь, что:

  • шаблоны SSL/Let’s Encrypt закомментированы, так как это уже обрабатывается вашей внешней конфигурацией Nginx.
  • Приложение пересобрано, чтобы файл nginx.http.sock появился в /var/discourse/shared/standalone/

Хорошо, но что тогда произойдет с этой строкой? Ошибка 502 Gateway исчезла, и сайт работает, однако я вижу ту же ошибку nginx из-за этой строки.

location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;

Похоже, SSL не работает, и изображения не отображаются. Я загрузил логотип при настройке форума.

Если это еще не сделано, попробуйте включить опцию force https в Discourse (вкладка «Безопасность»)

ОМГГГ!!! Спсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспсспссп

Я попробовал все вышеуказанные предложения, но по-прежнему получаю ошибку 502 Bad Gateway. На данный момент я не использую HTTPS.

Вот моя ошибка:

> 2020/04/02 00:17:54 [crit] 18599#18599: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xxx.xx, server: talk.mydomain.com, request: "GET / HTTP/1.1", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "talk.mydomain.com"
> 
> 2020/04/02 00:17:54 [crit] 18599#18599: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: xx.xxx.xxx.xx, server: talk.mydomain.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/favicon.ico", host: "talk.mydomain.com", referrer: "http://talk.mydomain.com/"

Ниже приведён файл /etc/nginx/sites-enabled/discourse.conf:

server {
        listen 80; listen [::]:80;
        server_name talk.mydomain.com;
        location / {
                proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
        }
}

Ниже приведён раздел шаблона файла /var/discourse/containers/app.yml:

server {
        listen 80; listen [::]:80;
        server_name talk.mydomain.com;
        location / {
                proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;
        }
}

Пожалуйста, дайте совет.