Compare commits

...
4 Commits
Author SHA1 Message Date
richjohnrambo 6c800de67d im 服务端 2026-08-11 10:34:06 +08:00
richjohnrambo 8bda22246c chore: update dependency checksums 2026-08-11 10:29:55 +08:00
richjohnrambo 5aa7733515 chore: sync project files 2026-08-11 10:29:38 +08:00
richjohnrambo c9d6a6767f chore: 添加 gitignore(Go + IDE) 2026-08-11 10:10:16 +08:00
310 changed files with 3526 additions and 31 deletions
View File
+1
View File
@@ -0,0 +1 @@
blank_issues_enabled: false
+1 -31
View File
@@ -1,31 +1 @@
# ---> Go
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
# Go workspace file
go.work
go.work.sum
# env file
.env
# ---> TortoiseGit
# Project-level settings
/.tgitconfig
/.github/
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+38
View File
@@ -0,0 +1,38 @@
version: '3.8'
x-mongodb-tinode-env-vars: &mongodb-tinode-env-vars
"STORE_USE_ADAPTER": "mongodb"
services:
db:
image: mongo:4.2.3
container_name: mongodb
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs0" ]
healthcheck:
test: ["CMD", "curl -f http://localhost:28017/ || exit 1"]
# Initializes MongoDb replicaset.
initdb:
image: mongo:4.2.3
container_name: initdb
depends_on:
- db
command: >
bash -c "echo 'Starting replica set initialize';
until mongo --host mongodb --eval 'print(\"waited for connection\")'; do sleep 2; done;
echo 'Connection finished';
echo 'Creating replica set';
echo \"rs.initiate({'_id': 'rs0', "members": [ {'_id': 0, 'host': 'mongodb:27017'} ]})\" | mongo --host mongodb"
tinode-0:
environment:
<< : *mongodb-tinode-env-vars
"WAIT_FOR": "mongodb:27017"
tinode-1:
environment:
<< : *mongodb-tinode-env-vars
tinode-2:
environment:
<< : *mongodb-tinode-env-vars
@@ -0,0 +1,24 @@
version: '3.8'
x-postgres-tinode-env-vars: &postgres-tinode-env-vars
"STORE_USE_ADAPTER": "postgres"
services:
db:
image: postgres:15.2
container_name: postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
tinode-0:
environment:
<< : *postgres-tinode-env-vars
"WAIT_FOR": "postgres:5432"
tinode-1:
environment:
<< : *postgres-tinode-env-vars
tinode-2:
environment:
<< : *postgres-tinode-env-vars
@@ -0,0 +1,24 @@
version: '3.8'
x-rethinkdb-tinode-env-vars: &rethinkdb-tinode-env-vars
"STORE_USE_ADAPTER": "rethinkdb"
services:
db:
image: rethinkdb:2.4.2
container_name: rethinkdb
healthcheck:
test: ["CMD", "curl -f http://localhost:8080/ || exit 1"]
tinode-0:
environment:
<< : *rethinkdb-tinode-env-vars
"WAIT_FOR": "rethinkdb:8080"
tinode-1:
environment:
<< : *rethinkdb-tinode-env-vars
tinode-2:
environment:
<< : *rethinkdb-tinode-env-vars
+187
View File
@@ -0,0 +1,187 @@
# Reference configuration for a simple 3-node Tinode cluster.
# Includes:
# * Mysql database
# * 3 Tinode servers
# * 3 exporters
version: '3.8'
# Base Tinode template.
x-tinode:
&tinode-base
depends_on:
- db
image: tinode/tinode:latest
restart: always
x-exporter:
&exporter-base
image: tinode/exporter:latest
restart: always
x-tinode-env-vars: &tinode-env-vars
"STORE_USE_ADAPTER": "mysql"
"PPROF_URL": "/pprof"
# You can provide your own tinode config by setting EXT_CONFIG env var and binding your configuration file to
# "EXT_CONFIG": "/etc/tinode/tinode.conf"
"WAIT_FOR": "mysql:3306"
# Push notifications.
# Modify as appropriate.
# Tinode Push Gateway configuration.
"TNPG_PUSH_ENABLED": "false"
# "TNPG_USER": "<user name>"
# "TNPG_AUTH_TOKEN": "<token>"
# FCM specific server configuration.
"FCM_PUSH_ENABLED": "false"
# "FCM_CRED_FILE": "<path to FCM credentials file>"
# "FCM_INCLUDE_ANDROID_NOTIFICATION": false
#
# FCM Web client configuration.
"FCM_API_KEY": "AIzaSyD6X4ULR-RUsobvs1zZ2bHdJuPz39q2tbQ"
"FCM_APP_ID": "1:114126160546:web:aca6ea2981feb81fb44dfb"
"FCM_PROJECT_ID": "tinode-1000"
"FCM_SENDER_ID": 114126160546
"FCM_VAPID_KEY": "BOgQVPOMzIMXUpsYGpbVkZoEBc0ifKY_f2kSU5DNDGYI6i6CoKqqxDd7w7PJ3FaGRBgVGJffldETumOx831jl58"
"FCM_MEASUREMENT_ID": "G-WNJDQR34L3"
# iOS app universal links configuration.
# "IOS_UNIV_LINKS_APP_ID": "<ios universal links app id>"
# Video calls
"WEBRTC_ENABLED": "false"
# "ICE_SERVERS_FILE": "<path to ICE servers config>"
x-exporter-env-vars: &exporter-env-vars
"TINODE_ADDR": "http://tinode.host:18080/stats/expvar/"
# InfluxDB configation:
"SERVE_FOR": "influxdb"
"INFLUXDB_VERSION": 1.7
"INFLUXDB_ORGANIZATION": "<your organization>"
"INFLUXDB_PUSH_INTERVAL": 30
"INFLUXDB_PUSH_ADDRESS": "https://mon.tinode.co/intake"
"INFLUXDB_AUTH_TOKEN": "<auth token>"
# Prometheus configuration:
# "SERVE_FOR": "prometheus"
# "PROM_NAMESPACE": "tinode"
# "PROM_METRICS_PATH": "/metrics"
services:
db:
image: mysql:8.0
container_name: mysql
restart: always
# Use your own volume.
# volumes:
# - <mysql directory in your file system>:/var/lib/mysql
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 5s
retries: 10
security_opt:
- seccomp=unconfined
# Tinode servers.
tinode-0:
<< : *tinode-base
container_name: tinode-0
hostname: tinode-0
# You can mount your volumes as necessary:
# volumes:
# # E.g. external config (assuming EXT_CONFIG is set).
# - <path to your tinode.conf>:/etc/tinode/tinode.conf
# # Logs directory.
# - <path to your tinode-0 logs directory>:/var/log
ports:
- "6060:6060"
environment:
<< : *tinode-env-vars
"CLUSTER_SELF": "tinode-0"
"RESET_DB": ${RESET_DB:-false}
"UPGRADE_DB": ${UPGRADE_DB:-false}
tinode-1:
<< : *tinode-base
container_name: tinode-1
hostname: tinode-1
# You can mount your volumes as necessary:
# volumes:
# # E.g. external config (assuming EXT_CONFIG is set).
# - <path to your tinode.conf>:/etc/tinode/tinode.conf
# # Logs directory.
# - <path to your tinode-1 logs directory>:/var/log
ports:
- "6061:6060"
environment:
<< : *tinode-env-vars
"CLUSTER_SELF": "tinode-1"
# Wait for tinode-0, not the database since
# we let tinode-0 perform all database initialization and upgrade work.
"WAIT_FOR": "tinode-0:6060"
"NO_DB_INIT": "true"
tinode-2:
<< : *tinode-base
container_name: tinode-2
hostname: tinode-2
# You can mount your volumes as necessary:
# volumes:
# # E.g. external config (assuming EXT_CONFIG is set).
# - <path to your tinode.conf>:/etc/tinode/tinode.conf
# # Logs directory.
# - <path to your tinode-2 logs directory>:/var/log
ports:
- "6062:6060"
environment:
<< : *tinode-env-vars
"CLUSTER_SELF": "tinode-2"
# Wait for tinode-0, not the database since
# we let tinode-0 perform all database initialization and upgrade work.
"WAIT_FOR": "tinode-0:6060"
"NO_DB_INIT": "true"
# Monitoring.
# Exporters are paired with tinode instances.
exporter-0:
<< : *exporter-base
container_name: exporter-0
hostname: exporter-0
depends_on:
- tinode-0
ports:
- 6222:6222
links:
- tinode-0:tinode.host
environment:
<< : *exporter-env-vars
"INSTANCE": "tinode-0"
"WAIT_FOR": "tinode-0:6060"
exporter-1:
<< : *exporter-base
container_name: exporter-1
hostname: exporter-1
depends_on:
- tinode-1
ports:
- 6223:6222
links:
- tinode-1:tinode.host
environment:
<< : *exporter-env-vars
"INSTANCE": "tinode-1"
"WAIT_FOR": "tinode-1:6060"
exporter-2:
<< : *exporter-base
container_name: exporter-2
hostname: exporter-2
depends_on:
- tinode-2
ports:
- 6224:6222
links:
- tinode-2:tinode.host
environment:
<< : *exporter-env-vars
"INSTANCE": "tinode-2"
"WAIT_FOR": "tinode-2:6060"
@@ -0,0 +1,30 @@
version: '3.8'
x-mongodb-tinode-env-vars: &mongodb-tinode-env-vars
"STORE_USE_ADAPTER": "mongodb"
services:
db:
image: mongo:4.2.3
container_name: mongodb
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs0" ]
healthcheck:
test: ["CMD", "curl -f http://localhost:28017/ || exit 1"]
# Initializes MongoDb replicaset.
initdb:
image: mongo:4.2.3
container_name: initdb
depends_on:
- db
command: >
bash -c "echo 'Starting replica set initialize';
until mongo --host mongodb --eval 'print(\"waited for connection\")'; do sleep 2; done;
echo 'Connection finished';
echo 'Creating replica set';
echo \"rs.initiate({'_id': 'rs0', "members": [ {'_id': 0, 'host': 'mongodb:27017'} ]})\" | mongo --host mongodb"
tinode-0:
environment:
<< : *mongodb-tinode-env-vars
"WAIT_FOR": "mongodb:27017"
@@ -0,0 +1,16 @@
version: '3.8'
x-postgres-tinode-env-vars: &postgres-tinode-env-vars
"STORE_USE_ADAPTER": "postgres"
services:
db:
image: postgres:15.2
container_name: postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
tinode-0:
environment:
<< : *postgres-tinode-env-vars
"WAIT_FOR": "postgres:5432"
@@ -0,0 +1,16 @@
version: '3.8'
x-rethinkdb-tinode-env-vars: &rethinkdb-tinode-env-vars
"STORE_USE_ADAPTER": "rethinkdb"
services:
db:
image: rethinkdb:2.4.0
container_name: rethinkdb
healthcheck:
test: ["CMD", "curl -f http://localhost:8080/ || exit 1"]
tinode-0:
environment:
<< : *rethinkdb-tinode-env-vars
"WAIT_FOR": "rethinkdb:8080"
+111
View File
@@ -0,0 +1,111 @@
# Reference configuration for a simple Tinode server.
# Includes:
# * Mysql database
# * Tinode server
# * Tinode exporters
version: '3.8'
# Base Tinode template.
x-tinode:
&tinode-base
depends_on:
- db
image: tinode/tinode:latest
restart: always
x-tinode-env-vars: &tinode-env-vars
"STORE_USE_ADAPTER": "mysql"
"PPROF_URL": "/pprof"
# You can provide your own tinode config by setting EXT_CONFIG env var and binding your configuration file to
# "EXT_CONFIG": "/etc/tinode/tinode.conf"
"WAIT_FOR": "mysql:3306"
# Push notifications.
# Modify as appropriate.
# Tinode Push Gateway configuration.
"TNPG_PUSH_ENABLED": "false"
# "TNPG_USER": "<user name>"
# "TNPG_AUTH_TOKEN": "<token>"
# FCM specific server configuration.
"FCM_PUSH_ENABLED": "false"
# "FCM_CRED_FILE": "<path to FCM credentials file>"
# "FCM_INCLUDE_ANDROID_NOTIFICATION": false
#
# FCM Web client configuration.
"FCM_API_KEY": "AIzaSyD6X4ULR-RUsobvs1zZ2bHdJuPz39q2tbQ"
"FCM_APP_ID": "1:114126160546:web:aca6ea2981feb81fb44dfb"
"FCM_PROJECT_ID": "tinode-1000"
"FCM_SENDER_ID": 114126160546
"FCM_VAPID_KEY": "BOgQVPOMzIMXUpsYGpbVkZoEBc0ifKY_f2kSU5DNDGYI6i6CoKqqxDd7w7PJ3FaGRBgVGJffldETumOx831jl58"
"FCM_MEASUREMENT_ID": "G-WNJDQR34L3"
# iOS app universal links configuration.
# "IOS_UNIV_LINKS_APP_ID": "<ios universal links app id>"
# Video calls
"WEBRTC_ENABLED": "false"
# "ICE_SERVERS_FILE": "<path to ICE servers config>"
x-exporter-env-vars: &exporter-env-vars
"TINODE_ADDR": "http://tinode.host:6060/stats/expvar/"
# InfluxDB configation:
"SERVE_FOR": "influxdb"
"INFLUXDB_VERSION": 1.7
"INFLUXDB_ORGANIZATION": "<your organization>"
"INFLUXDB_PUSH_INTERVAL": 30
"INFLUXDB_PUSH_ADDRESS": "https://mon.tinode.co/intake"
"INFLUXDB_AUTH_TOKEN": "<auth token>"
# Prometheus configuration:
# "SERVE_FOR": "prometheus"
# "PROM_NAMESPACE": "tinode"
# "PROM_METRICS_PATH": "/metrics"
services:
db:
image: mysql:8.0
container_name: mysql
restart: always
# Use your own volume.
# volumes:
# - <mysql directory in your file system>:/var/lib/mysql
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 5s
retries: 10
security_opt:
- seccomp=unconfined
# Tinode.
tinode-0:
<< : *tinode-base
container_name: tinode-0
hostname: tinode-0
# You can mount your volumes as necessary:
# volumes:
# # E.g. external config (assuming EXT_CONFIG is set).
# - <path to your tinode.conf>:/etc/tinode/tinode.conf
# # Logs directory.
# - <path to your tinode-0 logs directory>:/var/log
ports:
- "6060:6060"
environment:
<< : *tinode-env-vars
"RESET_DB": ${RESET_DB:-false}
"UPGRADE_DB": ${UPGRADE_DB:-false}
# Monitoring.
# Exporters are paired with tinode instances.
exporter-0:
container_name: exporter-0
hostname: exporter-0
depends_on:
- tinode-0
image: tinode/exporter:latest
restart: always
ports:
- "6222:6222"
links:
- tinode-0:tinode.host
environment:
<< : *exporter-env-vars
"WAIT_FOR": "tinode-0:6060"
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.1 KiB

View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="192" height="192"><defs><filter id="f" color-interpolation-filters="sRGB"><feFlood flood-opacity=".251" flood-color="#000" result="flood"/><feComposite in="flood" in2="SourceGraphic" operator="in" result="composite1"/><feGaussianBlur in="composite1" result="blur"/><feOffset dy="-1" result="offset"/><feComposite in="SourceGraphic" in2="offset" result="fbSourceGraphic"/><feColorMatrix result="fbSourceGraphicAlpha" in="fbSourceGraphic" values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"/><feFlood flood-opacity=".251" flood-color="#000" result="flood"/><feComposite in2="fbSourceGraphic" in="flood" operator="in" result="composite1"/><feGaussianBlur in="composite1" result="blur"/><feOffset dy="-3" result="offset"/><feComposite in2="offset" in="fbSourceGraphic" result="composite2"/></filter><filter id="d" color-interpolation-filters="sRGB"><feFlood flood-opacity=".196" flood-color="#FFF" result="flood"/><feComposite in="flood" in2="SourceGraphic" operator="out" result="composite1"/><feGaussianBlur in="composite1" result="blur"/><feOffset dy="2" result="offset"/><feComposite in="offset" in2="SourceGraphic" operator="atop" result="composite2"/></filter><filter id="b" color-interpolation-filters="sRGB"><feFlood flood-opacity=".196" flood-color="#000" result="flood"/><feComposite in="flood" in2="SourceGraphic" operator="out" result="composite1"/><feGaussianBlur in="composite1" result="blur"/><feOffset dy="-2" result="offset"/><feComposite in="offset" in2="SourceGraphic" operator="atop" result="composite2"/></filter><filter id="c" color-interpolation-filters="sRGB"><feFlood flood-opacity=".196" flood-color="#000" result="flood"/><feComposite in="flood" in2="SourceGraphic" operator="out" result="composite1"/><feGaussianBlur in="composite1" result="blur"/><feOffset dy="-2" result="offset"/><feComposite in="offset" in2="SourceGraphic" operator="atop" result="composite2"/></filter><linearGradient id="a"><stop offset="0" stop-opacity=".251"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient xlink:href="#a" id="e" x1="102.814" y1="97.076" x2="219.019" y2="170.481" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.29306 0 0 1.00596 -43.959 .807)"/></defs><g fill-rule="evenodd"><path d="M14.102 64A88 87.925 0 008 95.924c-.012 44.455 18.485 70.138 1.863 79.822-12.733 7.419 43.153 8.258 70.137 8.248V64H14.102z" fill="#fc5d3e" filter="url(#b)"/><path d="M80 64v119.994c8.24-.003 14.055-.08 14.055-.08L96 183.85a88 87.925 0 0088-87.926A88 87.925 0 00177.99 64H80z" fill="#45ae49" filter="url(#c)"/><path d="M96 8A88 87.925 0 009.52 80h172.978A88 87.925 0 0096 8z" fill="#2d526b" filter="url(#d)"/></g><path d="M88.002 40.975l-8.6 112.808 39.791 26.94c34.169-9.369 59.381-38.298 63.971-73.4z" fill="url(#e)" fill-rule="evenodd" opacity=".5"/><text y="153.195" x="53.125" style="line-height:125%;-inkscape-font-specification:'Arial, Bold';text-align:start" font-weight="700" font-size="160" font-family="Arial" letter-spacing="0" word-spacing="0"><tspan style="line-height:125%;-inkscape-font-specification:'Arial, Bold';text-align:start" y="153.195" x="53.125" fill="#fff">t</tspan></text></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File
View File
+178
View File
@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 2000 659" enable-background="new 0 0 2000 659" xml:space="preserve">
<line fill="#FFFFFF" x1="1645.1" y1="5370.3" x2="205.1" y2="5370.3"/>
<path fill="#A2A2A1" d="M1001.2,659c-306.9,0-613.8,0-920.6,0.1c-17.3,0-32.9-4.3-46.8-15.8c-19.9-16.6-30.6-38.9-30.6-66.8
C3,411.9,3,247.3,3.1,82.7c0-39,25.3-73.1,59.6-80.6C69,0.7,75.4,0,81.9,0c612.9,0,1225.8,0,1838.8,0c33.2,0,58,15.7,72.7,49.8
c4.5,10.4,6.5,21.7,6.5,33.2c0.1,164.4,0.2,328.8,0,493.2c0,42.1-27.8,75.2-61.1,81.7c-5.8,1.1-11.6,1-17.4,1
C1614.7,659,1307.9,659,1001.2,659z M1001.1,645.7c48.3,0,96.6,0,144.9,0c259.2,0,518.5,0,777.7,0c9.5,0,18.7-1.5,27.2-6.2
c24.2-13.4,36.5-35.3,36.5-65.8c0-90.8,0-181.5,0-272.3c0-71.8-0.1-143.5,0-215.3c0-18.2-4.5-34.5-15.2-48.3
c-13.8-17.6-31.4-24.2-51.9-24.2c-612.8,0.1-1225.5,0.1-1838.3,0.1c-2,0-4,0-6,0.1c-35,1.6-60.8,31.6-60.8,70.9
c0,163.3,0,326.6,0,489.8c0,5.5,0.4,10.9,1.5,16.3c6.6,33,31.4,54.8,62.2,54.8C386.3,645.7,693.7,645.7,1001.1,645.7z"/>
<path fill="#010101" d="M1000.9,645.7c-307.4,0-614.8,0-922.3,0c-30.8,0-55.6-21.8-62.2-54.8c-1.1-5.3-1.5-10.8-1.5-16.3
c0-163.3,0-326.6,0-489.8c0-39.3,25.8-69.4,60.8-70.9c2-0.1,4-0.1,6-0.1c612.8,0,1225.7,0,1838.5-0.1c20.5,0,38.1,6.6,51.9,24.2
c10.8,13.8,15.3,30,15.3,48.3c-0.1,71.8,0,143.5,0,215.3c0,90.8,0,181.5,0,272.3c0,30.5-12.3,52.4-36.5,65.8
c-8.5,4.7-17.7,6.2-27.2,6.2c-259.3,0-518.6,0-777.8,0C1097.6,645.7,1049.3,645.7,1000.9,645.7z M436.9,292.8
c-12.9-7.8-26.1-15.1-39.3-22.2c-0.5-0.4-1-0.9-1.6-1.2c-67.4-37.8-134.7-75.6-202.1-113.4c-5.7-3.2-11.2-6.9-17.7-8.5
c-7.9-1.9-15.3-1.6-21.2,5c-6,6.2-6.7,14-6.7,22c0,57.8,0,115.7,0,173.5c0,1.6,0.2,3.3,0.3,4.9c-0.1,11.4-0.3,22.9-0.3,34.3
c0,21.4,0.2,42.8,0.2,64.2c0,13.7-0.3,27.4,0,41.1c0.1,6.4,1.9,12.6,6.6,17.4c3.7,4,8.2,5.6,13.6,5.7c6.9,0.1,12.7-2.6,18.5-5.8
c19-10.7,38-21.3,57-32c51.1-28.7,102.2-57.5,153.3-86.2c12.5-7,24.9-14.1,37.4-21.1c12.3-6.8,24.6-13.6,36.7-20.6
c5.1-2.9,9-7.1,11.1-12.7c3.3-8.5-0.1-17.4-9.7-23.9C461.5,305.6,449.2,299.2,436.9,292.8z M741.4,374.8c-13.5,0-26.9,0.1-40.4-0.1
c-3.1,0-4,0.8-3.9,3.9c0.2,5.7,0.3,11.5,0,17.2c-0.2,4,0.8,5.3,5,5.2c17.9-0.3,35.8,0,53.7-0.2c3.3,0,4.1,0.6,3.5,4.1
c-2.5,15.2-9.8,27.3-22.6,36c-9.2,6.2-19.2,9.5-30.2,11c-28.7,3.9-57.3-10.8-70.5-36.5c-13.3-26-8.9-58.3,10.9-79.1
c25.2-26.6,66-29.1,94.4-5.7c2.6,2.2,4,2.1,6.3-0.3c3.9-4.2,7.9-8.4,12.3-12.1c3.1-2.7,2.5-4.2-0.3-6.5
c-28-23.3-59.6-28.7-93.7-17.6c-54.5,17.8-81,77.8-57.4,128.3c15.4,33.1,51.4,58.4,96.1,55.9c48.1-2.7,89-39.9,81.6-99.8
c-0.4-3.1-1.5-3.7-4.3-3.6C768.4,374.9,754.9,374.8,741.4,374.8z M1158.9,369.6c-12.5-12.1-27.3-15.8-43.7-12
c-24.2,5.6-39.9,21.1-46.1,44.9c-6.2,24.2,1,45.2,19.8,61.6c21,18.4,52.6,19.4,69.6,0.9c0.1-0.1,0.6,0,0.9,0c0,4.9,0.4,9.9-0.1,14.7
c-1.4,15.1-9.7,25-23.2,28.3c-16.1,3.9-30.4-2.4-38.6-17.2c-1.5-2.8-2.6-3.4-5.6-2.1c-5,2.4-10.2,4.6-15.4,6.3
c-4.6,1.5-4.2,3.5-2.2,6.9c13.1,22.3,32.6,32.8,58.2,30.9c21.9-1.6,38.8-11.5,47.6-32.6c4.3-10.3,5.4-21.2,5.4-32.3
c-0.1-25,0-49.9,0-74.9c0-9.9-0.1-19.7,0.1-29.6c0.1-3.1-0.8-4-3.9-3.8c-3.9,0.3-7.9,0.1-11.8,0.1c-9.5,0-9.5,0-10.3,9.2
C1159.5,369.2,1159.3,369.3,1158.9,369.6z M1417.9,384.8c0,28.6,0.1,57.2-0.1,85.7c0,3.2,0.8,4.3,4.1,4.1c6.1-0.2,12.2-0.3,18.2,0
c4.1,0.2,5.2-1,5.2-5.1c-0.2-19.5,0-39.1-0.2-58.6c0-3.4,0.8-4.6,4.3-4.3c4.6,0.3,9.2,0.1,13.8,0.1c11.3-0.2,22.7,0.9,33.9-1.6
c32.2-7.1,51.3-36.3,43.9-67.4c-5.4-22.8-27.5-41-52.9-42c-21.6-0.9-43.4-0.2-65-0.6c-4.6-0.1-5.3,1.4-5.2,5.5
C1418,328.6,1417.9,356.7,1417.9,384.8z M1680.2,459.5c0,4.8,0.1,8.2,0,11.6c-0.1,2.2,0.3,3.3,2.9,3.2c6.9-0.2,13.8-0.1,20.7,0
c2.1,0,2.9-0.6,2.8-2.8c-0.1-23.1,0.4-46.3-0.4-69.4c-0.6-19.5-10.6-33.6-28.6-41.1c-16-6.7-32.6-7-49-1
c-10.3,3.8-18.5,10.4-24,20.1c-1.2,2-1.9,3.5,1.3,4.6c6.3,2.2,12.4,5,18.6,7.6c1.4,0.6,2.6,1.1,3.6-0.8c6.9-13.2,30.2-14.5,42.3-5.9
c6.4,4.5,10.1,10.5,9.7,19.1c-2-0.8-3.6-1.6-5.3-2.2c-21.5-7.6-42.1-6-60.7,7.7c-17.3,12.6-19.1,36.8-5.1,53
C1623.5,480.1,1661.7,486.8,1680.2,459.5z M993.8,478.3c34.8,0,62-26.8,62-61c0-34.2-27.2-61-62-61c-35.2,0-62.2,26.6-62.1,61.3
C931.8,452,958.8,478.3,993.8,478.3z M796.4,417.2c0,34.5,26.8,61,61.8,61c35.1,0,62-26.2,62.1-60.7c0.1-34.7-26.8-61.3-62-61.3
C823.3,356.3,796.4,382.7,796.4,417.2z M1276.2,435.8c1.6-0.7,3.3-1.5,4.9-2.1c22.1-9,44.2-18.1,66.3-27.1
c11.8-4.8,11.8-4.8,6.2-16.5c-14.7-30.9-48.6-42.7-78.2-27.1c-23.9,12.6-36.4,42-28.9,70.1c6.3,23.6,21.8,38.8,45.7,43.8
c25.2,5.2,46.6-2.3,63.1-22.7c1.8-2.2,1.6-3.4-0.9-4.8c-4.6-2.8-9.3-5.6-13.5-8.9c-3.4-2.7-5.1-2.3-8,1.1
C1316.5,461.1,1287.6,458.2,1276.2,435.8z M1832,359.8c-9.1,0-17.7,0.2-26.2-0.1c-3.2-0.1-4.4,1.1-5.6,3.9
c-9.1,23.1-18.4,46.2-27.7,69.3c-0.6,1.6-0.8,3.5-2.6,4.7c-0.7-1.6-1.4-3-2.1-4.5c-9.6-23.1-19.1-46.3-28.7-69.4
c-0.7-1.6-0.6-4-3.5-4c-8.9,0.1-17.9,0-27.3,0c0.8,1.8,1.2,3,1.7,4.2c14.9,33.5,29.8,67,44.8,100.4c1.3,2.9,1.4,5.3,0,8.2
c-5.9,12.4-11.5,25-17.2,37.5c-2.8,6.2-5.6,12.4-8.6,19c8.6,0,16.4-0.2,24.3,0.1c3.2,0.1,4.5-1.1,5.7-3.9c9.6-22.1,19.4-44,29.1-66
C1802.7,426.3,1817.2,393.4,1832,359.8z M1204.2,384.4c0,28.4,0.1,56.8-0.1,85.2c0,4.2,1.2,5.3,5.2,5.1c5.7-0.3,11.5-0.4,17.2,0
c4.2,0.3,5.1-1.1,5.1-5.1c-0.2-44.5-0.1-89-0.1-133.5c0-12.3-0.1-24.6,0.1-36.9c0.1-3.3-0.9-4.2-4.1-4.1c-6.2,0.2-12.5,0.3-18.7,0
c-3.7-0.2-4.7,0.9-4.6,4.6C1204.3,327.9,1204.2,356.2,1204.2,384.4z M1584.6,384.9c0-28.4-0.1-56.8,0.1-85.2c0-3.7-0.8-4.8-4.6-4.6
c-5.9,0.3-11.8,0.3-17.7,0c-3.9-0.2-4.9,1-4.9,4.9c0.2,25.6,0.1,51.2,0.1,76.8c0,31.2,0.1,62.4-0.1,93.6c0,3.5,0.9,4.5,4.4,4.3
c6.1-0.3,12.2-0.3,18.2,0c3.7,0.2,4.6-0.9,4.6-4.6C1584.5,441.7,1584.6,413.3,1584.6,384.9z M671.1,183.1c-4.6,0-9.2,0-13.8,0
c-9.4,0-9.2,0-9.3,9.2c0,3.5,1.3,4,4.3,3.9c8-0.2,16.1,0.1,24.1-0.1c2.9-0.1,3.4,1,2.7,3.4c-1.1,4-2.6,7.7-5.4,10.9
c-11.7,12.8-33.2,13.5-46.2,1.5c-12.9-11.9-13.9-33.9-2.1-46.7c12.2-13.3,32.9-14.3,45.9-2.2c0.8,0.8,1.6,2.8,3.1,1.4
c2.9-2.7,6.8-5.2,7.8-8.5c0.8-2.5-3.6-5-6.3-6.8c-15.3-10.6-36.9-10.7-52.4-0.3c-16.2,10.9-23.8,30-19.5,49
c6.1,26.9,33.5,42.3,60.6,34c18.9-5.8,30.7-23,29.4-42.7c-0.3-3.9-1-6.6-6.2-6.1C682.4,183.6,676.7,183.1,671.1,183.1z
M1114.3,165.2c1.5,2.3,2.3,3.6,3.1,4.9c11.3,17.9,23,35.5,33.7,53.7c3.8,6.4,7.9,8.9,15.1,8.2c3.4-0.4,4.2-1.1,4.2-4.5
c-0.1-25-0.1-49.9-0.1-74.9c0-9.9,0-9.7-10.1-9.8c-3.3,0-4.1,1-4,4.1c0.2,17.9,0.2,35.8,0.2,53.7c0,1.5,0,3.1,0,5.9
c-12-18.9-23.6-36.3-34.2-54.4c-4.3-7.4-9-10.4-17.4-9.5c-4,0.4-4.7,1.5-4.6,5.1c0.1,24.6,0.1,49.3,0.1,73.9
c0,10.3,0,10.1,10.1,10.2c3.5,0,3.9-1.2,3.9-4.2c-0.1-17.1-0.1-34.2-0.1-51.3C1114.3,173.2,1114.3,169.8,1114.3,165.2z M1041,233.9
c26.3,0.1,46.4-19.9,46.5-46.2c0.1-26-20-46.4-45.9-46.6c-26.3-0.2-46.6,19.9-46.7,46.1C994.8,213.6,1014.7,233.7,1041,233.9z
M707.1,187.4c0,13,0.2,26-0.1,38.9c-0.1,4.2,0.7,5.9,5.4,5.7c13.1-0.4,26.3-0.1,39.4-0.1c9.3,0,9.1,0,9.3-9.2
c0.1-3.6-1.2-4.3-4.5-4.2c-10.5,0.2-21,0-31.5,0.1c-3.1,0.1-4-0.9-3.8-3.9c0.2-5.7,0.2-11.5,0-17.2c-0.1-3,1-3.5,3.6-3.4
c7.9,0.2,15.8,0.1,23.7,0.1c8.6,0,8.4,0,8.7-8.8c0.1-3.9-1.1-4.7-4.7-4.6c-9,0.2-18.1,0-27.1,0.1c-3.1,0.1-4.4-0.7-4.2-4
c0.3-5.6,0.3-11.2,0-16.7c-0.2-3.3,1.2-3.7,4-3.7c8.7,0.2,17.4,0.1,26.1,0.1c9.9,0,9.7,0,9.8-9.7c0-3.4-1.1-4-4.2-4
c-15.3,0.1-30.6,0.2-45.8,0c-3.2,0-4.1,0.9-4.1,4.1C707.2,160.5,707.1,173.9,707.1,187.4z M794,194.1c0,9.2,0,18.4,0,27.6
c0,10.4,0,10.2,10.1,10.3c3.5,0,4.3-1.1,4.3-4.4c-0.2-18.7-0.1-37.4,0-56.2c0-4.9-2.1-11.3,0.9-14.1c2.7-2.4,9-0.7,13.8-0.8
c9.6,0,9.4,0,9.5-9.4c0.1-3.5-1-4.3-4.4-4.3c-16.1,0.2-32.2,0.1-48.3,0.1c-10.8,0-10.7,0-10.2,10.6c0.1,2.3,0.7,3.1,3.1,3
c5.7-0.2,11.5,0.2,17.2-0.1c3.4-0.2,4,1.1,4,4.1C793.9,171.8,794,183,794,194.1z M936.8,194.2c0-11.2,0.2-22.3-0.1-33.5
c-0.1-3.6,1-4.5,4.4-4.2c3.6,0.3,7.2,0.1,10.8,0.1c9.5,0,9.3,0,9.5-9.5c0.1-3.7-1.2-4.2-4.5-4.2c-16.3,0.2-32.5,0.1-48.8,0.1
c-10.1,0-10,0-9.9,10c0,2.7,0.6,3.8,3.5,3.6c5.4-0.2,10.9,0.2,16.3-0.1c3.7-0.2,5,0.7,4.9,4.7c-0.2,20.2-0.1,40.4-0.1,60.6
c0,10.3,0,10.1,10.2,10.2c2.9,0,3.9-0.6,3.9-3.8C936.7,216.9,936.8,205.6,936.8,194.2z M887.3,187.7c0-11.7,0-23.3,0-35
c0-9.9,0-9.7-10.1-9.9c-3.5,0-4.3,1.1-4.3,4.4c0.1,24.8,0.1,49.6,0.1,74.4c0,10.6,0,10.4,10.6,10.3c3.1,0,3.8-0.9,3.8-3.9
C887.2,214.7,887.3,201.2,887.3,187.7z"/>
<path fill="#FBFCFC" d="M741.4,374.8c13.5,0,26.9,0.1,40.4-0.1c2.8,0,3.9,0.6,4.3,3.6c7.5,60-33.5,97.2-81.6,99.8
c-44.6,2.5-80.6-22.8-96.1-55.9c-23.6-50.5,2.9-110.5,57.4-128.3c34.1-11.1,65.7-5.7,93.7,17.6c2.8,2.4,3.5,3.8,0.3,6.5
c-4.3,3.7-8.4,7.9-12.3,12.1c-2.2,2.4-3.6,2.5-6.3,0.3c-28.4-23.4-69.2-20.9-94.4,5.7c-19.8,20.9-24.2,53.2-10.9,79.1
c13.2,25.7,41.9,40.4,70.5,36.5c10.9-1.5,21-4.7,30.2-11c12.8-8.7,20.1-20.8,22.6-36c0.6-3.4-0.3-4.1-3.5-4.1
c-17.9,0.1-35.8-0.1-53.7,0.2c-4.2,0.1-5.3-1.2-5-5.2c0.3-5.7,0.3-11.5,0-17.2c-0.1-3,0.8-3.9,3.9-3.9
C714.5,374.9,728,374.8,741.4,374.8z"/>
<path fill="#65BE69" d="M155,152.5c5.9-6.6,13.4-6.9,21.2-5c6.5,1.6,12,5.3,17.7,8.5c67.4,37.8,134.7,75.6,202.1,113.4
c0.6,0.3,1,0.8,1.6,1.2c-3,3.1-6,6.1-9,9.2c-17.6,16.8-35,33.9-52,51.3c-0.3,0.1-0.5,0.1-0.8,0.1c-9.9-11-20.7-21.2-31.7-31
c-0.3-0.6-0.5-1.2-0.9-1.7c-16-15.9-31.7-32.2-48.6-47.2c-0.5-0.6-1-1.3-1.5-1.9c-26-26-52-51.9-78.1-77.8
C168.4,165.1,161.6,158.9,155,152.5z"/>
<path fill="#EF4049" d="M335.8,331.2c0.3,0,0.5,0,0.8-0.1c8.3,8.3,16.7,16.6,25.1,24.9c9,8.8,18,17.6,27,26.4c3,3.1,6,6.1,8.9,9.2
c-51.1,28.7-102.2,57.5-153.3,86.2c-19,10.7-38,21.3-57,32c-5.8,3.2-11.6,6-18.5,5.8c-5.4-0.1-9.9-1.7-13.6-5.7
c42.8-42.2,85.5-84.4,128.3-126.7C300.9,366,318.3,348.5,335.8,331.2z"/>
<path fill="#FDFEFF" d="M1158.9,369.6c0.4-0.4,0.6-0.4,0.6-0.5c0.8-9.2,0.7-9.2,10.3-9.2c3.9,0,7.9,0.2,11.8-0.1
c3-0.2,3.9,0.7,3.9,3.8c-0.2,9.9-0.1,19.7-0.1,29.6c0,25,0,49.9,0,74.9c0,11.1-1.1,22-5.4,32.3c-8.8,21.1-25.7,31-47.6,32.6
c-25.6,1.8-45.1-8.6-58.2-30.9c-2-3.4-2.4-5.5,2.2-6.9c5.3-1.7,10.4-3.9,15.4-6.3c2.9-1.4,4-0.7,5.6,2.1
c8.2,14.9,22.6,21.1,38.6,17.2c13.5-3.3,21.8-13.1,23.2-28.3c0.5-4.9,0.1-9.8,0.1-14.7c-0.3,0-0.7-0.2-0.9,0
c-17.1,18.5-48.7,17.5-69.6-0.9c-18.8-16.5-26-37.4-19.8-61.6c6.1-23.8,21.9-39.3,46.1-44.9C1131.6,353.8,1146.4,357.5,1158.9,369.6
z M1094.4,418.6c-0.2,2.5,0.4,5.9,1.2,9.2c3.7,14.9,16.7,25.8,31.6,26.5c14.2,0.7,26.9-8.1,32-22.3c3.8-10.6,3.6-21.3-1-31.6
c-5.3-11.8-14.2-19.3-27.5-19.9C1109.9,379.6,1094.3,395.7,1094.4,418.6z"/>
<path fill="#31C0F1" d="M304.1,300.1c-0.3-0.6-0.5-1.2-0.9-1.7c-16-15.9-31.7-32.2-48.6-47.2c-0.5-0.6-1-1.3-1.5-1.9
c-26-26-52-51.9-78.1-77.8c-6.5-6.5-13.3-12.7-19.9-19c-6,6.2-6.7,14-6.7,22c0,57.8,0,115.7,0,173.5c0,1.6,0.2,3.3,0.3,4.9
c-0.1,11.4-0.3,22.9-0.3,34.3c0,21.4,0.2,42.8,0.2,64.2c0,13.7-0.3,27.4,0,41.1c0.1,6.4,1.9,12.6,6.6,17.4
c42.8-42.2,85.5-84.4,128.3-126.7c17.5-17.3,34.9-34.7,52.3-52.1C325.8,320.2,315.1,310,304.1,300.1z"/>
<path fill="#FAFAFA" d="M1417.9,384.8c0-28.1,0.1-56.2-0.1-84.3c0-4.1,0.6-5.6,5.2-5.5c21.7,0.4,43.4-0.2,65,0.6
c25.4,1,47.6,19.2,52.9,42c7.3,31.1-11.7,60.4-43.9,67.4c-11.2,2.5-22.6,1.4-33.9,1.6c-4.6,0.1-9.2,0.3-13.8-0.1
c-3.5-0.2-4.4,0.9-4.3,4.3c0.2,19.5,0,39.1,0.2,58.6c0,4.1-1.1,5.3-5.2,5.1c-6.1-0.4-12.2-0.3-18.2,0c-3.3,0.1-4.1-0.9-4.1-4.1
C1418,442,1417.9,413.4,1417.9,384.8z M1445.2,350.8c0,9.2,0.1,18.4-0.1,27.6c0,2.6,0.7,3.3,3.3,3.3c12.3-0.1,24.6,0.1,37-0.2
c16.4-0.4,30-14.3,30.1-30.4c0.1-16.4-13.5-30.4-30.2-30.7c-12.1-0.2-24.3,0.1-36.5-0.2c-3.3-0.1-3.6,1.3-3.6,4
C1445.3,333,1445.2,341.9,1445.2,350.8z"/>
<path fill="#FDFEFF" d="M1680.2,459.5c-18.5,27.3-56.7,20.6-71.2,3.8c-14-16.3-12.3-40.4,5.1-53c18.6-13.6,39.2-15.2,60.7-7.7
c1.7,0.6,3.3,1.3,5.3,2.2c0.4-8.6-3.3-14.5-9.7-19.1c-12.1-8.5-35.3-7.3-42.3,5.9c-1,1.9-2.2,1.4-3.6,0.8
c-6.2-2.6-12.3-5.4-18.6-7.6c-3.2-1.2-2.5-2.6-1.3-4.6c5.5-9.7,13.7-16.3,24-20.1c16.4-6.1,32.9-5.7,49,1c18,7.5,28,21.6,28.6,41.1
c0.8,23.1,0.3,46.3,0.4,69.4c0,2.2-0.8,2.8-2.8,2.8c-6.9-0.1-13.8-0.1-20.7,0c-2.6,0.1-3-1.1-2.9-3.2
C1680.3,467.7,1680.2,464.3,1680.2,459.5z M1657.8,419.9c-8.9,0-16.3,1-23,5.2c-5.8,3.6-8.8,8.9-7.9,15.8c0.8,6.3,5.3,9.6,10.8,11.6
c17.6,6.4,37.9-5,42-23.4c0.5-2.4-0.1-3.5-2.3-4.5C1670.8,421.5,1663.9,419.8,1657.8,419.9z"/>
<path fill="#FDFEFF" d="M993.8,478.3c-35.1,0-62-26.3-62.1-60.7c-0.1-34.7,26.9-61.3,62.1-61.3c34.8,0,62,26.7,62,61
C1055.8,451.5,1028.7,478.2,993.8,478.3z M1028.5,420.5c0-23-14.1-39.2-32.1-40c-16.4-0.8-29.7,7.9-35.1,23
c-5.8,16.1-0.9,34.5,11.9,43.9c11.3,8.2,23.6,9.5,36.1,3C1022.4,443.5,1028.1,431.9,1028.5,420.5z"/>
<path fill="#FDFEFF" d="M796.4,417.2c0-34.5,26.9-60.9,61.9-61c35.2,0,62.2,26.6,62,61.3c-0.1,34.5-27,60.7-62.1,60.7
C823.2,478.2,796.3,451.7,796.4,417.2z M858.3,380.4c-19.7,0-34.8,15.9-34.9,36.7c-0.1,20.9,15.5,37.3,35.1,37.2
c19.4-0.1,34.8-16.5,34.7-37.2C893.2,396.4,878,380.4,858.3,380.4z"/>
<path fill="#FDFEFF" d="M1276.2,435.8c11.4,22.3,40.3,25.2,56.8,5.6c2.8-3.4,4.6-3.8,8-1.1c4.2,3.3,8.9,6.2,13.5,8.9
c2.5,1.5,2.7,2.6,0.9,4.8c-16.5,20.3-37.9,27.9-63.1,22.7c-23.9-5-39.4-20.2-45.7-43.8c-7.5-28.1,5-57.5,28.9-70.1
c29.5-15.6,63.5-3.8,78.2,27.1c5.5,11.7,5.5,11.7-6.2,16.5c-22.1,9-44.2,18.1-66.3,27.1C1279.4,434.4,1277.8,435.1,1276.2,435.8z
M1271.6,412c-0.2,2-0.4,3.6,3,2.2c16.4-6.9,32.9-13.6,49.4-20.2c2.8-1.1,2.5-2.3,1.1-4.3c-2.9-4-6.8-6.6-11.4-8.2
C1294,374.8,1272.2,390.4,1271.6,412z"/>
<path fill="#FDFEFF" d="M1832,359.8c-14.8,33.6-29.3,66.5-43.8,99.5c-9.7,22-19.5,44-29.1,66c-1.2,2.8-2.5,4-5.7,3.9
c-7.8-0.2-15.7-0.1-24.3-0.1c3-6.6,5.8-12.8,8.6-19c5.7-12.5,11.3-25,17.2-37.5c1.4-2.9,1.3-5.3,0-8.2
c-15-33.4-29.9-66.9-44.8-100.4c-0.5-1.2-1-2.4-1.7-4.2c9.4,0,18.3,0.1,27.3,0c2.9,0,2.8,2.4,3.5,4c9.6,23.1,19.2,46.2,28.7,69.4
c0.6,1.5,1.3,2.9,2.1,4.5c1.8-1.3,2-3.2,2.6-4.7c9.3-23.1,18.6-46.1,27.7-69.3c1.1-2.9,2.4-4,5.6-3.9
C1814.3,360,1822.8,359.8,1832,359.8z"/>
<path fill="#FAFAFA" d="M1204.2,384.4c0-28.2,0.1-56.5-0.1-84.7c0-3.7,0.9-4.8,4.6-4.6c6.2,0.3,12.5,0.2,18.7,0
c3.2-0.1,4.2,0.8,4.1,4.1c-0.2,12.3-0.1,24.6-0.1,36.9c0,44.5-0.1,89,0.1,133.5c0,4.1-0.9,5.4-5.1,5.1c-5.7-0.4-11.5-0.4-17.2,0
c-4,0.2-5.2-0.9-5.2-5.1C1204.3,441.2,1204.2,412.8,1204.2,384.4z"/>
<path fill="#FFFFFF" d="M1584.6,384.9c0,28.4-0.1,56.8,0.1,85.2c0,3.7-0.9,4.8-4.6,4.6c-6.1-0.3-12.2-0.3-18.2,0
c-3.4,0.2-4.4-0.9-4.4-4.3c0.1-31.2,0.1-62.4,0.1-93.6c0-25.6,0.1-51.2-0.1-76.8c0-3.9,1-5.1,4.9-4.9c5.9,0.3,11.8,0.3,17.7,0
c3.8-0.2,4.6,1,4.6,4.6C1584.5,328.1,1584.6,356.5,1584.6,384.9z"/>
<path fill="#FAFAFA" d="M671.1,183.1c5.6,0,11.2,0.4,16.7-0.1c5.1-0.5,5.9,2.1,6.2,6.1c1.3,19.7-10.5,36.9-29.4,42.7
c-27.1,8.3-54.5-7.1-60.6-34c-4.3-19,3.3-38.1,19.5-49c15.5-10.4,37-10.4,52.4,0.3c2.7,1.8,7.1,4.3,6.3,6.8c-1,3.3-4.9,5.9-7.8,8.5
c-1.5,1.4-2.2-0.6-3.1-1.4c-13-12.1-33.7-11.1-45.9,2.2c-11.7,12.8-10.8,34.8,2.1,46.7c13,12,34.5,11.3,46.2-1.5
c2.9-3.1,4.3-6.9,5.4-10.9c0.7-2.4,0.2-3.5-2.7-3.4c-8,0.2-16.1,0-24.1,0.1c-3,0.1-4.3-0.4-4.3-3.9c0.1-9.2-0.1-9.2,9.3-9.2
C661.9,183.1,666.5,183.1,671.1,183.1z"/>
<path fill="#FDFEFF" d="M1114.3,165.2c0,4.5,0,7.9,0,11.3c0,17.1-0.1,34.2,0.1,51.3c0,3-0.4,4.2-3.9,4.2
c-10.1-0.1-10.1,0.1-10.1-10.2c0-24.6,0.1-49.3-0.1-73.9c0-3.6,0.6-4.6,4.6-5.1c8.4-0.9,13.1,2.1,17.4,9.5
c10.6,18.1,22.2,35.5,34.2,54.4c0-2.8,0-4.4,0-5.9c0-17.9,0-35.8-0.2-53.7c0-3.1,0.7-4.2,4-4.1c10.1,0.1,10.1-0.1,10.1,9.8
c0,25-0.1,49.9,0.1,74.9c0,3.3-0.8,4.1-4.2,4.5c-7.3,0.8-11.4-1.8-15.1-8.2c-10.8-18.2-22.4-35.9-33.7-53.7
C1116.6,168.8,1115.8,167.5,1114.3,165.2z"/>
<path fill="#FAFAFA" d="M1041,233.9c-26.3-0.1-46.2-20.3-46.1-46.7c0.1-26.2,20.5-46.3,46.7-46.1c25.8,0.2,45.9,20.6,45.9,46.6
C1087.4,213.9,1067.3,234,1041,233.9z M1073.1,187.6c0-19-13.3-32.9-31.6-32.9c-18.5-0.1-31.9,13.6-32,32.6
c-0.1,19.1,13.5,33.4,31.9,33.3C1059.5,220.5,1073,206.5,1073.1,187.6z"/>
<path fill="#FAFAFA" d="M707.1,187.4c0-13.5,0.1-26.9-0.1-40.4c0-3.2,0.8-4.1,4.1-4.1c15.3,0.2,30.6,0.2,45.8,0c3.1,0,4.2,0.6,4.2,4
c-0.1,9.7,0.1,9.7-9.8,9.7c-8.7,0-17.4,0.1-26.1-0.1c-2.8-0.1-4.1,0.4-4,3.7c0.3,5.6,0.3,11.2,0,16.7c-0.2,3.4,1.1,4.1,4.2,4
c9-0.2,18.1,0.1,27.1-0.1c3.6-0.1,4.8,0.7,4.7,4.6c-0.3,8.8-0.1,8.8-8.7,8.8c-7.9,0-15.8,0.1-23.7-0.1c-2.6-0.1-3.8,0.5-3.6,3.4
c0.2,5.7,0.2,11.5,0,17.2c-0.1,3,0.8,4,3.8,3.9c10.5-0.2,21,0,31.5-0.1c3.3-0.1,4.6,0.6,4.5,4.2c-0.2,9.2,0,9.2-9.3,9.2
c-13.1,0-26.3-0.2-39.4,0.1c-4.8,0.1-5.5-1.5-5.4-5.7C707.3,213.4,707.1,200.4,707.1,187.4z"/>
<path fill="#F5F6F6" d="M794,194.1c0-11.2-0.1-22.3,0.1-33.5c0-3.1-0.6-4.3-4-4.1c-5.7,0.3-11.5,0-17.2,0.1c-2.4,0.1-3-0.7-3.1-3
C769.3,143,769.2,143,780,143c16.1,0,32.2,0.1,48.3-0.1c3.4,0,4.4,0.8,4.4,4.3c-0.1,9.4,0,9.4-9.5,9.4c-4.7,0-11.1-1.6-13.8,0.8
c-3.1,2.8-0.9,9.2-0.9,14.1c-0.1,18.7-0.1,37.4,0,56.2c0,3.4-0.7,4.5-4.3,4.4c-10.1-0.1-10.1,0-10.1-10.3
C794,212.5,794,203.3,794,194.1z"/>
<path fill="#FBFCFC" d="M936.8,194.2c0,11.3-0.1,22.7,0.1,34c0.1,3.1-0.9,3.8-3.9,3.8c-10.2,0-10.2,0.1-10.2-10.2
c0-20.2-0.1-40.4,0.1-60.6c0-4-1.2-4.9-4.9-4.7c-5.4,0.3-10.8-0.1-16.3,0.1c-2.9,0.1-3.5-0.9-3.5-3.6c-0.1-10-0.2-10,9.9-10
c16.3,0,32.5,0.1,48.8-0.1c3.2,0,4.6,0.5,4.5,4.2c-0.2,9.5,0,9.5-9.5,9.5c-3.6,0-7.2,0.2-10.8-0.1c-3.4-0.3-4.5,0.7-4.4,4.2
C937,171.9,936.8,183.1,936.8,194.2z"/>
<path fill="#F5F6F6" d="M887.3,187.7c0,13.5-0.1,26.9,0.1,40.4c0,3-0.7,3.9-3.8,3.9c-10.6,0.1-10.6,0.2-10.6-10.3
c0-24.8,0.1-49.6-0.1-74.4c0-3.4,0.8-4.5,4.3-4.4c10.1,0.1,10.1,0,10.1,9.9C887.3,164.4,887.3,176.1,887.3,187.7z"/>
<path fill="#FAC013" d="M473.1,313.3c-11.5-7.7-23.9-14.2-36.2-20.6c-12.9-7.8-26.1-15.1-39.3-22.2c-3,3.1-6,6.1-9,9.2
c-17.6,16.8-35,33.9-52,51.3c8.3,8.3,16.7,16.6,25.1,24.9c9,8.8,18,17.6,27,26.4c3,3.1,6,6.1,8.9,9.2c12.5-7,24.9-14.1,37.4-21.1
c12.3-6.8,24.6-13.6,36.7-20.6c5.1-2.9,9-7.1,11.1-12.7C486,328.7,482.7,319.8,473.1,313.3z"/>
<path fill="#030303" d="M1094.4,418.6c0-22.9,15.5-39,36.3-38.1c13.3,0.6,22.2,8.1,27.5,19.9c4.6,10.3,4.8,21,1,31.6
c-5,14.2-17.8,22.9-32,22.3c-14.9-0.7-27.9-11.6-31.6-26.5C1094.7,424.5,1094.2,421.1,1094.4,418.6z"/>
<path fill="#010101" d="M1445.2,350.8c0-8.9,0.1-17.7-0.1-26.6c0-2.7,0.3-4.1,3.6-4c12.1,0.2,24.3,0,36.5,0.2
c16.7,0.3,30.3,14.3,30.2,30.7c-0.1,16.1-13.7,30.1-30.1,30.4c-12.3,0.3-24.6,0-37,0.2c-2.6,0-3.3-0.7-3.3-3.3
C1445.3,369.2,1445.2,360,1445.2,350.8z"/>
<path fill="#030303" d="M1657.8,419.9c6.1-0.1,13,1.6,19.7,4.6c2.2,1,2.8,2.1,2.3,4.5c-4,18.4-24.4,29.8-42,23.4
c-5.5-2-10-5.3-10.8-11.6c-0.9-6.9,2.1-12.2,7.9-15.8C1641.4,420.9,1648.9,419.8,1657.8,419.9z"/>
<path fill="#030303" d="M1028.5,420.5c-0.4,11.4-6.1,23-19.2,29.9c-12.5,6.5-24.8,5.2-36.1-3c-12.8-9.3-17.7-27.8-11.9-43.9
c5.4-15.1,18.7-23.8,35.1-23C1014.4,381.3,1028.5,397.5,1028.5,420.5z"/>
<path fill="#030303" d="M858.3,380.4c19.7,0,34.8,15.9,34.9,36.8c0.1,20.6-15.3,37-34.7,37.2c-19.6,0.1-35.2-16.3-35.1-37.2
C823.5,396.3,838.6,380.4,858.3,380.4z"/>
<path fill="#030303" d="M1271.6,412c0.6-21.5,22.4-37.1,42.1-30.4c4.6,1.6,8.5,4.2,11.4,8.2c1.4,1.9,1.8,3.1-1.1,4.3
c-16.5,6.6-33,13.3-49.4,20.2C1271.2,415.6,1271.4,413.9,1271.6,412z"/>
<path fill="#030303" d="M1073.1,187.6c0,18.9-13.6,32.9-31.8,33c-18.4,0-32-14.2-31.9-33.3c0.1-19,13.5-32.6,32-32.6
C1059.8,154.7,1073.1,168.5,1073.1,187.6z"/>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View File
View File
View File
View File
View File
+1
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View File
View File
View File
View File
+121
View File
@@ -0,0 +1,121 @@
module github.com/tinode/chat
go 1.26.0
require (
firebase.google.com/go v3.13.0+incompatible
github.com/aws/aws-sdk-go-v2 v1.42.1
github.com/aws/aws-sdk-go-v2/config v1.32.27
github.com/aws/aws-sdk-go-v2/credentials v1.19.26
github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.2.13
github.com/aws/aws-sdk-go-v2/service/s3 v1.104.2
github.com/aws/smithy-go v1.27.3
github.com/go-sql-driver/mysql v1.10.0
github.com/golang/mock v1.6.0
github.com/google/go-cmp v0.7.0
github.com/gorilla/handlers v1.5.2
github.com/gorilla/websocket v1.5.3
github.com/jackc/pgx/v5 v5.10.0
github.com/jmoiron/sqlx v1.4.0
github.com/nyaruka/phonenumbers v1.8.0
github.com/prometheus/client_golang v1.23.2
github.com/prometheus/common v0.69.0
github.com/rivo/uniseg v0.4.7
github.com/tinode/jsonco v1.0.0
github.com/tinode/snowflake v1.0.0
go.mongodb.org/mongo-driver v1.17.9
golang.org/x/crypto v0.53.0
golang.org/x/oauth2 v0.36.0
golang.org/x/text v0.38.0
google.golang.org/api v0.287.0
google.golang.org/grpc v1.82.0
google.golang.org/protobuf v1.36.11
gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.2
)
require (
cel.dev/expr v0.25.2 // indirect
cloud.google.com/go/auth v0.20.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/monitoring v1.29.0 // indirect
filippo.io/edwards25519 v1.2.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.33.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.57.0 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.23 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.31 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.2.2 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.31.5 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.8 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.43.5 // indirect
github.com/cncf/xds/go v0.0.0-20260202195803-dba9d589def2 // indirect
github.com/envoyproxy/go-control-plane/envoy v1.37.0 // indirect
github.com/envoyproxy/protoc-gen-validate v1.3.3 // indirect
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/spiffe/go-spiffe/v2 v2.8.1 // indirect
github.com/stretchr/objx v0.5.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.44.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.69.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect
go.opentelemetry.io/otel v1.44.0 // indirect
go.opentelemetry.io/otel/metric v1.44.0 // indirect
go.opentelemetry.io/otel/sdk v1.44.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.44.0 // indirect
go.opentelemetry.io/otel/trace v1.44.0 // indirect
golang.org/x/net v0.56.0 // indirect
)
require (
cloud.google.com/go v0.123.0 // indirect
cloud.google.com/go/compute/metadata v0.9.0 // indirect
cloud.google.com/go/firestore v1.22.0 // indirect
cloud.google.com/go/iam v1.11.0 // indirect
cloud.google.com/go/longrunning v1.1.0 // indirect
cloud.google.com/go/storage v1.63.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/felixge/httpsnoop v1.1.0 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/golang/snappy v1.0.0 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.17 // indirect
github.com/googleapis/gax-go/v2 v2.22.0 // indirect
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/klauspost/compress v1.19.0 // indirect
github.com/montanaflynn/stats v0.9.0 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/procfs v0.21.1 // indirect
github.com/sirupsen/logrus v1.9.4 // indirect
github.com/twilio/twilio-go v1.30.9
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
github.com/xdg-go/scram v1.2.0 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
golang.org/x/sync v0.21.0 // indirect
golang.org/x/sys v0.46.0 // indirect
golang.org/x/time v0.15.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20260630182238-925bb5da69e7 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect
gopkg.in/cenkalti/backoff.v2 v2.2.1 // indirect
)
+202
View File
@@ -0,0 +1,202 @@
cel.dev/expr v0.25.2/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU=
cloud.google.com/go/auth v0.20.0/go.mod h1:942/yi/itH1SsmpyrbnTMDgGfdy2BUqIKyd0cyYLc5Q=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=
cloud.google.com/go/firestore v1.22.0/go.mod h1:PaM4i7i7ruALSKmlpHXXZaPObcZw0W7ie5UOPr72iTU=
cloud.google.com/go/iam v1.11.0/go.mod h1:KP+nKGugNJW4LcLx1uEZcq1ok5sQHFaQehQNl4QDgV4=
cloud.google.com/go/longrunning v1.1.0/go.mod h1:tH+A/6UvNypiPJWAQaKCsh+xiGbB23wUO8egwUXlD2E=
cloud.google.com/go/monitoring v1.29.0/go.mod h1:72NOVjJXHY/HBfoLT0+qlCZBT059+9VXLeAnL2PeeVM=
cloud.google.com/go/storage v1.63.0/go.mod h1:tirWVptrFNo5GEX2DQ47JooF7yaweJdAJ1hYAVMvKzE=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
filippo.io/edwards25519 v1.2.0/go.mod h1:xzAOLCNug/yB62zG1bQ8uziwrIqIuxhctzJT18Q77mc=
firebase.google.com/go v3.13.0+incompatible/go.mod h1:xlah6XbEyW6tbfSklcfe5FHJIwjt8toICdV5Wh9ptHs=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.33.0/go.mod h1:pJTkW8hEUIIi3Pf65lPZOnn4Y81yCllX6IWk2jNXdkM=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.57.0/go.mod h1:8lmpHY+1VRoteiOwyrQMDt1YGXOrFKCz+1wJW7n3ODY=
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.57.0/go.mod h1:YqwkQPrWSC7+byyc1VlKbWLBF5JsW5IoL6xUkemYSXk=
github.com/aws/aws-sdk-go-v2 v1.42.1/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14/go.mod h1:zwM6veDkhGgQFqkBy+uT28AAYpLu+uFMlPl+rCg/73E=
github.com/aws/aws-sdk-go-v2/config v1.32.27/go.mod h1:uBfrzTRedDmB2u+b6+UlaKJy2O6VSH5un2jP24t/KvQ=
github.com/aws/aws-sdk-go-v2/credentials v1.19.26/go.mod h1:lBckz+W9SAdNtSDw3pYgQUJDJFcBBWry0GSzw+bK0TY=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30/go.mod h1:/3AOgy4K17Dm4ucMZVC/MJkzy5kmfKUcINRHZyo0koQ=
github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.2.13/go.mod h1:ycxBs1ztF7RbxNWiJoIegPCvsfuO7dCvtyyloQvRgNs=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30/go.mod h1:WueJeNDZvK1fMYEWJIkcivBfEzUkTpBhzlrUKKY8EuA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30/go.mod h1:1hTMsAgbdS/AtUi4bw8+gUuh1pceo+eXRLfpSuSQj3M=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31/go.mod h1:7PuV1yl5e2xnUbm+RqvVg5i2iBM8EyijZNoI9wsOoOc=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.23/go.mod h1:iMoT2f1tClxrWAAnKCXjZQ6LOmfLrMG14wmnWpM+F14=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30/go.mod h1:lEzEZnOosE7zi8Z6royW1cFJTD9fpab4Ul1SBrllewk=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.31/go.mod h1:I/1+z0VwL1GhQyLgkoHDlygpUZ+iTAwOQ/NsftiUL2I=
github.com/aws/aws-sdk-go-v2/service/s3 v1.104.2/go.mod h1:zdmCoFO/dSI7GlrwsPqFJI+WlFnSU4Tc8TJnlXrM1Do=
github.com/aws/aws-sdk-go-v2/service/signin v1.2.2/go.mod h1:mxC0nT/C8wMMS97DemZPzvUZxvIt+2Iq+eS3JdFZGgg=
github.com/aws/aws-sdk-go-v2/service/sso v1.31.5/go.mod h1:u8af9Nqkmqnr96f7v9nHqzZT9XBwbXEkTiqT4ROuJSE=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.8/go.mod h1:DMPWJBjYs6+3+f/qhBFEFPPlQ6NlhWjai3dJNvipJ84=
github.com/aws/aws-sdk-go-v2/service/sts v1.43.5/go.mod h1:9gdl4RrflIdpDb2TlXshWgR1F9TeCkvqDx77Vpr4Z/Q=
github.com/aws/smithy-go v1.27.3/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cncf/xds/go v0.0.0-20260202195803-dba9d589def2/go.mod h1:qwXFYgsP6T7XnJtbKlf1HP8AjxZZyzxMmc+Lq5GjlU4=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane/envoy v1.37.0/go.mod h1:DReE9MMrmecPy+YvQOAOHNYMALuowAnbjjEMkkWOi6A=
github.com/envoyproxy/protoc-gen-validate v1.3.3/go.mod h1:TsndJ/ngyIdQRhMcVVGDDHINPLWB7C82oDArY51KfB0=
github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
github.com/go-sql-driver/mysql v1.10.0/go.mod h1:M+cqaI7+xxXGG9swrdeUIoPG3Y3KCkF0pZej+SK+nWk=
github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.17/go.mod h1:rSEsBUemEBZEexP2y6jPp16LUmUbjmSbcPMQizR0o4k=
github.com/googleapis/gax-go/v2 v2.22.0/go.mod h1:irWBbALSr0Sk3qlqb9SyJ1h68WjgeFuiOzI4Rqw5+aY=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.10.0/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY=
github.com/klauspost/compress v1.19.0/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/montanaflynn/stats v0.9.0/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nyaruka/phonenumbers v1.8.0/go.mod h1:fsKPJ70O9JetEA4ggnJadYTFWwtGPvu/lETTXNXq6Cs=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
github.com/prometheus/common v0.69.0/go.mod h1:ZzL3f6u94qUxh9p+tJTrF+FvBS1XXbbRAZCQkytAL0Y=
github.com/prometheus/procfs v0.21.1/go.mod h1:aB55Cww9pdSJVHk0hUf0inxWyyjPogFIjmHKYgMKmtY=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g=
github.com/spiffe/go-spiffe/v2 v2.8.1/go.mod h1:47Q0Q9/AqGha8QLHp+kxpH4Wca7X7EnOtlIJy3mxZ3U=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/tinode/jsonco v1.0.0/go.mod h1:Bnavu3302Qfn2pILMNwASkelodgeew3IvDrbdzU84u8=
github.com/tinode/snowflake v1.0.0/go.mod h1:5JiaCe3o7QdDeyRcAeZBGVghwRS+ygt2CF/hxmAoptQ=
github.com/twilio/twilio-go v1.30.9/go.mod h1:QbitvbvtkV77Jn4BABAKVmxabYSjMyQG4tHey9gfPqg=
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.2.0/go.mod h1:3dlrS0iBaWKYVt2ZfA4cj48umJZ+cAEbR6/SjLA88I8=
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.mongodb.org/mongo-driver v1.17.9/go.mod h1:LlOhpH5NUEfhxcAwG0UEkMqwYcc4JU18gtCdGudk/tQ=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/detectors/gcp v1.44.0/go.mod h1:tNAsgd8avTGke1+MndXlU5Cru4PQ9Ai/cCNWQv/ZJ/s=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.69.0/go.mod h1:D7J12YRapIekYyPWgGPlA/23pRmpSEZC5xJC/TTLI9U=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI=
go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc=
go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo=
go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0=
go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA=
go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4=
golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.287.0/go.mod h1:pPW85yt3Iuc3unkpaMhFtMmOqnTdCwCqEOaUlnuxRlQ=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20260630182238-925bb5da69e7/go.mod h1:LwlOWYBU335L+sR55UuR5fbbU8KmEX+3tUHf3SwMmhM=
google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7/go.mod h1:KqHwBx2upmfa1XSi1WuRvC+2VGCLtooKkfmyvRbUmqA=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.82.0/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
gopkg.in/cenkalti/backoff.v2 v2.2.1/go.mod h1:S0QdOvT2AlerfSBkp0O+dk+bbIMaNbEmVk876gPCthU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.2/go.mod h1:c7Wo0IjB7JL9B9Avv0UZKorYJCUhiergpj3u1WtGT1E=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
View File
View File
View File
View File
View File
View File
View File
View File
View File

Some files were not shown because too many files have changed in this diff Show More