diff --git a/README.md b/README.md
index c2eb5d52..4c813a11 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,6 @@
> 本项目为开源项目,在[One API](https://github.com/songquanpeng/one-api)的基础上进行二次开发,感谢原作者的无私奉献。
> 使用者必须在遵循 OpenAI 的[使用条款](https://openai.com/policies/terms-of-use)以及**法律法规**的情况下使用,不得用于非法用途。
-
-> [!WARNING]
> 本项目为个人学习使用,不保证稳定性,且不提供任何技术支持,使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。
> 根据[《生成式人工智能服务管理暂行办法》](http://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm)的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。
@@ -85,8 +83,13 @@
```
可以实现400错误转为500错误,从而重试
+## 比原版One API多出的配置
+- `STREAMING_TIMEOUT`:设置流式一次回复的超时时间,默认为 30 秒
## 部署
+### 部署要求
+- 本地数据库(默认):SQLite(Docker 部署默认使用 SQLite,必须挂载 `/data` 目录到宿主机)
+- 远程数据库:MySQL 版本 >= 5.7.8,PgSQL 版本 >= 9.6
### 基于 Docker 进行部署
```shell
# 使用 SQLite 的部署命令:
diff --git a/common/constants.go b/common/constants.go
index 8519202b..df33e802 100644
--- a/common/constants.go
+++ b/common/constants.go
@@ -120,14 +120,14 @@ var IsMasterNode = os.Getenv("NODE_TYPE") != "slave"
var requestInterval, _ = strconv.Atoi(os.Getenv("POLLING_INTERVAL"))
var RequestInterval = time.Duration(requestInterval) * time.Second
-var SyncFrequency = GetOrDefault("SYNC_FREQUENCY", 60) // unit is second
+var SyncFrequency = GetEnvOrDefault("SYNC_FREQUENCY", 60) // unit is second
var BatchUpdateEnabled = false
-var BatchUpdateInterval = GetOrDefault("BATCH_UPDATE_INTERVAL", 5)
+var BatchUpdateInterval = GetEnvOrDefault("BATCH_UPDATE_INTERVAL", 5)
-var RelayTimeout = GetOrDefault("RELAY_TIMEOUT", 0) // unit is second
+var RelayTimeout = GetEnvOrDefault("RELAY_TIMEOUT", 0) // unit is second
-var GeminiSafetySetting = GetOrDefaultString("GEMINI_SAFETY_SETTING", "BLOCK_NONE")
+var GeminiSafetySetting = GetEnvOrDefaultString("GEMINI_SAFETY_SETTING", "BLOCK_NONE")
const (
RequestIdKey = "X-Oneapi-Request-Id"
@@ -150,10 +150,10 @@ var (
// All duration's unit is seconds
// Shouldn't larger then RateLimitKeyExpirationDuration
var (
- GlobalApiRateLimitNum = GetOrDefault("GLOBAL_API_RATE_LIMIT", 180)
+ GlobalApiRateLimitNum = GetEnvOrDefault("GLOBAL_API_RATE_LIMIT", 180)
GlobalApiRateLimitDuration int64 = 3 * 60
- GlobalWebRateLimitNum = GetOrDefault("GLOBAL_WEB_RATE_LIMIT", 60)
+ GlobalWebRateLimitNum = GetEnvOrDefault("GLOBAL_WEB_RATE_LIMIT", 60)
GlobalWebRateLimitDuration int64 = 3 * 60
UploadRateLimitNum = 10
diff --git a/common/env.go b/common/env.go
new file mode 100644
index 00000000..856fa61e
--- /dev/null
+++ b/common/env.go
@@ -0,0 +1,26 @@
+package common
+
+import (
+ "fmt"
+ "os"
+ "strconv"
+)
+
+func GetEnvOrDefault(env string, defaultValue int) int {
+ if env == "" || os.Getenv(env) == "" {
+ return defaultValue
+ }
+ num, err := strconv.Atoi(os.Getenv(env))
+ if err != nil {
+ SysError(fmt.Sprintf("failed to parse %s: %s, using default value: %d", env, err.Error(), defaultValue))
+ return defaultValue
+ }
+ return num
+}
+
+func GetEnvOrDefaultString(env string, defaultValue string) string {
+ if env == "" || os.Getenv(env) == "" {
+ return defaultValue
+ }
+ return os.Getenv(env)
+}
diff --git a/common/go-channel.go b/common/go-channel.go
index 8cd49aed..3fc86537 100644
--- a/common/go-channel.go
+++ b/common/go-channel.go
@@ -3,6 +3,7 @@ package common
import (
"fmt"
"runtime/debug"
+ "time"
)
func SafeGoroutine(f func()) {
@@ -45,3 +46,21 @@ func SafeSendString(ch chan string, value string) (closed bool) {
// If the code reaches here, then the channel was not closed.
return false
}
+
+// SafeSendStringTimeout send, return true, else return false
+func SafeSendStringTimeout(ch chan string, value string, timeout int) (closed bool) {
+ defer func() {
+ // Recover from panic if one occured. A panic would mean the channel was closed.
+ if recover() != nil {
+ closed = false
+ }
+ }()
+
+ // This will panic if the channel is closed.
+ select {
+ case ch <- value:
+ return true
+ case <-time.After(time.Duration(timeout) * time.Second):
+ return false
+ }
+}
diff --git a/common/group-ratio.go b/common/group-ratio.go
index 1ec73c78..416ba037 100644
--- a/common/group-ratio.go
+++ b/common/group-ratio.go
@@ -1,6 +1,8 @@
package common
-import "encoding/json"
+import (
+ "encoding/json"
+)
var GroupRatio = map[string]float64{
"default": 1,
diff --git a/common/model-ratio.go b/common/model-ratio.go
index eca17133..26472255 100644
--- a/common/model-ratio.go
+++ b/common/model-ratio.go
@@ -114,6 +114,7 @@ var defaultModelRatio = map[string]float64{
"SparkDesk-v2.1": 1.2858, // ¥0.018 / 1k tokens
"SparkDesk-v3.1": 1.2858, // ¥0.018 / 1k tokens
"SparkDesk-v3.5": 1.2858, // ¥0.018 / 1k tokens
+ "SparkDesk-v4.0": 1.2858,
"360GPT_S2_V9": 0.8572, // ¥0.012 / 1k tokens
"360gpt-turbo": 0.0858, // ¥0.0012 / 1k tokens
"360gpt-turbo-responsibility-8k": 0.8572, // ¥0.012 / 1k tokens
diff --git a/common/topup-ratio.go b/common/topup-ratio.go
index e045d9b7..8f03395d 100644
--- a/common/topup-ratio.go
+++ b/common/topup-ratio.go
@@ -1,6 +1,8 @@
package common
-import "encoding/json"
+import (
+ "encoding/json"
+)
var TopupGroupRatio = map[string]float64{
"default": 1,
diff --git a/common/utils.go b/common/utils.go
index 8c4bffbe..7059a78a 100644
--- a/common/utils.go
+++ b/common/utils.go
@@ -13,7 +13,6 @@ import (
"net"
"net/http"
"net/url"
- "os"
"os/exec"
"runtime"
"strconv"
@@ -196,25 +195,6 @@ func Max(a int, b int) int {
}
}
-func GetOrDefault(env string, defaultValue int) int {
- if env == "" || os.Getenv(env) == "" {
- return defaultValue
- }
- num, err := strconv.Atoi(os.Getenv(env))
- if err != nil {
- SysError(fmt.Sprintf("failed to parse %s: %s, using default value: %d", env, err.Error(), defaultValue))
- return defaultValue
- }
- return num
-}
-
-func GetOrDefaultString(env string, defaultValue string) string {
- if env == "" || os.Getenv(env) == "" {
- return defaultValue
- }
- return os.Getenv(env)
-}
-
func MessageWithRequestId(message string, id string) string {
return fmt.Sprintf("%s (request id: %s)", message, id)
}
diff --git a/constant/env.go b/constant/env.go
new file mode 100644
index 00000000..6355a6b6
--- /dev/null
+++ b/constant/env.go
@@ -0,0 +1,7 @@
+package constant
+
+import (
+ "one-api/common"
+)
+
+var StreamingTimeout = common.GetEnvOrDefault("STREAMING_TIMEOUT", 30)
diff --git a/controller/channel-test.go b/controller/channel-test.go
index 13898750..37c18764 100644
--- a/controller/channel-test.go
+++ b/controller/channel-test.go
@@ -222,16 +222,18 @@ func testAllChannels(notify bool) error {
if channel.AutoBan != nil && *channel.AutoBan == 0 {
ban = false
}
- openAiErrWithStatus := dto.OpenAIErrorWithStatusCode{
- StatusCode: -1,
- Error: *openaiErr,
- LocalError: false,
- }
- if isChannelEnabled && service.ShouldDisableChannel(&openAiErrWithStatus) && ban {
- service.DisableChannel(channel.Id, channel.Name, err.Error())
- }
- if !isChannelEnabled && service.ShouldEnableChannel(err, openaiErr, channel.Status) {
- service.EnableChannel(channel.Id, channel.Name)
+ if openaiErr != nil {
+ openAiErrWithStatus := dto.OpenAIErrorWithStatusCode{
+ StatusCode: -1,
+ Error: *openaiErr,
+ LocalError: false,
+ }
+ if isChannelEnabled && service.ShouldDisableChannel(&openAiErrWithStatus) && ban {
+ service.DisableChannel(channel.Id, channel.Name, err.Error())
+ }
+ if !isChannelEnabled && service.ShouldEnableChannel(err, openaiErr, channel.Status) {
+ service.EnableChannel(channel.Id, channel.Name)
+ }
}
channel.UpdateResponseTime(milliseconds)
time.Sleep(common.RequestInterval)
diff --git a/controller/midjourney.go b/controller/midjourney.go
index 2d134a5a..2d538f1a 100644
--- a/controller/midjourney.go
+++ b/controller/midjourney.go
@@ -19,9 +19,6 @@ import (
)
func UpdateMidjourneyTaskBulk() {
- if !common.IsMasterNode {
- return
- }
//imageModel := "midjourney"
ctx := context.TODO()
for {
diff --git a/dto/pricing.go b/dto/pricing.go
index b0497491..ee77c098 100644
--- a/dto/pricing.go
+++ b/dto/pricing.go
@@ -24,14 +24,3 @@ type OpenAIModels struct {
Root string `json:"root"`
Parent *string `json:"parent"`
}
-
-type ModelPricing struct {
- Available bool `json:"available"`
- ModelName string `json:"model_name"`
- QuotaType int `json:"quota_type"`
- ModelRatio float64 `json:"model_ratio"`
- ModelPrice float64 `json:"model_price"`
- OwnerBy string `json:"owner_by"`
- CompletionRatio float64 `json:"completion_ratio"`
- EnableGroup []string `json:"enable_group,omitempty"`
-}
diff --git a/main.go b/main.go
index ba4f5c65..e929e0cb 100644
--- a/main.go
+++ b/main.go
@@ -89,12 +89,14 @@ func main() {
}
go controller.AutomaticallyTestChannels(frequency)
}
- common.SafeGoroutine(func() {
- controller.UpdateMidjourneyTaskBulk()
- })
- common.SafeGoroutine(func() {
- controller.UpdateTaskBulk()
- })
+ if common.IsMasterNode {
+ common.SafeGoroutine(func() {
+ controller.UpdateMidjourneyTaskBulk()
+ })
+ common.SafeGoroutine(func() {
+ controller.UpdateTaskBulk()
+ })
+ }
if os.Getenv("BATCH_UPDATE_ENABLED") == "true" {
common.BatchUpdateEnabled = true
common.SysLog("batch update enabled with interval " + strconv.Itoa(common.BatchUpdateInterval) + "s")
diff --git a/model/ability.go b/model/ability.go
index 8d2d4f8e..2733f6cd 100644
--- a/model/ability.go
+++ b/model/ability.go
@@ -56,6 +56,11 @@ func getPriority(group string, model string, retry int) (int, error) {
return 0, err
}
+ if len(priorities) == 0 {
+ // 如果没有查询到优先级,则返回错误
+ return 0, errors.New("数据库一致性被破坏")
+ }
+
// 确定要使用的优先级
var priorityToUse int
if retry >= len(priorities) {
@@ -199,7 +204,7 @@ func FixAbility() (int, error) {
// Use channelIds to find channel not in abilities table
var abilityChannelIds []int
- err = DB.Model(&Ability{}).Pluck("channel_id", &abilityChannelIds).Error
+ err = DB.Table("abilities").Distinct("channel_id").Pluck("channel_id", &abilityChannelIds).Error
if err != nil {
common.SysError(fmt.Sprintf("Get channel ids from abilities table failed: %s", err.Error()))
return 0, err
diff --git a/model/main.go b/model/main.go
index 710ea059..a70f21bd 100644
--- a/model/main.go
+++ b/model/main.go
@@ -86,9 +86,9 @@ func InitDB() (err error) {
if err != nil {
return err
}
- sqlDB.SetMaxIdleConns(common.GetOrDefault("SQL_MAX_IDLE_CONNS", 100))
- sqlDB.SetMaxOpenConns(common.GetOrDefault("SQL_MAX_OPEN_CONNS", 1000))
- sqlDB.SetConnMaxLifetime(time.Second * time.Duration(common.GetOrDefault("SQL_MAX_LIFETIME", 60)))
+ sqlDB.SetMaxIdleConns(common.GetEnvOrDefault("SQL_MAX_IDLE_CONNS", 100))
+ sqlDB.SetMaxOpenConns(common.GetEnvOrDefault("SQL_MAX_OPEN_CONNS", 1000))
+ sqlDB.SetConnMaxLifetime(time.Second * time.Duration(common.GetEnvOrDefault("SQL_MAX_LIFETIME", 60)))
if !common.IsMasterNode {
return nil
diff --git a/model/pricing.go b/model/pricing.go
index 90d8bc7e..7384a2fa 100644
--- a/model/pricing.go
+++ b/model/pricing.go
@@ -2,18 +2,28 @@ package model
import (
"one-api/common"
- "one-api/dto"
"sync"
"time"
)
+type Pricing struct {
+ Available bool `json:"available"`
+ ModelName string `json:"model_name"`
+ QuotaType int `json:"quota_type"`
+ ModelRatio float64 `json:"model_ratio"`
+ ModelPrice float64 `json:"model_price"`
+ OwnerBy string `json:"owner_by"`
+ CompletionRatio float64 `json:"completion_ratio"`
+ EnableGroup []string `json:"enable_group,omitempty"`
+}
+
var (
- pricingMap []dto.ModelPricing
+ pricingMap []Pricing
lastGetPricingTime time.Time
updatePricingLock sync.Mutex
)
-func GetPricing(group string) []dto.ModelPricing {
+func GetPricing(group string) []Pricing {
updatePricingLock.Lock()
defer updatePricingLock.Unlock()
@@ -21,7 +31,7 @@ func GetPricing(group string) []dto.ModelPricing {
updatePricing()
}
if group != "" {
- userPricingMap := make([]dto.ModelPricing, 0)
+ userPricingMap := make([]Pricing, 0)
models := GetGroupModels(group)
for _, pricing := range pricingMap {
if !common.StringsContains(models, pricing.ModelName) {
@@ -42,9 +52,9 @@ func updatePricing() {
allModels[model] = i
}
- pricingMap = make([]dto.ModelPricing, 0)
+ pricingMap = make([]Pricing, 0)
for model, _ := range allModels {
- pricing := dto.ModelPricing{
+ pricing := Pricing{
Available: true,
ModelName: model,
}
diff --git a/relay/channel/aws/relay-aws.go b/relay/channel/aws/relay-aws.go
index 1438f104..125f6f2e 100644
--- a/relay/channel/aws/relay-aws.go
+++ b/relay/channel/aws/relay-aws.go
@@ -14,6 +14,7 @@ import (
"one-api/relay/channel/claude"
relaycommon "one-api/relay/common"
"strings"
+ "time"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/credentials"
@@ -156,6 +157,7 @@ func awsStreamHandler(c *gin.Context, info *relaycommon.RelayInfo, requestMode i
var usage relaymodel.Usage
var id string
var model string
+ isFirst := true
createdTime := common.GetTimestamp()
c.Stream(func(w io.Writer) bool {
event, ok := <-stream.Events()
@@ -166,6 +168,10 @@ func awsStreamHandler(c *gin.Context, info *relaycommon.RelayInfo, requestMode i
switch v := event.(type) {
case *types.ResponseStreamMemberChunk:
+ if isFirst {
+ isFirst = false
+ info.FirstResponseTime = time.Now()
+ }
claudeResp := new(claude.ClaudeResponse)
err := json.NewDecoder(bytes.NewReader(v.Value.Bytes)).Decode(claudeResp)
if err != nil {
diff --git a/relay/channel/claude/adaptor.go b/relay/channel/claude/adaptor.go
index 9add2081..d3022655 100644
--- a/relay/channel/claude/adaptor.go
+++ b/relay/channel/claude/adaptor.go
@@ -65,7 +65,7 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) {
if info.IsStream {
- err, usage = claudeStreamHandler(a.RequestMode, info.UpstreamModelName, info.PromptTokens, c, resp)
+ err, usage = claudeStreamHandler(c, resp, info, a.RequestMode)
} else {
err, usage = claudeHandler(a.RequestMode, c, resp, info.PromptTokens, info.UpstreamModelName)
}
diff --git a/relay/channel/claude/constants.go b/relay/channel/claude/constants.go
index 2ad75077..7d86e66d 100644
--- a/relay/channel/claude/constants.go
+++ b/relay/channel/claude/constants.go
@@ -8,6 +8,7 @@ var ModelList = []string{
"claude-3-sonnet-20240229",
"claude-3-opus-20240229",
"claude-3-haiku-20240307",
+ "claude-3-5-sonnet-20240620",
}
var ChannelName = "claude"
diff --git a/relay/channel/claude/relay-claude.go b/relay/channel/claude/relay-claude.go
index 35dd40b9..abadce32 100644
--- a/relay/channel/claude/relay-claude.go
+++ b/relay/channel/claude/relay-claude.go
@@ -8,9 +8,12 @@ import (
"io"
"net/http"
"one-api/common"
+ "one-api/constant"
"one-api/dto"
+ relaycommon "one-api/relay/common"
"one-api/service"
"strings"
+ "time"
)
func stopReasonClaude2OpenAI(reason string) string {
@@ -246,7 +249,7 @@ func ResponseClaude2OpenAI(reqMode int, claudeResponse *ClaudeResponse) *dto.Ope
return &fullTextResponse
}
-func claudeStreamHandler(requestMode int, modelName string, promptTokens int, c *gin.Context, resp *http.Response) (*dto.OpenAIErrorWithStatusCode, *dto.Usage) {
+func claudeStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo, requestMode int) (*dto.OpenAIErrorWithStatusCode, *dto.Usage) {
responseId := fmt.Sprintf("chatcmpl-%s", common.GetUUID())
var usage *dto.Usage
usage = &dto.Usage{}
@@ -265,8 +268,8 @@ func claudeStreamHandler(requestMode int, modelName string, promptTokens int, c
}
return 0, nil, nil
})
- dataChan := make(chan string)
- stopChan := make(chan bool)
+ dataChan := make(chan string, 5)
+ stopChan := make(chan bool, 2)
go func() {
for scanner.Scan() {
data := scanner.Text()
@@ -274,14 +277,23 @@ func claudeStreamHandler(requestMode int, modelName string, promptTokens int, c
continue
}
data = strings.TrimPrefix(data, "data: ")
- dataChan <- data
+ if !common.SafeSendStringTimeout(dataChan, data, constant.StreamingTimeout) {
+ // send data timeout, stop the stream
+ common.LogError(c, "send data timeout, stop the stream")
+ break
+ }
}
stopChan <- true
}()
+ isFirst := true
service.SetEventStreamHeaders(c)
c.Stream(func(w io.Writer) bool {
select {
case data := <-dataChan:
+ if isFirst {
+ isFirst = false
+ info.FirstResponseTime = time.Now()
+ }
// some implementations may add \r at the end of data
data = strings.TrimSuffix(data, "\r")
var claudeResponse ClaudeResponse
@@ -302,7 +314,7 @@ func claudeStreamHandler(requestMode int, modelName string, promptTokens int, c
if claudeResponse.Type == "message_start" {
// message_start, 获取usage
responseId = claudeResponse.Message.Id
- modelName = claudeResponse.Message.Model
+ info.UpstreamModelName = claudeResponse.Message.Model
usage.PromptTokens = claudeUsage.InputTokens
} else if claudeResponse.Type == "content_block_delta" {
responseText += claudeResponse.Delta.Text
@@ -316,7 +328,7 @@ func claudeStreamHandler(requestMode int, modelName string, promptTokens int, c
//response.Id = responseId
response.Id = responseId
response.Created = createdTime
- response.Model = modelName
+ response.Model = info.UpstreamModelName
jsonStr, err := json.Marshal(response)
if err != nil {
@@ -335,13 +347,13 @@ func claudeStreamHandler(requestMode int, modelName string, promptTokens int, c
return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), nil
}
if requestMode == RequestModeCompletion {
- usage, _ = service.ResponseText2Usage(responseText, modelName, promptTokens)
+ usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
} else {
if usage.PromptTokens == 0 {
- usage.PromptTokens = promptTokens
+ usage.PromptTokens = info.PromptTokens
}
if usage.CompletionTokens == 0 {
- usage, _ = service.ResponseText2Usage(responseText, modelName, usage.PromptTokens)
+ usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, usage.PromptTokens)
}
}
return nil, usage
diff --git a/relay/channel/cohere/adaptor.go b/relay/channel/cohere/adaptor.go
index 44b7f38a..cd01634f 100644
--- a/relay/channel/cohere/adaptor.go
+++ b/relay/channel/cohere/adaptor.go
@@ -36,7 +36,7 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) {
if info.IsStream {
- err, usage = cohereStreamHandler(c, resp, info.UpstreamModelName, info.PromptTokens)
+ err, usage = cohereStreamHandler(c, resp, info)
} else {
err, usage = cohereHandler(c, resp, info.UpstreamModelName, info.PromptTokens)
}
diff --git a/relay/channel/cohere/relay-cohere.go b/relay/channel/cohere/relay-cohere.go
index 463e8b1c..cc424b02 100644
--- a/relay/channel/cohere/relay-cohere.go
+++ b/relay/channel/cohere/relay-cohere.go
@@ -9,8 +9,10 @@ import (
"net/http"
"one-api/common"
"one-api/dto"
+ relaycommon "one-api/relay/common"
"one-api/service"
"strings"
+ "time"
)
func requestOpenAI2Cohere(textRequest dto.GeneralOpenAIRequest) *CohereRequest {
@@ -56,7 +58,7 @@ func stopReasonCohere2OpenAI(reason string) string {
}
}
-func cohereStreamHandler(c *gin.Context, resp *http.Response, modelName string, promptTokens int) (*dto.OpenAIErrorWithStatusCode, *dto.Usage) {
+func cohereStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (*dto.OpenAIErrorWithStatusCode, *dto.Usage) {
responseId := fmt.Sprintf("chatcmpl-%s", common.GetUUID())
createdTime := common.GetTimestamp()
usage := &dto.Usage{}
@@ -84,9 +86,14 @@ func cohereStreamHandler(c *gin.Context, resp *http.Response, modelName string,
stopChan <- true
}()
service.SetEventStreamHeaders(c)
+ isFirst := true
c.Stream(func(w io.Writer) bool {
select {
case data := <-dataChan:
+ if isFirst {
+ isFirst = false
+ info.FirstResponseTime = time.Now()
+ }
data = strings.TrimSuffix(data, "\r")
var cohereResp CohereResponse
err := json.Unmarshal([]byte(data), &cohereResp)
@@ -98,7 +105,7 @@ func cohereStreamHandler(c *gin.Context, resp *http.Response, modelName string,
openaiResp.Id = responseId
openaiResp.Created = createdTime
openaiResp.Object = "chat.completion.chunk"
- openaiResp.Model = modelName
+ openaiResp.Model = info.UpstreamModelName
if cohereResp.IsFinished {
finishReason := stopReasonCohere2OpenAI(cohereResp.FinishReason)
openaiResp.Choices = []dto.ChatCompletionsStreamResponseChoice{
@@ -137,7 +144,7 @@ func cohereStreamHandler(c *gin.Context, resp *http.Response, modelName string,
}
})
if usage.PromptTokens == 0 {
- usage, _ = service.ResponseText2Usage(responseText, modelName, promptTokens)
+ usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
}
return nil, usage
}
diff --git a/relay/channel/gemini/adaptor.go b/relay/channel/gemini/adaptor.go
index d372d82b..875361c3 100644
--- a/relay/channel/gemini/adaptor.go
+++ b/relay/channel/gemini/adaptor.go
@@ -20,27 +20,27 @@ func (a *Adaptor) Init(info *relaycommon.RelayInfo, request dto.GeneralOpenAIReq
// 定义一个映射,存储模型名称和对应的版本
var modelVersionMap = map[string]string{
- "gemini-1.5-pro-latest": "v1beta",
- "gemini-1.5-flash-latest": "v1beta",
- "gemini-ultra": "v1beta",
+ "gemini-1.5-pro-latest": "v1beta",
+ "gemini-1.5-flash-latest": "v1beta",
+ "gemini-ultra": "v1beta",
}
func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
- // 从映射中获取模型名称对应的版本,如果找不到就使用 info.ApiVersion 或默认的版本 "v1"
- version, beta := modelVersionMap[info.UpstreamModelName]
- if !beta {
- if info.ApiVersion != "" {
- version = info.ApiVersion
- } else {
- version = "v1"
- }
- }
+ // 从映射中获取模型名称对应的版本,如果找不到就使用 info.ApiVersion 或默认的版本 "v1"
+ version, beta := modelVersionMap[info.UpstreamModelName]
+ if !beta {
+ if info.ApiVersion != "" {
+ version = info.ApiVersion
+ } else {
+ version = "v1"
+ }
+ }
- action := "generateContent"
- if info.IsStream {
- action = "streamGenerateContent"
- }
- return fmt.Sprintf("%s/%s/models/%s:%s", info.BaseUrl, version, info.UpstreamModelName, action), nil
+ action := "generateContent"
+ if info.IsStream {
+ action = "streamGenerateContent"
+ }
+ return fmt.Sprintf("%s/%s/models/%s:%s", info.BaseUrl, version, info.UpstreamModelName, action), nil
}
func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, info *relaycommon.RelayInfo) error {
@@ -63,7 +63,7 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) {
if info.IsStream {
var responseText string
- err, responseText = geminiChatStreamHandler(c, resp)
+ err, responseText = geminiChatStreamHandler(c, resp, info)
usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
} else {
err, usage = geminiChatHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
diff --git a/relay/channel/gemini/relay-gemini.go b/relay/channel/gemini/relay-gemini.go
index 79644af3..7e6481ab 100644
--- a/relay/channel/gemini/relay-gemini.go
+++ b/relay/channel/gemini/relay-gemini.go
@@ -7,10 +7,12 @@ import (
"io"
"net/http"
"one-api/common"
+ "one-api/constant"
"one-api/dto"
relaycommon "one-api/relay/common"
"one-api/service"
"strings"
+ "time"
"github.com/gin-gonic/gin"
)
@@ -160,10 +162,10 @@ func streamResponseGeminiChat2OpenAI(geminiResponse *GeminiChatResponse) *dto.Ch
return &response
}
-func geminiChatStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorWithStatusCode, string) {
+func geminiChatStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (*dto.OpenAIErrorWithStatusCode, string) {
responseText := ""
- dataChan := make(chan string)
- stopChan := make(chan bool)
+ dataChan := make(chan string, 5)
+ stopChan := make(chan bool, 2)
scanner := bufio.NewScanner(resp.Body)
scanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error) {
if atEOF && len(data) == 0 {
@@ -186,14 +188,23 @@ func geminiChatStreamHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIEr
}
data = strings.TrimPrefix(data, "\"text\": \"")
data = strings.TrimSuffix(data, "\"")
- dataChan <- data
+ if !common.SafeSendStringTimeout(dataChan, data, constant.StreamingTimeout) {
+ // send data timeout, stop the stream
+ common.LogError(c, "send data timeout, stop the stream")
+ break
+ }
}
stopChan <- true
}()
+ isFirst := true
service.SetEventStreamHeaders(c)
c.Stream(func(w io.Writer) bool {
select {
case data := <-dataChan:
+ if isFirst {
+ isFirst = false
+ info.FirstResponseTime = time.Now()
+ }
// this is used to prevent annoying \ related format bug
data = fmt.Sprintf("{\"content\": \"%s\"}", data)
type dummyStruct struct {
diff --git a/relay/channel/ollama/adaptor.go b/relay/channel/ollama/adaptor.go
index 89978895..e1225eee 100644
--- a/relay/channel/ollama/adaptor.go
+++ b/relay/channel/ollama/adaptor.go
@@ -52,7 +52,7 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) {
if info.IsStream {
var responseText string
- err, responseText, _ = openai.OpenaiStreamHandler(c, resp, info.RelayMode)
+ err, responseText, _ = openai.OpenaiStreamHandler(c, resp, info)
usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
} else {
if info.RelayMode == relayconstant.RelayModeEmbeddings {
diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go
index a0a5b075..58f5ab53 100644
--- a/relay/channel/openai/adaptor.go
+++ b/relay/channel/openai/adaptor.go
@@ -82,7 +82,7 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycom
if info.IsStream {
var responseText string
var toolCount int
- err, responseText, toolCount = OpenaiStreamHandler(c, resp, info.RelayMode)
+ err, responseText, toolCount = OpenaiStreamHandler(c, resp, info)
usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
usage.CompletionTokens += toolCount * 7
} else {
diff --git a/relay/channel/openai/relay-openai.go b/relay/channel/openai/relay-openai.go
index 8de0b3eb..5c2acf44 100644
--- a/relay/channel/openai/relay-openai.go
+++ b/relay/channel/openai/relay-openai.go
@@ -8,7 +8,9 @@ import (
"io"
"net/http"
"one-api/common"
+ "one-api/constant"
"one-api/dto"
+ relaycommon "one-api/relay/common"
relayconstant "one-api/relay/constant"
"one-api/service"
"strings"
@@ -16,7 +18,7 @@ import (
"time"
)
-func OpenaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*dto.OpenAIErrorWithStatusCode, string, int) {
+func OpenaiStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (*dto.OpenAIErrorWithStatusCode, string, int) {
//checkSensitive := constant.ShouldCheckCompletionSensitive()
var responseTextBuilder strings.Builder
toolCount := 0
@@ -50,14 +52,18 @@ func OpenaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*d
if data[:6] != "data: " && data[:6] != "[DONE]" {
continue
}
- common.SafeSendString(dataChan, data)
+ if !common.SafeSendStringTimeout(dataChan, data, constant.StreamingTimeout) {
+ // send data timeout, stop the stream
+ common.LogError(c, "send data timeout, stop the stream")
+ break
+ }
data = data[6:]
if !strings.HasPrefix(data, "[DONE]") {
streamItems = append(streamItems, data)
}
}
streamResp := "[" + strings.Join(streamItems, ",") + "]"
- switch relayMode {
+ switch info.RelayMode {
case relayconstant.RelayModeChatCompletions:
var streamResponses []dto.ChatCompletionsStreamResponseSimple
err := json.Unmarshal(common.StringToByteSlice(streamResp), &streamResponses)
@@ -126,9 +132,14 @@ func OpenaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*d
common.SafeSendBool(stopChan, true)
}()
service.SetEventStreamHeaders(c)
+ isFirst := true
c.Stream(func(w io.Writer) bool {
select {
case data := <-dataChan:
+ if isFirst {
+ isFirst = false
+ info.FirstResponseTime = time.Now()
+ }
if strings.HasPrefix(data, "data: [DONE]") {
data = data[:12]
}
@@ -187,7 +198,7 @@ func OpenaiHandler(c *gin.Context, resp *http.Response, promptTokens int, model
return service.OpenAIErrorWrapper(err, "close_response_body_failed", http.StatusInternalServerError), nil
}
- if simpleResponse.Usage.TotalTokens == 0 {
+ if simpleResponse.Usage.TotalTokens == 0 || (simpleResponse.Usage.PromptTokens == 0 && simpleResponse.Usage.CompletionTokens == 0) {
completionTokens := 0
for _, choice := range simpleResponse.Choices {
ctkm, _ := service.CountTokenText(string(choice.Message.Content), model)
diff --git a/relay/channel/perplexity/adaptor.go b/relay/channel/perplexity/adaptor.go
index 00d77108..ef87df80 100644
--- a/relay/channel/perplexity/adaptor.go
+++ b/relay/channel/perplexity/adaptor.go
@@ -46,7 +46,7 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) {
if info.IsStream {
var responseText string
- err, responseText, _ = openai.OpenaiStreamHandler(c, resp, info.RelayMode)
+ err, responseText, _ = openai.OpenaiStreamHandler(c, resp, info)
usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
} else {
err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName)
diff --git a/relay/channel/xunfei/constants.go b/relay/channel/xunfei/constants.go
index 80bed084..e19f0113 100644
--- a/relay/channel/xunfei/constants.go
+++ b/relay/channel/xunfei/constants.go
@@ -6,6 +6,7 @@ var ModelList = []string{
"SparkDesk-v2.1",
"SparkDesk-v3.1",
"SparkDesk-v3.5",
+ "SparkDesk-v4.0",
}
var ChannelName = "xunfei"
diff --git a/relay/channel/xunfei/relay-xunfei.go b/relay/channel/xunfei/relay-xunfei.go
index 7cb6c8a9..fdcda5d3 100644
--- a/relay/channel/xunfei/relay-xunfei.go
+++ b/relay/channel/xunfei/relay-xunfei.go
@@ -252,6 +252,8 @@ func apiVersion2domain(apiVersion string) string {
return "generalv3"
case "v3.5":
return "generalv3.5"
+ case "v4.0":
+ return "4.0Ultra"
}
return "general" + apiVersion
}
diff --git a/relay/channel/zhipu_4v/adaptor.go b/relay/channel/zhipu_4v/adaptor.go
index fe89ff42..040cf382 100644
--- a/relay/channel/zhipu_4v/adaptor.go
+++ b/relay/channel/zhipu_4v/adaptor.go
@@ -48,7 +48,7 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycom
if info.IsStream {
var responseText string
var toolCount int
- err, responseText, toolCount = openai.OpenaiStreamHandler(c, resp, info.RelayMode)
+ err, responseText, toolCount = openai.OpenaiStreamHandler(c, resp, info)
usage, _ = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens)
usage.CompletionTokens += toolCount * 7
} else {
diff --git a/relay/common/relay_info.go b/relay/common/relay_info.go
index f93d36a2..fc01d176 100644
--- a/relay/common/relay_info.go
+++ b/relay/common/relay_info.go
@@ -16,6 +16,7 @@ type RelayInfo struct {
Group string
TokenUnlimited bool
StartTime time.Time
+ FirstResponseTime time.Time
ApiType int
IsStream bool
RelayMode int
@@ -37,24 +38,26 @@ func GenRelayInfo(c *gin.Context) *RelayInfo {
group := c.GetString("group")
tokenUnlimited := c.GetBool("token_unlimited_quota")
startTime := time.Now()
+ // firstResponseTime = time.Now() - 1 second
apiType, _ := constant.ChannelType2APIType(channelType)
info := &RelayInfo{
- RelayMode: constant.Path2RelayMode(c.Request.URL.Path),
- BaseUrl: c.GetString("base_url"),
- RequestURLPath: c.Request.URL.String(),
- ChannelType: channelType,
- ChannelId: channelId,
- TokenId: tokenId,
- UserId: userId,
- Group: group,
- TokenUnlimited: tokenUnlimited,
- StartTime: startTime,
- ApiType: apiType,
- ApiVersion: c.GetString("api_version"),
- ApiKey: strings.TrimPrefix(c.Request.Header.Get("Authorization"), "Bearer "),
- Organization: c.GetString("channel_organization"),
+ RelayMode: constant.Path2RelayMode(c.Request.URL.Path),
+ BaseUrl: c.GetString("base_url"),
+ RequestURLPath: c.Request.URL.String(),
+ ChannelType: channelType,
+ ChannelId: channelId,
+ TokenId: tokenId,
+ UserId: userId,
+ Group: group,
+ TokenUnlimited: tokenUnlimited,
+ StartTime: startTime,
+ FirstResponseTime: startTime.Add(-time.Second),
+ ApiType: apiType,
+ ApiVersion: c.GetString("api_version"),
+ ApiKey: strings.TrimPrefix(c.Request.Header.Get("Authorization"), "Bearer "),
+ Organization: c.GetString("channel_organization"),
}
if info.BaseUrl == "" {
info.BaseUrl = common.ChannelBaseURLs[channelType]
diff --git a/relay/relay-mj.go b/relay/relay-mj.go
index ebdf7010..ce410c7d 100644
--- a/relay/relay-mj.go
+++ b/relay/relay-mj.go
@@ -538,7 +538,16 @@ func RelayMidjourneySubmit(c *gin.Context, relayMode int) *dto.MidjourneyRespons
ChannelId: c.GetInt("channel_id"),
Quota: quota,
}
-
+ if midjResponse.Code == 3 {
+ //无实例账号自动禁用渠道(No available account instance)
+ channel, err := model.GetChannelById(midjourneyTask.ChannelId, true)
+ if err != nil {
+ common.SysError("get_channel_null: " + err.Error())
+ }
+ if channel.AutoBan != nil && *channel.AutoBan == 1 {
+ model.UpdateChannelStatusById(midjourneyTask.ChannelId, 2, "No available account instance")
+ }
+ }
if midjResponse.Code != 1 && midjResponse.Code != 21 && midjResponse.Code != 22 {
//非1-提交成功,21-任务已存在和22-排队中,则记录错误原因
midjourneyTask.FailReason = midjResponse.Description
diff --git a/relay/relay-text.go b/relay/relay-text.go
index be7d3c78..d2bcf8dd 100644
--- a/relay/relay-text.go
+++ b/relay/relay-text.go
@@ -344,14 +344,7 @@ func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, textRe
logModel = "g-*"
logContent += fmt.Sprintf(",模型 %s", textRequest.Model)
}
- other := make(map[string]interface{})
- other["model_ratio"] = modelRatio
- other["group_ratio"] = groupRatio
- other["completion_ratio"] = completionRatio
- other["model_price"] = modelPrice
- adminInfo := make(map[string]interface{})
- adminInfo["use_channel"] = ctx.GetStringSlice("use_channel")
- other["admin_info"] = adminInfo
+ other := service.GenerateTextOtherInfo(ctx, relayInfo, modelRatio, groupRatio, completionRatio, modelPrice)
model.RecordConsumeLog(ctx, relayInfo.UserId, relayInfo.ChannelId, promptTokens, completionTokens, logModel, tokenName, quota, logContent, relayInfo.TokenId, userQuota, int(useTimeSeconds), relayInfo.IsStream, other)
//if quota != 0 {
diff --git a/service/log.go b/service/log.go
new file mode 100644
index 00000000..506effbe
--- /dev/null
+++ b/service/log.go
@@ -0,0 +1,19 @@
+package service
+
+import (
+ "github.com/gin-gonic/gin"
+ relaycommon "one-api/relay/common"
+)
+
+func GenerateTextOtherInfo(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, modelRatio, groupRatio, completionRatio, modelPrice float64) map[string]interface{} {
+ other := make(map[string]interface{})
+ other["model_ratio"] = modelRatio
+ other["group_ratio"] = groupRatio
+ other["completion_ratio"] = completionRatio
+ other["model_price"] = modelPrice
+ other["frt"] = float64(relayInfo.FirstResponseTime.UnixMilli() - relayInfo.StartTime.UnixMilli())
+ adminInfo := make(map[string]interface{})
+ adminInfo["use_channel"] = ctx.GetStringSlice("use_channel")
+ other["admin_info"] = adminInfo
+ return other
+}
diff --git a/service/sensitive.go b/service/sensitive.go
index a9b51983..17da69aa 100644
--- a/service/sensitive.go
+++ b/service/sensitive.go
@@ -3,7 +3,6 @@ package service
import (
"errors"
"fmt"
- "one-api/common"
"one-api/constant"
"one-api/dto"
"strings"
@@ -62,7 +61,7 @@ func SensitiveWordContains(text string) (bool, []string) {
}
checkText := strings.ToLower(text)
// 构建一个AC自动机
- m := common.InitAc()
+ m := InitAc()
hits := m.MultiPatternSearch([]rune(checkText), false)
if len(hits) > 0 {
words := make([]string, 0)
@@ -80,7 +79,7 @@ func SensitiveWordReplace(text string, returnImmediately bool) (bool, []string,
return false, nil, text
}
checkText := strings.ToLower(text)
- m := common.InitAc()
+ m := InitAc()
hits := m.MultiPatternSearch([]rune(checkText), returnImmediately)
if len(hits) > 0 {
words := make([]string, 0)
diff --git a/common/str.go b/service/str.go
similarity index 99%
rename from common/str.go
rename to service/str.go
index bab252c6..a2152bfe 100644
--- a/common/str.go
+++ b/service/str.go
@@ -1,4 +1,4 @@
-package common
+package service
import (
"bytes"
diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml
index 3e25e7c9..7b7acd9a 100644
--- a/web/pnpm-lock.yaml
+++ b/web/pnpm-lock.yaml
@@ -1,216 +1,164 @@
-lockfileVersion: '6.0'
+lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
-dependencies:
- '@douyinfe/semi-icons':
- specifier: ^2.46.1
- version: 2.53.2(react@18.2.0)
- '@douyinfe/semi-ui':
- specifier: ^2.55.3
- version: 2.55.3(react-dom@18.2.0)(react@18.2.0)
- '@visactor/react-vchart':
- specifier: ~1.8.8
- version: 1.8.11(react-dom@18.2.0)(react@18.2.0)
- '@visactor/vchart':
- specifier: ~1.8.8
- version: 1.8.11
- '@visactor/vchart-semi-theme':
- specifier: ~1.8.8
- version: 1.8.8(@visactor/vchart@1.8.11)
- axios:
- specifier: ^0.27.2
- version: 0.27.2
- dayjs:
- specifier: ^1.11.11
- version: 1.11.11
- history:
- specifier: ^5.3.0
- version: 5.3.0
- marked:
- specifier: ^4.1.1
- version: 4.3.0
- react:
- specifier: ^18.2.0
- version: 18.2.0
- react-dom:
- specifier: ^18.2.0
- version: 18.2.0(react@18.2.0)
- react-dropzone:
- specifier: ^14.2.3
- version: 14.2.3(react@18.2.0)
- react-fireworks:
- specifier: ^1.0.4
- version: 1.0.4
- react-router-dom:
- specifier: ^6.3.0
- version: 6.22.2(react-dom@18.2.0)(react@18.2.0)
- react-telegram-login:
- specifier: ^1.1.2
- version: 1.1.2(react@18.2.0)
- react-toastify:
- specifier: ^9.0.8
- version: 9.1.3(react-dom@18.2.0)(react@18.2.0)
- react-turnstile:
- specifier: ^1.0.5
- version: 1.1.3(react-dom@18.2.0)(react@18.2.0)
- semantic-ui-offline:
- specifier: ^2.5.0
- version: 2.5.0
- semantic-ui-react:
- specifier: ^2.1.3
- version: 2.1.5(react-dom@18.2.0)(react@18.2.0)
-
-devDependencies:
- '@so1ve/prettier-config':
- specifier: ^2.0.0
- version: 2.0.0(prettier@3.2.5)
- '@vitejs/plugin-react':
- specifier: ^4.2.1
- version: 4.2.1(vite@5.2.5)
- prettier:
- specifier: ^3.0.0
- version: 3.2.5
- typescript:
- specifier: 4.4.2
- version: 4.4.2
- vite:
- specifier: ^5.2.0
- version: 5.2.5
+importers:
+ .:
+ dependencies:
+ '@douyinfe/semi-icons':
+ specifier: ^2.46.1
+ version: 2.53.2(react@18.2.0)
+ '@douyinfe/semi-ui':
+ specifier: ^2.55.3
+ version: 2.55.3(react-dom@18.2.0)(react@18.2.0)
+ '@visactor/react-vchart':
+ specifier: ~1.8.8
+ version: 1.8.11(react-dom@18.2.0)(react@18.2.0)
+ '@visactor/vchart':
+ specifier: ~1.8.8
+ version: 1.8.11
+ '@visactor/vchart-semi-theme':
+ specifier: ~1.8.8
+ version: 1.8.8(@visactor/vchart@1.8.11)
+ axios:
+ specifier: ^0.27.2
+ version: 0.27.2
+ dayjs:
+ specifier: ^1.11.11
+ version: 1.11.11
+ history:
+ specifier: ^5.3.0
+ version: 5.3.0
+ marked:
+ specifier: ^4.1.1
+ version: 4.3.0
+ react:
+ specifier: ^18.2.0
+ version: 18.2.0
+ react-dom:
+ specifier: ^18.2.0
+ version: 18.2.0(react@18.2.0)
+ react-dropzone:
+ specifier: ^14.2.3
+ version: 14.2.3(react@18.2.0)
+ react-fireworks:
+ specifier: ^1.0.4
+ version: 1.0.4
+ react-router-dom:
+ specifier: ^6.3.0
+ version: 6.22.2(react-dom@18.2.0)(react@18.2.0)
+ react-telegram-login:
+ specifier: ^1.1.2
+ version: 1.1.2(react@18.2.0)
+ react-toastify:
+ specifier: ^9.0.8
+ version: 9.1.3(react-dom@18.2.0)(react@18.2.0)
+ react-turnstile:
+ specifier: ^1.0.5
+ version: 1.1.3(react-dom@18.2.0)(react@18.2.0)
+ semantic-ui-offline:
+ specifier: ^2.5.0
+ version: 2.5.0
+ semantic-ui-react:
+ specifier: ^2.1.3
+ version: 2.1.5(react-dom@18.2.0)(react@18.2.0)
+ devDependencies:
+ '@so1ve/prettier-config':
+ specifier: ^2.0.0
+ version: 2.0.0(prettier@3.2.5)
+ '@vitejs/plugin-react':
+ specifier: ^4.2.1
+ version: 4.2.1(vite@5.2.5)
+ prettier:
+ specifier: ^3.0.0
+ version: 3.2.5
+ typescript:
+ specifier: 4.4.2
+ version: 4.4.2
+ vite:
+ specifier: ^5.2.0
+ version: 5.2.5
packages:
- /@ampproject/remapping@2.3.0:
+ '@ampproject/remapping@2.3.0':
resolution:
{
integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==,
}
engines: { node: '>=6.0.0' }
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.24
- dev: true
- /@astrojs/compiler@1.8.2:
+ '@astrojs/compiler@1.8.2':
resolution:
{
integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==,
}
- dev: true
- /@babel/code-frame@7.23.5:
+ '@babel/code-frame@7.23.5':
resolution:
{
integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/highlight': 7.23.4
- chalk: 2.4.2
- dev: true
- /@babel/compat-data@7.23.5:
+ '@babel/compat-data@7.23.5':
resolution:
{
integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /@babel/core@7.24.0:
+ '@babel/core@7.24.0':
resolution:
{
integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.6
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helpers': 7.24.0
- '@babel/parser': 7.24.0
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
- '@babel/types': 7.24.0
- convert-source-map: 2.0.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/generator@7.23.6:
+ '@babel/generator@7.23.6':
resolution:
{
integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/types': 7.24.0
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.24
- jsesc: 2.5.2
- dev: true
- /@babel/helper-compilation-targets@7.23.6:
+ '@babel/helper-compilation-targets@7.23.6':
resolution:
{
integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/helper-validator-option': 7.23.5
- browserslist: 4.23.0
- lru-cache: 5.1.1
- semver: 6.3.1
- dev: true
- /@babel/helper-environment-visitor@7.22.20:
+ '@babel/helper-environment-visitor@7.22.20':
resolution:
{
integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /@babel/helper-function-name@7.23.0:
+ '@babel/helper-function-name@7.23.0':
resolution:
{
integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/template': 7.24.0
- '@babel/types': 7.24.0
- dev: true
- /@babel/helper-hoist-variables@7.22.5:
+ '@babel/helper-hoist-variables@7.22.5':
resolution:
{
integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@babel/helper-module-imports@7.22.15:
+ '@babel/helper-module-imports@7.22.15':
resolution:
{
integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0):
+ '@babel/helper-module-transforms@7.23.3':
resolution:
{
integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==,
@@ -218,105 +166,72 @@ packages:
engines: { node: '>=6.9.0' }
peerDependencies:
'@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-simple-access': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- '@babel/helper-validator-identifier': 7.22.20
- dev: true
- /@babel/helper-plugin-utils@7.24.0:
+ '@babel/helper-plugin-utils@7.24.0':
resolution:
{
integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /@babel/helper-simple-access@7.22.5:
+ '@babel/helper-simple-access@7.22.5':
resolution:
{
integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@babel/helper-split-export-declaration@7.22.6:
+ '@babel/helper-split-export-declaration@7.22.6':
resolution:
{
integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@babel/helper-string-parser@7.23.4:
+ '@babel/helper-string-parser@7.23.4':
resolution:
{
integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /@babel/helper-validator-identifier@7.22.20:
+ '@babel/helper-validator-identifier@7.22.20':
resolution:
{
integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /@babel/helper-validator-option@7.23.5:
+ '@babel/helper-validator-option@7.23.5':
resolution:
{
integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /@babel/helpers@7.24.0:
+ '@babel/helpers@7.24.0':
resolution:
{
integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
- '@babel/types': 7.24.0
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/highlight@7.23.4:
+ '@babel/highlight@7.23.4':
resolution:
{
integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- chalk: 2.4.2
- js-tokens: 4.0.0
- dev: true
- /@babel/parser@7.24.0:
+ '@babel/parser@7.24.0':
resolution:
{
integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==,
}
engines: { node: '>=6.0.0' }
hasBin: true
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.0):
+ '@babel/plugin-transform-react-jsx-self@7.24.1':
resolution:
{
integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==,
@@ -324,12 +239,8 @@ packages:
engines: { node: '>=6.9.0' }
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
- /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.0):
+ '@babel/plugin-transform-react-jsx-source@7.24.1':
resolution:
{
integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==,
@@ -337,79 +248,44 @@ packages:
engines: { node: '>=6.9.0' }
peerDependencies:
'@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
- /@babel/runtime@7.24.0:
+ '@babel/runtime@7.24.0':
resolution:
{
integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- regenerator-runtime: 0.14.1
- dev: false
- /@babel/template@7.24.0:
+ '@babel/template@7.24.0':
resolution:
{
integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- dev: true
- /@babel/traverse@7.24.0:
+ '@babel/traverse@7.24.0':
resolution:
{
integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.6
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: true
- /@babel/types@7.24.0:
+ '@babel/types@7.24.0':
resolution:
{
integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==,
}
engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/helper-string-parser': 7.23.4
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
- dev: true
- /@dnd-kit/accessibility@3.1.0(react@18.2.0):
+ '@dnd-kit/accessibility@3.1.0':
resolution:
{
integrity: sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==,
}
peerDependencies:
react: '>=16.8.0'
- dependencies:
- react: 18.2.0
- tslib: 2.6.2
- dev: false
- /@dnd-kit/core@6.1.0(react-dom@18.2.0)(react@18.2.0):
+ '@dnd-kit/core@6.1.0':
resolution:
{
integrity: sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==,
@@ -417,15 +293,8 @@ packages:
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- dependencies:
- '@dnd-kit/accessibility': 3.1.0(react@18.2.0)
- '@dnd-kit/utilities': 3.2.2(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- tslib: 2.6.2
- dev: false
- /@dnd-kit/sortable@7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0):
+ '@dnd-kit/sortable@7.0.2':
resolution:
{
integrity: sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==,
@@ -433,114 +302,70 @@ packages:
peerDependencies:
'@dnd-kit/core': ^6.0.7
react: '>=16.8.0'
- dependencies:
- '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0)
- '@dnd-kit/utilities': 3.2.2(react@18.2.0)
- react: 18.2.0
- tslib: 2.6.2
- dev: false
- /@dnd-kit/utilities@3.2.2(react@18.2.0):
+ '@dnd-kit/utilities@3.2.2':
resolution:
{
integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==,
}
peerDependencies:
react: '>=16.8.0'
- dependencies:
- react: 18.2.0
- tslib: 2.6.2
- dev: false
- /@douyinfe/semi-animation-react@2.55.3:
+ '@douyinfe/semi-animation-react@2.55.3':
resolution:
{
integrity: sha512-+Ms0kW53xqe8jIR2O30TRWjWcdzXN7OHo97yZydulEMhhWVsjHblPEy3txuVi/0QTCLdL0rFPi1D0lCBSQJmOA==,
}
- dependencies:
- '@douyinfe/semi-animation': 2.55.3
- '@douyinfe/semi-animation-styled': 2.55.3
- classnames: 2.5.1
- dev: false
- /@douyinfe/semi-animation-styled@2.55.3:
+ '@douyinfe/semi-animation-styled@2.55.3':
resolution:
{
integrity: sha512-feICaFw/acKAfgrDSgzo2D2I7IhyQZBgSuPdIeYvYvZ0T495OYcNV1lKBNMuaAAG12+NV8hFhahRo6p96kt55g==,
}
- dev: false
- /@douyinfe/semi-animation@2.55.3:
+ '@douyinfe/semi-animation@2.55.3':
resolution:
{
integrity: sha512-+36tBTseMBTubbU9WcmiLF0OYraNvbGITqDKsnbgp88XKA1/cA52scbZrrliyQxJuFn13lA0NZ5h57R4Lw1iOg==,
}
- dependencies:
- bezier-easing: 2.1.0
- dev: false
- /@douyinfe/semi-foundation@2.55.3:
+ '@douyinfe/semi-foundation@2.55.3':
resolution:
{
integrity: sha512-c7oOQQufI+psCRvHi+HT3/bBNGlg/E/+R6ahjMLn2n1t6CvsxT6ieUvZLMZE0DyUtCIePPj7rCxJj/La89XxTg==,
}
- dependencies:
- '@douyinfe/semi-animation': 2.55.3
- async-validator: 3.5.2
- classnames: 2.5.1
- date-fns: 2.30.0
- date-fns-tz: 1.3.8(date-fns@2.30.0)
- fast-copy: 3.0.1
- lodash: 4.17.21
- memoize-one: 5.2.1
- scroll-into-view-if-needed: 2.2.31
- dev: false
- /@douyinfe/semi-icons@2.53.2(react@18.2.0):
+ '@douyinfe/semi-icons@2.53.2':
resolution:
{
integrity: sha512-ZIxNBrZn3tAd347f3FbcvQSJpr5oX7b/BoUTGK16Mkguqp6Kd9gzWTURixRxIfBaCkZ5ftvS+m9x1jSx6RnkkA==,
}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- classnames: 2.5.1
- react: 18.2.0
- dev: false
- /@douyinfe/semi-icons@2.55.3(react@18.2.0):
+ '@douyinfe/semi-icons@2.55.3':
resolution:
{
integrity: sha512-4WpQmOmEWXqgQgyZ2ny91g+jHo6ECPfwGlFoKzWuWMw1fMGlrDQnP/1v8OT/ZKeKVlbGtDZN+MN4p1U5NPL+2Q==,
}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- classnames: 2.5.1
- react: 18.2.0
- dev: false
- /@douyinfe/semi-illustrations@2.55.3(react@18.2.0):
+ '@douyinfe/semi-illustrations@2.55.3':
resolution:
{
integrity: sha512-bwbqTsrKcVZ8KpmerWNA4Uu8uD+8qyqYzpD+6ACy9O3frgiRVyV5eDB0dF5Ih5zWoQzDoRoBR3el/YnExCs7VQ==,
}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- react: 18.2.0
- dev: false
- /@douyinfe/semi-theme-default@2.55.3:
+ '@douyinfe/semi-theme-default@2.55.3':
resolution:
{
integrity: sha512-a5JMzRGzu2pqZEZpl9IKPLlUK8IJ1hOpa5S9OoK4six76ZeN2rosjl77yCNspuVaTuJm8FMU9zOtYSoDpobe6w==,
}
- dependencies:
- glob: 7.2.3
- dev: false
- /@douyinfe/semi-ui@2.55.3(react-dom@18.2.0)(react@18.2.0):
+ '@douyinfe/semi-ui@2.55.3':
resolution:
{
integrity: sha512-3eZm4tRFUxXbqNIN/JZ1PYk7shhKRDKSMtTiWpqgmAJ5U6x7mnW7Bk15By3WMW/4KtfATDtI543sRWMz4iiRIw==,
@@ -548,33 +373,8 @@ packages:
peerDependencies:
react: '>=16.0.0'
react-dom: '>=16.0.0'
- dependencies:
- '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0)
- '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0)
- '@dnd-kit/utilities': 3.2.2(react@18.2.0)
- '@douyinfe/semi-animation': 2.55.3
- '@douyinfe/semi-animation-react': 2.55.3
- '@douyinfe/semi-foundation': 2.55.3
- '@douyinfe/semi-icons': 2.55.3(react@18.2.0)
- '@douyinfe/semi-illustrations': 2.55.3(react@18.2.0)
- '@douyinfe/semi-theme-default': 2.55.3
- async-validator: 3.5.2
- classnames: 2.5.1
- copy-text-to-clipboard: 2.2.0
- date-fns: 2.30.0
- date-fns-tz: 1.3.8(date-fns@2.30.0)
- fast-copy: 3.0.1
- lodash: 4.17.21
- prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-resizable: 3.0.5(react-dom@18.2.0)(react@18.2.0)
- react-window: 1.8.10(react-dom@18.2.0)(react@18.2.0)
- scroll-into-view-if-needed: 2.2.31
- utility-types: 3.11.0
- dev: false
- /@esbuild/aix-ppc64@0.20.2:
+ '@esbuild/aix-ppc64@0.20.2':
resolution:
{
integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==,
@@ -582,11 +382,8 @@ packages:
engines: { node: '>=12' }
cpu: [ppc64]
os: [aix]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-arm64@0.20.2:
+ '@esbuild/android-arm64@0.20.2':
resolution:
{
integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==,
@@ -594,11 +391,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-arm@0.20.2:
+ '@esbuild/android-arm@0.20.2':
resolution:
{
integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==,
@@ -606,11 +400,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/android-x64@0.20.2:
+ '@esbuild/android-x64@0.20.2':
resolution:
{
integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==,
@@ -618,11 +409,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/darwin-arm64@0.20.2:
+ '@esbuild/darwin-arm64@0.20.2':
resolution:
{
integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==,
@@ -630,11 +418,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/darwin-x64@0.20.2:
+ '@esbuild/darwin-x64@0.20.2':
resolution:
{
integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==,
@@ -642,11 +427,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/freebsd-arm64@0.20.2:
+ '@esbuild/freebsd-arm64@0.20.2':
resolution:
{
integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==,
@@ -654,11 +436,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm64]
os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/freebsd-x64@0.20.2:
+ '@esbuild/freebsd-x64@0.20.2':
resolution:
{
integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==,
@@ -666,11 +445,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-arm64@0.20.2:
+ '@esbuild/linux-arm64@0.20.2':
resolution:
{
integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==,
@@ -678,11 +454,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-arm@0.20.2:
+ '@esbuild/linux-arm@0.20.2':
resolution:
{
integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==,
@@ -690,11 +463,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-ia32@0.20.2:
+ '@esbuild/linux-ia32@0.20.2':
resolution:
{
integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==,
@@ -702,11 +472,8 @@ packages:
engines: { node: '>=12' }
cpu: [ia32]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-loong64@0.20.2:
+ '@esbuild/linux-loong64@0.20.2':
resolution:
{
integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==,
@@ -714,11 +481,8 @@ packages:
engines: { node: '>=12' }
cpu: [loong64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-mips64el@0.20.2:
+ '@esbuild/linux-mips64el@0.20.2':
resolution:
{
integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==,
@@ -726,11 +490,8 @@ packages:
engines: { node: '>=12' }
cpu: [mips64el]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-ppc64@0.20.2:
+ '@esbuild/linux-ppc64@0.20.2':
resolution:
{
integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==,
@@ -738,11 +499,8 @@ packages:
engines: { node: '>=12' }
cpu: [ppc64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-riscv64@0.20.2:
+ '@esbuild/linux-riscv64@0.20.2':
resolution:
{
integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==,
@@ -750,11 +508,8 @@ packages:
engines: { node: '>=12' }
cpu: [riscv64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-s390x@0.20.2:
+ '@esbuild/linux-s390x@0.20.2':
resolution:
{
integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==,
@@ -762,11 +517,8 @@ packages:
engines: { node: '>=12' }
cpu: [s390x]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/linux-x64@0.20.2:
+ '@esbuild/linux-x64@0.20.2':
resolution:
{
integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==,
@@ -774,11 +526,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/netbsd-x64@0.20.2:
+ '@esbuild/netbsd-x64@0.20.2':
resolution:
{
integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==,
@@ -786,11 +535,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/openbsd-x64@0.20.2:
+ '@esbuild/openbsd-x64@0.20.2':
resolution:
{
integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==,
@@ -798,11 +544,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/sunos-x64@0.20.2:
+ '@esbuild/sunos-x64@0.20.2':
resolution:
{
integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==,
@@ -810,11 +553,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-arm64@0.20.2:
+ '@esbuild/win32-arm64@0.20.2':
resolution:
{
integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==,
@@ -822,11 +562,8 @@ packages:
engines: { node: '>=12' }
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-ia32@0.20.2:
+ '@esbuild/win32-ia32@0.20.2':
resolution:
{
integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==,
@@ -834,11 +571,8 @@ packages:
engines: { node: '>=12' }
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@esbuild/win32-x64@0.20.2:
+ '@esbuild/win32-x64@0.20.2':
resolution:
{
integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==,
@@ -846,11 +580,8 @@ packages:
engines: { node: '>=12' }
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@fluentui/react-component-event-listener@0.63.1(react-dom@18.2.0)(react@18.2.0):
+ '@fluentui/react-component-event-listener@0.63.1':
resolution:
{
integrity: sha512-gSMdOh6tI3IJKZFqxfQwbTpskpME0CvxdxGM2tdglmf6ZPVDi0L4+KKIm+2dN8nzb8Ya1A8ZT+Ddq0KmZtwVQg==,
@@ -858,13 +589,8 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17 || ^18
react-dom: ^16.8.0 || ^17 || ^18
- dependencies:
- '@babel/runtime': 7.24.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
- /@fluentui/react-component-ref@0.63.1(react-dom@18.2.0)(react@18.2.0):
+ '@fluentui/react-component-ref@0.63.1':
resolution:
{
integrity: sha512-8MkXX4+R3i80msdbD4rFpEB4WWq2UDvGwG386g3ckIWbekdvN9z2kWAd9OXhRGqB7QeOsoAGWocp6gAMCivRlw==,
@@ -872,74 +598,54 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17 || ^18
react-dom: ^16.8.0 || ^17 || ^18
- dependencies:
- '@babel/runtime': 7.24.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-is: 16.13.1
- dev: false
- /@jridgewell/gen-mapping@0.3.5:
+ '@jridgewell/gen-mapping@0.3.5':
resolution:
{
integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==,
}
engines: { node: '>=6.0.0' }
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.24
- dev: true
- /@jridgewell/resolve-uri@3.1.2:
+ '@jridgewell/resolve-uri@3.1.2':
resolution:
{
integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==,
}
engines: { node: '>=6.0.0' }
- dev: true
- /@jridgewell/set-array@1.2.1:
+ '@jridgewell/set-array@1.2.1':
resolution:
{
integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==,
}
engines: { node: '>=6.0.0' }
- dev: true
- /@jridgewell/sourcemap-codec@1.4.15:
+ '@jridgewell/sourcemap-codec@1.4.15':
resolution:
{
integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
}
- dev: true
- /@jridgewell/trace-mapping@0.3.24:
+ '@jridgewell/trace-mapping@0.3.24':
resolution:
{
integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==,
}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
- dev: true
- /@popperjs/core@2.11.8:
+ '@popperjs/core@2.11.8':
resolution:
{
integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==,
}
- dev: false
- /@remix-run/router@1.15.2:
+ '@remix-run/router@1.15.2':
resolution:
{
integrity: sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q==,
}
engines: { node: '>=14.0.0' }
- dev: false
- /@resvg/resvg-js-android-arm-eabi@2.4.1:
+ '@resvg/resvg-js-android-arm-eabi@2.4.1':
resolution:
{
integrity: sha512-AA6f7hS0FAPpvQMhBCf6f1oD1LdlqNXKCxAAPpKh6tR11kqV0YIB9zOlIYgITM14mq2YooLFl6XIbbvmY+jwUw==,
@@ -947,11 +653,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-android-arm64@2.4.1:
+ '@resvg/resvg-js-android-arm64@2.4.1':
resolution:
{
integrity: sha512-/QleoRdPfsEuH9jUjilYcDtKK/BkmWcK+1LXM8L2nsnf/CI8EnFyv7ZzCj4xAIvZGAy9dTYr/5NZBcTwxG2HQg==,
@@ -959,11 +662,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-darwin-arm64@2.4.1:
+ '@resvg/resvg-js-darwin-arm64@2.4.1':
resolution:
{
integrity: sha512-U1oMNhea+kAXgiEXgzo7EbFGCD1Edq5aSlQoe6LMly6UjHzgx2W3N5kEXCwU/CgN5FiQhZr7PlSJSlcr7mdhfg==,
@@ -971,11 +671,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-darwin-x64@2.4.1:
+ '@resvg/resvg-js-darwin-x64@2.4.1':
resolution:
{
integrity: sha512-avyVh6DpebBfHHtTQTZYSr6NG1Ur6TEilk1+H0n7V+g4F7x7WPOo8zL00ZhQCeRQ5H4f8WXNWIEKL8fwqcOkYw==,
@@ -983,11 +680,8 @@ packages:
engines: { node: '>= 10' }
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-linux-arm-gnueabihf@2.4.1:
+ '@resvg/resvg-js-linux-arm-gnueabihf@2.4.1':
resolution:
{
integrity: sha512-isY/mdKoBWH4VB5v621co+8l101jxxYjuTkwOLsbW+5RK9EbLciPlCB02M99ThAHzI2MYxIUjXNmNgOW8btXvw==,
@@ -995,11 +689,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-linux-arm64-gnu@2.4.1:
+ '@resvg/resvg-js-linux-arm64-gnu@2.4.1':
resolution:
{
integrity: sha512-uY5voSCrFI8TH95vIYBm5blpkOtltLxLRODyhKJhGfskOI7XkRw5/t1u0sWAGYD8rRSNX+CA+np86otKjubrNg==,
@@ -1007,11 +698,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-linux-arm64-musl@2.4.1:
+ '@resvg/resvg-js-linux-arm64-musl@2.4.1':
resolution:
{
integrity: sha512-6mT0+JBCsermKMdi/O2mMk3m7SqOjwi9TKAwSngRZ/nQoL3Z0Z5zV+572ztgbWr0GODB422uD8e9R9zzz38dRQ==,
@@ -1019,11 +707,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-linux-x64-gnu@2.4.1:
+ '@resvg/resvg-js-linux-x64-gnu@2.4.1':
resolution:
{
integrity: sha512-60KnrscLj6VGhkYOJEmmzPlqqfcw1keDh6U+vMcNDjPhV3B5vRSkpP/D/a8sfokyeh4VEacPSYkWGezvzS2/mg==,
@@ -1031,11 +716,8 @@ packages:
engines: { node: '>= 10' }
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-linux-x64-musl@2.4.1:
+ '@resvg/resvg-js-linux-x64-musl@2.4.1':
resolution:
{
integrity: sha512-0AMyZSICC1D7ge115cOZQW8Pcad6PjWuZkBFF3FJuSxC6Dgok0MQnLTs2MfMdKBlAcwO9dXsf3bv9tJZj8pATA==,
@@ -1043,11 +725,8 @@ packages:
engines: { node: '>= 10' }
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-win32-arm64-msvc@2.4.1:
+ '@resvg/resvg-js-win32-arm64-msvc@2.4.1':
resolution:
{
integrity: sha512-76XDFOFSa3d0QotmcNyChh2xHwk+JTFiEQBVxMlHpHMeq7hNrQJ1IpE1zcHSQvrckvkdfLboKRrlGB86B10Qjw==,
@@ -1055,11 +734,8 @@ packages:
engines: { node: '>= 10' }
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-win32-ia32-msvc@2.4.1:
+ '@resvg/resvg-js-win32-ia32-msvc@2.4.1':
resolution:
{
integrity: sha512-odyVFGrEWZIzzJ89KdaFtiYWaIJh9hJRW/frcEcG3agJ464VXkN/2oEVF5ulD+5mpGlug9qJg7htzHcKxDN8sg==,
@@ -1067,11 +743,8 @@ packages:
engines: { node: '>= 10' }
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js-win32-x64-msvc@2.4.1:
+ '@resvg/resvg-js-win32-x64-msvc@2.4.1':
resolution:
{
integrity: sha512-vY4kTLH2S3bP+puU5x7hlAxHv+ulFgcK6Zn3efKSr0M0KnZ9A3qeAjZteIpkowEFfUeMPNg2dvvoFRJA9zqxSw==,
@@ -1079,175 +752,119 @@ packages:
engines: { node: '>= 10' }
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: false
- optional: true
- /@resvg/resvg-js@2.4.1:
+ '@resvg/resvg-js@2.4.1':
resolution:
{
integrity: sha512-wTOf1zerZX8qYcMmLZw3czR4paI4hXqPjShNwJRh5DeHxvgffUS5KM7XwxtbIheUW6LVYT5fhT2AJiP6mU7U4A==,
}
engines: { node: '>= 10' }
- optionalDependencies:
- '@resvg/resvg-js-android-arm-eabi': 2.4.1
- '@resvg/resvg-js-android-arm64': 2.4.1
- '@resvg/resvg-js-darwin-arm64': 2.4.1
- '@resvg/resvg-js-darwin-x64': 2.4.1
- '@resvg/resvg-js-linux-arm-gnueabihf': 2.4.1
- '@resvg/resvg-js-linux-arm64-gnu': 2.4.1
- '@resvg/resvg-js-linux-arm64-musl': 2.4.1
- '@resvg/resvg-js-linux-x64-gnu': 2.4.1
- '@resvg/resvg-js-linux-x64-musl': 2.4.1
- '@resvg/resvg-js-win32-arm64-msvc': 2.4.1
- '@resvg/resvg-js-win32-ia32-msvc': 2.4.1
- '@resvg/resvg-js-win32-x64-msvc': 2.4.1
- dev: false
- /@rollup/rollup-android-arm-eabi@4.13.0:
+ '@rollup/rollup-android-arm-eabi@4.13.0':
resolution:
{
integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==,
}
cpu: [arm]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-android-arm64@4.13.0:
+ '@rollup/rollup-android-arm64@4.13.0':
resolution:
{
integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==,
}
cpu: [arm64]
os: [android]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-darwin-arm64@4.13.0:
+ '@rollup/rollup-darwin-arm64@4.13.0':
resolution:
{
integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==,
}
cpu: [arm64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-darwin-x64@4.13.0:
+ '@rollup/rollup-darwin-x64@4.13.0':
resolution:
{
integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==,
}
cpu: [x64]
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.13.0:
+ '@rollup/rollup-linux-arm-gnueabihf@4.13.0':
resolution:
{
integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==,
}
cpu: [arm]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm64-gnu@4.13.0:
+ '@rollup/rollup-linux-arm64-gnu@4.13.0':
resolution:
{
integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==,
}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-arm64-musl@4.13.0:
+ '@rollup/rollup-linux-arm64-musl@4.13.0':
resolution:
{
integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==,
}
cpu: [arm64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.13.0:
+ '@rollup/rollup-linux-riscv64-gnu@4.13.0':
resolution:
{
integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==,
}
cpu: [riscv64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-x64-gnu@4.13.0:
+ '@rollup/rollup-linux-x64-gnu@4.13.0':
resolution:
{
integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==,
}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-linux-x64-musl@4.13.0:
+ '@rollup/rollup-linux-x64-musl@4.13.0':
resolution:
{
integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==,
}
cpu: [x64]
os: [linux]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-arm64-msvc@4.13.0:
+ '@rollup/rollup-win32-arm64-msvc@4.13.0':
resolution:
{
integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==,
}
cpu: [arm64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-ia32-msvc@4.13.0:
+ '@rollup/rollup-win32-ia32-msvc@4.13.0':
resolution:
{
integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==,
}
cpu: [ia32]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@rollup/rollup-win32-x64-msvc@4.13.0:
+ '@rollup/rollup-win32-x64-msvc@4.13.0':
resolution:
{
integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==,
}
cpu: [x64]
os: [win32]
- requiresBuild: true
- dev: true
- optional: true
- /@semantic-ui-react/event-stack@3.1.3(react-dom@18.2.0)(react@18.2.0):
+ '@semantic-ui-react/event-stack@3.1.3':
resolution:
{
integrity: sha512-FdTmJyWvJaYinHrKRsMLDrz4tTMGdFfds299Qory53hBugiDvGC0tEJf+cHsi5igDwWb/CLOgOiChInHwq8URQ==,
@@ -1255,176 +872,114 @@ packages:
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
- dependencies:
- exenv: 1.2.2
- prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
- /@so1ve/prettier-config@2.0.0(prettier@3.2.5):
+ '@so1ve/prettier-config@2.0.0':
resolution:
{
integrity: sha512-s6qsH5Rf4Bl+J0LU9rKmSWe/rYRdsYw0ELyXhDDDqEaTWtah4NpHKJuVWARuKqj0TWLBeWmyWUoIH/Bkp/DHaw==,
}
peerDependencies:
prettier: ^3.0.0
- dependencies:
- '@so1ve/prettier-plugin-toml': 2.0.0(prettier@3.2.5)
- prettier: 3.2.5
- prettier-plugin-astro: 0.13.0
- prettier-plugin-curly-and-jsdoc: 2.0.0(prettier@3.2.5)
- prettier-plugin-pkgsort: 0.2.1(prettier@3.2.5)
- dev: true
- /@so1ve/prettier-plugin-toml@2.0.0(prettier@3.2.5):
+ '@so1ve/prettier-plugin-toml@2.0.0':
resolution:
{
integrity: sha512-GvuFdTqhs3qxbhKTiCXWMXITmNLSdndUp7ql1yJbzzWaGqAdb3UH+R+0ZhtAEctBSx90MWAWW3kkW/Iba02tCg==,
}
peerDependencies:
prettier: ^3.0.0
- dependencies:
- prettier: 3.2.5
- dev: true
- /@turf/boolean-clockwise@6.5.0:
+ '@turf/boolean-clockwise@6.5.0':
resolution:
{
integrity: sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==,
}
- dependencies:
- '@turf/helpers': 6.5.0
- '@turf/invariant': 6.5.0
- dev: false
- /@turf/clone@6.5.0:
+ '@turf/clone@6.5.0':
resolution:
{
integrity: sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==,
}
- dependencies:
- '@turf/helpers': 6.5.0
- dev: false
- /@turf/flatten@6.5.0:
+ '@turf/flatten@6.5.0':
resolution:
{
integrity: sha512-IBZVwoNLVNT6U/bcUUllubgElzpMsNoCw8tLqBw6dfYg9ObGmpEjf9BIYLr7a2Yn5ZR4l7YIj2T7kD5uJjZADQ==,
}
- dependencies:
- '@turf/helpers': 6.5.0
- '@turf/meta': 6.5.0
- dev: false
- /@turf/helpers@6.5.0:
+ '@turf/helpers@6.5.0':
resolution:
{
integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==,
}
- dev: false
- /@turf/invariant@6.5.0:
+ '@turf/invariant@6.5.0':
resolution:
{
integrity: sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==,
}
- dependencies:
- '@turf/helpers': 6.5.0
- dev: false
- /@turf/meta@3.14.0:
+ '@turf/meta@3.14.0':
resolution:
{
integrity: sha512-OtXqLQuR9hlQ/HkAF/OdzRea7E0eZK1ay8y8CBXkoO2R6v34CsDrWYLMSo0ZzMsaQDpKo76NPP2GGo+PyG1cSg==,
}
- dev: false
- /@turf/meta@6.5.0:
+ '@turf/meta@6.5.0':
resolution:
{
integrity: sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==,
}
- dependencies:
- '@turf/helpers': 6.5.0
- dev: false
- /@turf/rewind@6.5.0:
+ '@turf/rewind@6.5.0':
resolution:
{
integrity: sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==,
}
- dependencies:
- '@turf/boolean-clockwise': 6.5.0
- '@turf/clone': 6.5.0
- '@turf/helpers': 6.5.0
- '@turf/invariant': 6.5.0
- '@turf/meta': 6.5.0
- dev: false
- /@types/babel__core@7.20.5:
+ '@types/babel__core@7.20.5':
resolution:
{
integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==,
}
- dependencies:
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- '@types/babel__generator': 7.6.8
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.20.5
- dev: true
- /@types/babel__generator@7.6.8:
+ '@types/babel__generator@7.6.8':
resolution:
{
integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==,
}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@types/babel__template@7.4.4:
+ '@types/babel__template@7.4.4':
resolution:
{
integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==,
}
- dependencies:
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- dev: true
- /@types/babel__traverse@7.20.5:
+ '@types/babel__traverse@7.20.5':
resolution:
{
integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==,
}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
- /@types/estree@1.0.5:
+ '@types/estree@1.0.5':
resolution:
{
integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==,
}
- dev: true
- /@types/parse-author@2.0.3:
+ '@types/parse-author@2.0.3':
resolution:
{
integrity: sha512-pgRW2K/GVQoogylrGJXDl7PBLW9A6T4OOc9Hy9MLT5f7vgufK2GQ8FcfAbjFHR5HjcN9ByzuCczAORk49REqoA==,
}
- dev: true
- /@types/parse-json@4.0.2:
+ '@types/parse-json@4.0.2':
resolution:
{
integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==,
}
- dev: true
- /@visactor/react-vchart@1.8.11(react-dom@18.2.0)(react@18.2.0):
+ '@visactor/react-vchart@1.8.11':
resolution:
{
integrity: sha512-wHnCex9gOpnttTtSu04ozKJhTveUk8Ln2KX/7PZyCJxqlXq+eWvW4zvM6Ja8T8kGXfXtFYVVNh9zBMQ7y2T/Sw==,
@@ -1432,254 +987,120 @@ packages:
peerDependencies:
react: '>=16.0.0'
react-dom: '>=16.0.0'
- dependencies:
- '@visactor/vchart': 1.8.11
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vutils': 0.17.5
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-is: 18.2.0
- dev: false
- /@visactor/vchart-semi-theme@1.8.8(@visactor/vchart@1.8.11):
+ '@visactor/vchart-semi-theme@1.8.8':
resolution:
{
integrity: sha512-lm57CX3r6Bm7iGBYYyWhDY+1BvkyhNVLEckKx2PnlPKpJHikKSIK2ACyI5SmHuSOOdYzhY2QK6ZfYa2NShJ83w==,
}
peerDependencies:
'@visactor/vchart': ~1.8.8
- dependencies:
- '@visactor/vchart': 1.8.11
- '@visactor/vchart-theme-utils': 1.8.8(@visactor/vchart@1.8.11)
- dev: false
- /@visactor/vchart-theme-utils@1.8.8(@visactor/vchart@1.8.11):
+ '@visactor/vchart-theme-utils@1.8.8':
resolution:
{
integrity: sha512-RdCey3/t0+82EYyFZvx210rgJJWti9rsgcL3ROZS7o9CtRW1CMj9u9LKLDNIcPLNcLNACFC0aoT03jpdD1BCpA==,
}
peerDependencies:
'@visactor/vchart': ~1.8.8
- dependencies:
- '@visactor/vchart': 1.8.11
- dev: false
- /@visactor/vchart@1.8.11:
+ '@visactor/vchart@1.8.11':
resolution:
{
integrity: sha512-RdQ822J02GgAQNXvO1LiT0T3O6FjdgPdcm9hVBFyrpBBmuI8MH02IE7Y1kGe9NiFTH4tDwP0ixRgBmqNSGSLZQ==,
}
- dependencies:
- '@visactor/vdataset': 0.17.5
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vgrammar-hierarchy': 0.10.11
- '@visactor/vgrammar-projection': 0.10.11
- '@visactor/vgrammar-sankey': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vgrammar-wordcloud': 0.10.11
- '@visactor/vgrammar-wordcloud-shape': 0.10.11
- '@visactor/vrender-components': 0.17.17
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vscale': 0.17.5
- '@visactor/vutils': 0.17.5
- '@visactor/vutils-extension': 1.8.11
- dev: false
- /@visactor/vdataset@0.17.5:
+ '@visactor/vdataset@0.17.5':
resolution:
{
integrity: sha512-zVBdLWHWrhldGc8JDjSYF9lvpFT4ZEFQDB0b6yvfSiHzHKHiSco+rWmUFvA7r4ObT6j2QWF1vZAV9To8Ml4vHw==,
}
- dependencies:
- '@turf/flatten': 6.5.0
- '@turf/helpers': 6.5.0
- '@turf/rewind': 6.5.0
- '@visactor/vutils': 0.17.5
- d3-dsv: 2.0.0
- d3-geo: 1.12.1
- d3-hexbin: 0.2.2
- d3-hierarchy: 3.1.2
- eventemitter3: 4.0.7
- geobuf: 3.0.2
- geojson-dissolve: 3.1.0
- path-browserify: 1.0.1
- pbf: 3.2.1
- point-at-length: 1.1.0
- simple-statistics: 7.8.3
- simplify-geojson: 1.0.5
- topojson-client: 3.1.0
- dev: false
- /@visactor/vgrammar-coordinate@0.10.11:
+ '@visactor/vgrammar-coordinate@0.10.11':
resolution:
{
integrity: sha512-XSUvEkaf/NQHFafmTwqoIMZicp9fF3o6NB2FDpuWrK4DI1lTuip/0RkqrC+kBAjc5erjt0em0TiITyqXpp4G6w==,
}
- dependencies:
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vgrammar-core@0.10.11:
+ '@visactor/vgrammar-core@0.10.11':
resolution:
{
integrity: sha512-VL9vcLPDg1LrHl7EOx0Ga9ATsoaChKIaCGzxjrPEjWiIS5VPU9Rs0jBKP+ch8BjamAoSuqL5mKd0L/RaUBqlaA==,
}
- dependencies:
- '@visactor/vdataset': 0.17.5
- '@visactor/vgrammar-coordinate': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vrender-components': 0.17.17
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vscale': 0.17.5
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vgrammar-hierarchy@0.10.11:
+ '@visactor/vgrammar-hierarchy@0.10.11':
resolution:
{
integrity: sha512-0r3k51pPlJHu63BduG3htsV/ul62aVcKJxFftRfvKkwGjm1KeHoOZEEAwIf78U2puio0BkLqVn2Ek2L4FYZaIg==,
}
- dependencies:
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vgrammar-projection@0.10.11:
+ '@visactor/vgrammar-projection@0.10.11':
resolution:
{
integrity: sha512-yEiKsxdfs5+g60wv5xZ1kyS/EDrAsUzAxCMpFFASVUYbQObHvW+elm+UPq2TBX6KZqAM0gsd1inzaLvfsCrLSg==,
}
- dependencies:
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vutils': 0.17.5
- d3-geo: 1.12.1
- dev: false
- /@visactor/vgrammar-sankey@0.10.11:
+ '@visactor/vgrammar-sankey@0.10.11':
resolution:
{
integrity: sha512-BbJTPuyydsL/L5XtQv59Q82GgJeePY7Wleac798usx3GnDK0GAOrPsI3bubSsOESJ4pNk3V4HPGEQDG1vCPb4w==,
}
- dependencies:
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vgrammar-util@0.10.11:
+ '@visactor/vgrammar-util@0.10.11':
resolution:
{
integrity: sha512-cJZLmKZvN95Y+yGhX+28+UpZu3bhYYlXDlHJNvXHyonI76ZYgtceyon2b3lI6XIsUsBGcD4Uo777s949X5os3g==,
}
- dependencies:
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vgrammar-wordcloud-shape@0.10.11:
+ '@visactor/vgrammar-wordcloud-shape@0.10.11':
resolution:
{
integrity: sha512-NsQOYJp+9WHnIApMvkcUOaajxIg5U/r6rD8LKnoXW/HqAN2TFYXcRR3Daqmk9rrpM5VztQimKOsA1yZWyzozrA==,
}
- dependencies:
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vscale': 0.17.5
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vgrammar-wordcloud@0.10.11:
+ '@visactor/vgrammar-wordcloud@0.10.11':
resolution:
{
integrity: sha512-JWDqjGhr9JlYkKVBeEkiOqLQk7C1x1BtnsZ+E8oN541gzUqHwfS9qZyhwI3OyoSLewJlsSSPu1vXLKSQzLzKPA==,
}
- dependencies:
- '@visactor/vgrammar-core': 0.10.11
- '@visactor/vgrammar-util': 0.10.11
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vrender-components@0.17.17:
+ '@visactor/vrender-components@0.17.17':
resolution:
{
integrity: sha512-7gYFQrozvBkyGF7s/JHXdWDZnATzymxzug63CZd4EB7A0OXKatVDImXRePqwzlPD3QamF7QMVWn0CuIx3gQ2gA==,
}
- dependencies:
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vscale': 0.17.5
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vrender-core@0.17.17:
+ '@visactor/vrender-core@0.17.17':
resolution:
{
integrity: sha512-pAZGaimunDAWOBdFhzPh0auH5ryxAHr+MVoz+QdASG+6RZXy8D02l8v2QYu4+e4uorxe/s2ZkdNDm81SlNkoHQ==,
}
- dependencies:
- '@visactor/vutils': 0.17.5
- color-convert: 2.0.1
- dev: false
- /@visactor/vrender-kits@0.17.17:
+ '@visactor/vrender-kits@0.17.17':
resolution:
{
integrity: sha512-noRP1hAHvPCv36nf2P6sZ930Tk+dJ8jpPWIUm1cFYmUNdcumgIS8Cug0RyeZ+saSqVt5FDTwIwifhOqupw5Zaw==,
}
- dependencies:
- '@resvg/resvg-js': 2.4.1
- '@visactor/vrender-core': 0.17.17
- '@visactor/vutils': 0.17.5
- roughjs: 4.5.2
- dev: false
- /@visactor/vscale@0.17.5:
+ '@visactor/vscale@0.17.5':
resolution:
{
integrity: sha512-2dkS1IlAJ/IdTp8JElbctOOv6lkHKBKPDm8KvwBo0NuGWQeYAebSeyN3QCdwKbj76gMlCub4zc+xWrS5YiA2zA==,
}
- dependencies:
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vutils-extension@1.8.11:
+ '@visactor/vutils-extension@1.8.11':
resolution:
{
integrity: sha512-Hknzpy3+xh4sdL0iSn5N93BHiMJF4FdwSwhHYEibRpriZmWKG6wBxsJ0Bll4d7oS4f+svxt8Sg2vRYKzQEcIxQ==,
}
- dependencies:
- '@visactor/vrender-core': 0.17.17
- '@visactor/vrender-kits': 0.17.17
- '@visactor/vscale': 0.17.5
- '@visactor/vutils': 0.17.5
- dev: false
- /@visactor/vutils@0.17.5:
+ '@visactor/vutils@0.17.5':
resolution:
{
integrity: sha512-HFN6Pk1Wc1RK842g02MeKOlvdri5L7/nqxMVTqxIvi0XMhHXpmoqN4+/9H+h8LmJpVohyrI/MT85TRBV/rManw==,
}
- dependencies:
- '@turf/helpers': 6.5.0
- '@turf/invariant': 6.5.0
- eventemitter3: 4.0.7
- dev: false
- /@vitejs/plugin-react@4.2.1(vite@5.2.5):
+ '@vitejs/plugin-react@4.2.1':
resolution:
{
integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==,
@@ -1687,372 +1108,274 @@ packages:
engines: { node: ^14.18.0 || >=16.0.0 }
peerDependencies:
vite: ^4.2.0 || ^5.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.0)
- '@types/babel__core': 7.20.5
- react-refresh: 0.14.0
- vite: 5.2.5
- transitivePeerDependencies:
- - supports-color
- dev: true
- /abs-svg-path@0.1.1:
+ abs-svg-path@0.1.1:
resolution:
{
integrity: sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==,
}
- dev: false
- /ansi-styles@3.2.1:
+ ansi-styles@3.2.1:
resolution:
{
integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
}
engines: { node: '>=4' }
- dependencies:
- color-convert: 1.9.3
- dev: true
- /array-source@0.0.4:
+ array-source@0.0.4:
resolution:
{
integrity: sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==,
}
- dev: false
- /async-validator@3.5.2:
+ async-validator@3.5.2:
resolution:
{
integrity: sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==,
}
- dev: false
- /asynckit@0.4.0:
+ asynckit@0.4.0:
resolution:
{
integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==,
}
- dev: false
- /attr-accept@2.2.2:
+ attr-accept@2.2.2:
resolution:
{
integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==,
}
engines: { node: '>=4' }
- dev: false
- /author-regex@1.0.0:
+ author-regex@1.0.0:
resolution:
{
integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==,
}
engines: { node: '>=0.8' }
- dev: true
- /axios@0.27.2:
+ axios@0.27.2:
resolution:
{
integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==,
}
- dependencies:
- follow-redirects: 1.15.5
- form-data: 4.0.0
- transitivePeerDependencies:
- - debug
- dev: false
- /balanced-match@1.0.2:
+ balanced-match@1.0.2:
resolution:
{
integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
}
- /bezier-easing@2.1.0:
+ bezier-easing@2.1.0:
resolution:
{
integrity: sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==,
}
- dev: false
- /brace-expansion@1.1.11:
+ brace-expansion@1.1.11:
resolution:
{
integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
- /browserslist@4.23.0:
+ browserslist@4.23.0:
resolution:
{
integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==,
}
engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001591
- electron-to-chromium: 1.4.690
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.23.0)
- dev: true
- /buffer-from@1.1.2:
+ buffer-from@1.1.2:
resolution:
{
integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==,
}
- dev: false
- /callsites@3.1.0:
+ callsites@3.1.0:
resolution:
{
integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
}
engines: { node: '>=6' }
- dev: true
- /caniuse-lite@1.0.30001591:
+ caniuse-lite@1.0.30001591:
resolution:
{
integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==,
}
- dev: true
- /chalk@2.4.2:
+ chalk@2.4.2:
resolution:
{
integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
}
engines: { node: '>=4' }
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
- dev: true
- /classnames@2.5.1:
+ classnames@2.5.1:
resolution:
{
integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==,
}
- dev: false
- /clsx@1.2.1:
+ clsx@1.2.1:
resolution:
{
integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==,
}
engines: { node: '>=6' }
- dev: false
- /color-convert@1.9.3:
+ color-convert@1.9.3:
resolution:
{
integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
}
- dependencies:
- color-name: 1.1.3
- dev: true
- /color-convert@2.0.1:
+ color-convert@2.0.1:
resolution:
{
integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
}
engines: { node: '>=7.0.0' }
- dependencies:
- color-name: 1.1.4
- dev: false
- /color-name@1.1.3:
+ color-name@1.1.3:
resolution:
{
integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
}
- dev: true
- /color-name@1.1.4:
+ color-name@1.1.4:
resolution:
{
integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
}
- dev: false
- /combined-stream@1.0.8:
+ combined-stream@1.0.8:
resolution:
{
integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==,
}
engines: { node: '>= 0.8' }
- dependencies:
- delayed-stream: 1.0.0
- dev: false
- /commander@2.20.3:
+ commander@2.20.3:
resolution:
{
integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==,
}
- dev: false
- /commander@4.1.1:
+ commander@4.1.1:
resolution:
{
integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==,
}
engines: { node: '>= 6' }
- dev: true
- /compute-scroll-into-view@1.0.20:
+ compute-scroll-into-view@1.0.20:
resolution:
{
integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==,
}
- dev: false
- /concat-map@0.0.1:
+ concat-map@0.0.1:
resolution:
{
integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
}
- /concat-stream@1.4.11:
+ concat-stream@1.4.11:
resolution:
{
integrity: sha512-X3JMh8+4je3U1cQpG87+f9lXHDrqcb2MVLg9L7o8b1UZ0DzhRrUpdn65ttzu10PpJPPI3MQNkis+oha6TSA9Mw==,
}
engines: { '0': node >= 0.8 }
- dependencies:
- inherits: 2.0.4
- readable-stream: 1.1.14
- typedarray: 0.0.7
- dev: false
- /concat-stream@2.0.0:
+ concat-stream@2.0.0:
resolution:
{
integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==,
}
engines: { '0': node >= 6.0 }
- dependencies:
- buffer-from: 1.1.2
- inherits: 2.0.4
- readable-stream: 3.6.2
- typedarray: 0.0.6
- dev: false
- /convert-source-map@2.0.0:
+ convert-source-map@2.0.0:
resolution:
{
integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==,
}
- dev: true
- /copy-text-to-clipboard@2.2.0:
+ copy-text-to-clipboard@2.2.0:
resolution:
{
integrity: sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==,
}
engines: { node: '>=6' }
- dev: false
- /core-util-is@1.0.3:
+ core-util-is@1.0.3:
resolution:
{
integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==,
}
- dev: false
- /cosmiconfig@7.1.0:
+ cosmiconfig@7.1.0:
resolution:
{
integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==,
}
engines: { node: '>=10' }
- dependencies:
- '@types/parse-json': 4.0.2
- import-fresh: 3.3.0
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
- dev: true
- /d3-array@1.2.4:
+ d3-array@1.2.4:
resolution:
{
integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==,
}
- dev: false
- /d3-dsv@2.0.0:
+ d3-dsv@2.0.0:
resolution:
{
integrity: sha512-E+Pn8UJYx9mViuIUkoc93gJGGYut6mSDKy2+XaPwccwkRGlR+LO97L2VCCRjQivTwLHkSnAJG7yo00BWY6QM+w==,
}
hasBin: true
- dependencies:
- commander: 2.20.3
- iconv-lite: 0.4.24
- rw: 1.3.3
- dev: false
- /d3-geo@1.12.1:
+ d3-geo@1.12.1:
resolution:
{
integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==,
}
- dependencies:
- d3-array: 1.2.4
- dev: false
- /d3-hexbin@0.2.2:
+ d3-hexbin@0.2.2:
resolution:
{
integrity: sha512-KS3fUT2ReD4RlGCjvCEm1RgMtp2NFZumdMu4DBzQK8AZv3fXRM6Xm8I4fSU07UXvH4xxg03NwWKWdvxfS/yc4w==,
}
- dev: false
- /d3-hierarchy@3.1.2:
+ d3-hierarchy@3.1.2:
resolution:
{
integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==,
}
engines: { node: '>=12' }
- dev: false
- /date-fns-tz@1.3.8(date-fns@2.30.0):
+ date-fns-tz@1.3.8:
resolution:
{
integrity: sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==,
}
peerDependencies:
date-fns: '>=2.0.0'
- dependencies:
- date-fns: 2.30.0
- dev: false
- /date-fns@2.30.0:
+ date-fns@2.30.0:
resolution:
{
integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==,
}
engines: { node: '>=0.11' }
- dependencies:
- '@babel/runtime': 7.24.0
- dev: false
- /dayjs@1.11.11:
+ dayjs@1.11.11:
resolution:
{
integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==,
}
- dev: false
- /debug@4.3.4:
+ debug@4.3.4:
resolution:
{
integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==,
@@ -2063,125 +1386,80 @@ packages:
peerDependenciesMeta:
supports-color:
optional: true
- dependencies:
- ms: 2.1.2
- dev: true
- /delayed-stream@1.0.0:
+ delayed-stream@1.0.0:
resolution:
{
integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==,
}
engines: { node: '>=0.4.0' }
- dev: false
- /electron-to-chromium@1.4.690:
+ electron-to-chromium@1.4.690:
resolution:
{
integrity: sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==,
}
- dev: true
- /error-ex@1.3.2:
+ error-ex@1.3.2:
resolution:
{
integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
}
- dependencies:
- is-arrayish: 0.2.1
- dev: true
- /esbuild@0.20.2:
+ esbuild@0.20.2:
resolution:
{
integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==,
}
engines: { node: '>=12' }
hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.20.2
- '@esbuild/android-arm': 0.20.2
- '@esbuild/android-arm64': 0.20.2
- '@esbuild/android-x64': 0.20.2
- '@esbuild/darwin-arm64': 0.20.2
- '@esbuild/darwin-x64': 0.20.2
- '@esbuild/freebsd-arm64': 0.20.2
- '@esbuild/freebsd-x64': 0.20.2
- '@esbuild/linux-arm': 0.20.2
- '@esbuild/linux-arm64': 0.20.2
- '@esbuild/linux-ia32': 0.20.2
- '@esbuild/linux-loong64': 0.20.2
- '@esbuild/linux-mips64el': 0.20.2
- '@esbuild/linux-ppc64': 0.20.2
- '@esbuild/linux-riscv64': 0.20.2
- '@esbuild/linux-s390x': 0.20.2
- '@esbuild/linux-x64': 0.20.2
- '@esbuild/netbsd-x64': 0.20.2
- '@esbuild/openbsd-x64': 0.20.2
- '@esbuild/sunos-x64': 0.20.2
- '@esbuild/win32-arm64': 0.20.2
- '@esbuild/win32-ia32': 0.20.2
- '@esbuild/win32-x64': 0.20.2
- dev: true
- /escalade@3.1.2:
+ escalade@3.1.2:
resolution:
{
integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==,
}
engines: { node: '>=6' }
- dev: true
- /escape-string-regexp@1.0.5:
+ escape-string-regexp@1.0.5:
resolution:
{
integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
}
engines: { node: '>=0.8.0' }
- dev: true
- /eventemitter3@4.0.7:
+ eventemitter3@4.0.7:
resolution:
{
integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==,
}
- dev: false
- /exenv@1.2.2:
+ exenv@1.2.2:
resolution:
{
integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==,
}
- dev: false
- /fast-copy@3.0.1:
+ fast-copy@3.0.1:
resolution:
{
integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==,
}
- dev: false
- /file-selector@0.6.0:
+ file-selector@0.6.0:
resolution:
{
integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==,
}
engines: { node: '>= 12' }
- dependencies:
- tslib: 2.6.2
- dev: false
- /file-source@0.6.1:
+ file-source@0.6.1:
resolution:
{
integrity: sha512-1R1KneL7eTXmXfKxC10V/9NeGOdbsAXJ+lQ//fvvcHUgtaZcZDWNJNblxAoVOyV1cj45pOtUrR3vZTBwqcW8XA==,
}
- dependencies:
- stream-source: 0.3.5
- dev: false
- /follow-redirects@1.15.5:
+ follow-redirects@1.15.5:
resolution:
{
integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==,
@@ -2192,651 +1470,475 @@ packages:
peerDependenciesMeta:
debug:
optional: true
- dev: false
- /form-data@4.0.0:
+ form-data@4.0.0:
resolution:
{
integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==,
}
engines: { node: '>= 6' }
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
- dev: false
- /fs-extra@10.1.0:
+ fs-extra@10.1.0:
resolution:
{
integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==,
}
engines: { node: '>=12' }
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
- dev: true
- /fs-extra@4.0.3:
+ fs-extra@4.0.3:
resolution:
{
integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==,
}
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
- dev: false
- /fs.realpath@1.0.0:
+ fs.realpath@1.0.0:
resolution:
{
integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==,
}
- /fsevents@2.3.3:
+ fsevents@2.3.3:
resolution:
{
integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
}
engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
- /gensync@1.0.0-beta.2:
+ gensync@1.0.0-beta.2:
resolution:
{
integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==,
}
engines: { node: '>=6.9.0' }
- dev: true
- /geobuf@3.0.2:
+ geobuf@3.0.2:
resolution:
{
integrity: sha512-ASgKwEAQQRnyNFHNvpd5uAwstbVYmiTW0Caw3fBb509tNTqXyAAPMyFs5NNihsLZhLxU1j/kjFhkhLWA9djuVg==,
}
hasBin: true
- dependencies:
- concat-stream: 2.0.0
- pbf: 3.2.1
- shapefile: 0.6.6
- dev: false
- /geojson-dissolve@3.1.0:
+ geojson-dissolve@3.1.0:
resolution:
{
integrity: sha512-JXHfn+A3tU392HA703gJbjmuHaQOAE/C1KzbELCczFRFux+GdY6zt1nKb1VMBHp4LWeE7gUY2ql+g06vJqhiwQ==,
}
- dependencies:
- '@turf/meta': 3.14.0
- geojson-flatten: 0.2.4
- geojson-linestring-dissolve: 0.0.1
- topojson-client: 3.1.0
- topojson-server: 3.0.1
- dev: false
- /geojson-flatten@0.2.4:
+ geojson-flatten@0.2.4:
resolution:
{
integrity: sha512-LiX6Jmot8adiIdZ/fthbcKKPOfWjTQchX/ggHnwMZ2e4b0I243N1ANUos0LvnzepTEsj0+D4fIJ5bKhBrWnAHA==,
}
hasBin: true
- dependencies:
- get-stdin: 6.0.0
- minimist: 1.2.0
- dev: false
- /geojson-linestring-dissolve@0.0.1:
+ geojson-linestring-dissolve@0.0.1:
resolution:
{
integrity: sha512-Y8I2/Ea28R/Xeki7msBcpMvJL2TaPfaPKP8xqueJfQ9/jEhps+iOJxOR2XCBGgVb12Z6XnDb1CMbaPfLepsLaw==,
}
- dev: false
- /get-stdin@6.0.0:
+ get-stdin@6.0.0:
resolution:
{
integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==,
}
engines: { node: '>=4' }
- dev: false
- /glob@7.2.3:
+ glob@7.2.3:
resolution:
{
integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==,
}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
- /globals@11.12.0:
+ globals@11.12.0:
resolution:
{
integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==,
}
engines: { node: '>=4' }
- dev: true
- /graceful-fs@4.2.11:
+ graceful-fs@4.2.11:
resolution:
{
integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
}
- /has-flag@3.0.0:
+ has-flag@3.0.0:
resolution:
{
integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
}
engines: { node: '>=4' }
- dev: true
- /history@5.3.0:
+ history@5.3.0:
resolution:
{
integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==,
}
- dependencies:
- '@babel/runtime': 7.24.0
- dev: false
- /iconv-lite@0.4.24:
+ iconv-lite@0.4.24:
resolution:
{
integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==,
}
engines: { node: '>=0.10.0' }
- dependencies:
- safer-buffer: 2.1.2
- dev: false
- /ieee754@1.2.1:
+ ieee754@1.2.1:
resolution:
{
integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==,
}
- dev: false
- /import-fresh@3.3.0:
+ import-fresh@3.3.0:
resolution:
{
integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
}
engines: { node: '>=6' }
- dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
- dev: true
- /inflight@1.0.6:
+ inflight@1.0.6:
resolution:
{
integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==,
}
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
- /inherits@2.0.4:
+ inherits@2.0.4:
resolution:
{
integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
}
- /is-arrayish@0.2.1:
+ is-arrayish@0.2.1:
resolution:
{
integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
}
- dev: true
- /isarray@0.0.1:
+ isarray@0.0.1:
resolution:
{
integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==,
}
- dev: false
- /jquery@3.7.1:
+ jquery@3.7.1:
resolution:
{
integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==,
}
- dev: false
- /js-tokens@4.0.0:
+ js-tokens@4.0.0:
resolution:
{
integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
}
- /jsesc@2.5.2:
+ jsesc@2.5.2:
resolution:
{
integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==,
}
engines: { node: '>=4' }
hasBin: true
- dev: true
- /json-parse-even-better-errors@2.3.1:
+ json-parse-even-better-errors@2.3.1:
resolution:
{
integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
}
- dev: true
- /json5@2.2.3:
+ json5@2.2.3:
resolution:
{
integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==,
}
engines: { node: '>=6' }
hasBin: true
- dev: true
- /jsonfile@4.0.0:
+ jsonfile@4.0.0:
resolution:
{
integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==,
}
- optionalDependencies:
- graceful-fs: 4.2.11
- dev: false
- /jsonfile@6.1.0:
+ jsonfile@6.1.0:
resolution:
{
integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==,
}
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
- dev: true
- /keyboard-key@1.1.0:
+ keyboard-key@1.1.0:
resolution:
{
integrity: sha512-qkBzPTi3rlAKvX7k0/ub44sqOfXeLc/jcnGGmj5c7BJpU8eDrEVPyhCvNYAaoubbsLm9uGWwQJO1ytQK1a9/dQ==,
}
- dev: false
- /lines-and-columns@1.2.4:
+ lines-and-columns@1.2.4:
resolution:
{
integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
}
- dev: true
- /lodash-es@4.17.21:
+ lodash-es@4.17.21:
resolution:
{
integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==,
}
- dev: false
- /lodash@4.17.21:
+ lodash@4.17.21:
resolution:
{
integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
}
- dev: false
- /loose-envify@1.4.0:
+ loose-envify@1.4.0:
resolution:
{
integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
}
hasBin: true
- dependencies:
- js-tokens: 4.0.0
- dev: false
- /lru-cache@5.1.1:
+ lru-cache@5.1.1:
resolution:
{
integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==,
}
- dependencies:
- yallist: 3.1.1
- dev: true
- /marked@4.3.0:
+ marked@4.3.0:
resolution:
{
integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==,
}
engines: { node: '>= 12' }
hasBin: true
- dev: false
- /memoize-one@5.2.1:
+ memoize-one@5.2.1:
resolution:
{
integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==,
}
- dev: false
- /mime-db@1.52.0:
+ mime-db@1.52.0:
resolution:
{
integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
}
engines: { node: '>= 0.6' }
- dev: false
- /mime-types@2.1.35:
+ mime-types@2.1.35:
resolution:
{
integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==,
}
engines: { node: '>= 0.6' }
- dependencies:
- mime-db: 1.52.0
- dev: false
- /minimatch@3.1.2:
+ minimatch@3.1.2:
resolution:
{
integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
}
- dependencies:
- brace-expansion: 1.1.11
- /minimist@1.2.0:
+ minimist@1.2.0:
resolution:
{
integrity: sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==,
}
- dev: false
- /minimist@1.2.6:
+ minimist@1.2.6:
resolution:
{
integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==,
}
- dev: false
- /ms@2.1.2:
+ ms@2.1.2:
resolution:
{
integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
}
- dev: true
- /nanoid@3.3.7:
+ nanoid@3.3.7:
resolution:
{
integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==,
}
engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
hasBin: true
- dev: true
- /node-releases@2.0.14:
+ node-releases@2.0.14:
resolution:
{
integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==,
}
- dev: true
- /object-assign@4.1.1:
+ object-assign@4.1.1:
resolution:
{
integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
}
engines: { node: '>=0.10.0' }
- dev: false
- /once@1.4.0:
+ once@1.4.0:
resolution:
{
integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
}
- dependencies:
- wrappy: 1.0.2
- /parent-module@1.0.1:
+ parent-module@1.0.1:
resolution:
{
integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
}
engines: { node: '>=6' }
- dependencies:
- callsites: 3.1.0
- dev: true
- /parse-author@2.0.0:
+ parse-author@2.0.0:
resolution:
{
integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==,
}
engines: { node: '>=0.10.0' }
- dependencies:
- author-regex: 1.0.0
- dev: true
- /parse-json@5.2.0:
+ parse-json@5.2.0:
resolution:
{
integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
}
engines: { node: '>=8' }
- dependencies:
- '@babel/code-frame': 7.23.5
- error-ex: 1.3.2
- json-parse-even-better-errors: 2.3.1
- lines-and-columns: 1.2.4
- dev: true
- /parse-svg-path@0.1.2:
+ parse-svg-path@0.1.2:
resolution:
{
integrity: sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==,
}
- dev: false
- /path-browserify@1.0.1:
+ path-browserify@1.0.1:
resolution:
{
integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==,
}
- dev: false
- /path-data-parser@0.1.0:
+ path-data-parser@0.1.0:
resolution:
{
integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==,
}
- dev: false
- /path-is-absolute@1.0.1:
+ path-is-absolute@1.0.1:
resolution:
{
integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==,
}
engines: { node: '>=0.10.0' }
- /path-source@0.1.3:
+ path-source@0.1.3:
resolution:
{
integrity: sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==,
}
- dependencies:
- array-source: 0.0.4
- file-source: 0.6.1
- dev: false
- /path-type@4.0.0:
+ path-type@4.0.0:
resolution:
{
integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
}
engines: { node: '>=8' }
- dev: true
- /pbf@3.2.1:
+ pbf@3.2.1:
resolution:
{
integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==,
}
hasBin: true
- dependencies:
- ieee754: 1.2.1
- resolve-protobuf-schema: 2.1.0
- dev: false
- /picocolors@1.0.0:
+ picocolors@1.0.0:
resolution:
{
integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
}
- dev: true
- /point-at-length@1.1.0:
+ point-at-length@1.1.0:
resolution:
{
integrity: sha512-nNHDk9rNEh/91o2Y8kHLzBLNpLf80RYd2gCun9ss+V0ytRSf6XhryBTx071fesktjbachRmGuUbId+JQmzhRXw==,
}
- dependencies:
- abs-svg-path: 0.1.1
- isarray: 0.0.1
- parse-svg-path: 0.1.2
- dev: false
- /points-on-curve@0.2.0:
+ points-on-curve@0.2.0:
resolution:
{
integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==,
}
- dev: false
- /points-on-path@0.2.1:
+ points-on-path@0.2.1:
resolution:
{
integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==,
}
- dependencies:
- path-data-parser: 0.1.0
- points-on-curve: 0.2.0
- dev: false
- /postcss@8.4.38:
+ postcss@8.4.38:
resolution:
{
integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==,
}
engines: { node: ^10 || ^12 || >=14 }
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.2.0
- dev: true
- /prettier-package-json@2.8.0:
+ prettier-package-json@2.8.0:
resolution:
{
integrity: sha512-WxtodH/wWavfw3MR7yK/GrS4pASEQ+iSTkdtSxPJWvqzG55ir5nvbLt9rw5AOiEcqqPCRM92WCtR1rk3TG3JSQ==,
}
hasBin: true
- dependencies:
- '@types/parse-author': 2.0.3
- commander: 4.1.1
- cosmiconfig: 7.1.0
- fs-extra: 10.1.0
- glob: 7.2.3
- minimatch: 3.1.2
- parse-author: 2.0.0
- sort-object-keys: 1.1.3
- sort-order: 1.1.2
- dev: true
- /prettier-plugin-astro@0.13.0:
+ prettier-plugin-astro@0.13.0:
resolution:
{
integrity: sha512-5HrJNnPmZqTUNoA97zn4gNQv9BgVhv+et03314WpQ9H9N8m2L9OSV798olwmG2YLXPl1iSstlJCR1zB3x5xG4g==,
}
engines: { node: ^14.15.0 || >=16.0.0 }
- dependencies:
- '@astrojs/compiler': 1.8.2
- prettier: 3.2.5
- sass-formatter: 0.7.9
- dev: true
- /prettier-plugin-curly-and-jsdoc@2.0.0(prettier@3.2.5):
+ prettier-plugin-curly-and-jsdoc@2.0.0:
resolution:
{
integrity: sha512-uSjWOWmX8+yrCrfhJSI58ODqtX7lXx07M8JYeOC1hfRv+vCttfiDlZoM27mNChGitJNKI+pCBvMMBYh8JiV0HQ==,
}
peerDependencies:
prettier: ^3.0.0
- dependencies:
- prettier: 3.2.5
- dev: true
- /prettier-plugin-pkgsort@0.2.1(prettier@3.2.5):
+ prettier-plugin-pkgsort@0.2.1:
resolution:
{
integrity: sha512-/k5MIw84EhgoH7dmq4+6ozHjJ0VYbxbw17g4C+WPGHODkLivGwJoA6U1YPR/KObyRDMQJHXAfXKu++9smg7Jyw==,
}
peerDependencies:
prettier: ^3.0.0
- dependencies:
- prettier: 3.2.5
- prettier-package-json: 2.8.0
- dev: true
- /prettier@3.2.5:
+ prettier@3.2.5:
resolution:
{
integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==,
}
engines: { node: '>=14' }
hasBin: true
- dev: true
- /prop-types@15.8.1:
+ prop-types@15.8.1:
resolution:
{
integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==,
}
- dependencies:
- loose-envify: 1.4.0
- object-assign: 4.1.1
- react-is: 16.13.1
- dev: false
- /protocol-buffers-schema@3.6.0:
+ protocol-buffers-schema@3.6.0:
resolution:
{
integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==,
}
- dev: false
- /react-dom@18.2.0(react@18.2.0):
+ react-dom@18.2.0:
resolution:
{
integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==,
}
peerDependencies:
react: ^18.2.0
- dependencies:
- loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
- dev: false
- /react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0):
+ react-draggable@4.4.6:
resolution:
{
integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==,
@@ -2844,14 +1946,8 @@ packages:
peerDependencies:
react: '>= 16.3.0'
react-dom: '>= 16.3.0'
- dependencies:
- clsx: 1.2.1
- prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
- /react-dropzone@14.2.3(react@18.2.0):
+ react-dropzone@14.2.3:
resolution:
{
integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==,
@@ -2859,42 +1955,32 @@ packages:
engines: { node: '>= 10.13' }
peerDependencies:
react: '>= 16.8 || 18.0.0'
- dependencies:
- attr-accept: 2.2.2
- file-selector: 0.6.0
- prop-types: 15.8.1
- react: 18.2.0
- dev: false
- /react-fast-compare@3.2.2:
+ react-fast-compare@3.2.2:
resolution:
{
integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==,
}
- dev: false
- /react-fireworks@1.0.4:
+ react-fireworks@1.0.4:
resolution:
{
integrity: sha512-jj1a+HTicB4pR6g2lqhVyAox0GTE0TOrZK2XaJFRYOwltgQWeYErZxnvU9+zH/blY+Hpmu9IKyb39OD3KcCMJw==,
}
- dev: false
- /react-is@16.13.1:
+ react-is@16.13.1:
resolution:
{
integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==,
}
- dev: false
- /react-is@18.2.0:
+ react-is@18.2.0:
resolution:
{
integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==,
}
- dev: false
- /react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0):
+ react-popper@2.3.0:
resolution:
{
integrity: sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==,
@@ -2903,38 +1989,23 @@ packages:
'@popperjs/core': ^2.0.0
react: ^16.8.0 || ^17 || ^18
react-dom: ^16.8.0 || ^17 || ^18
- dependencies:
- '@popperjs/core': 2.11.8
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-fast-compare: 3.2.2
- warning: 4.0.3
- dev: false
- /react-refresh@0.14.0:
+ react-refresh@0.14.0:
resolution:
{
integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==,
}
engines: { node: '>=0.10.0' }
- dev: true
- /react-resizable@3.0.5(react-dom@18.2.0)(react@18.2.0):
+ react-resizable@3.0.5:
resolution:
{
integrity: sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==,
}
peerDependencies:
react: '>= 16.3'
- dependencies:
- prop-types: 15.8.1
- react: 18.2.0
- react-draggable: 4.4.6(react-dom@18.2.0)(react@18.2.0)
- transitivePeerDependencies:
- - react-dom
- dev: false
- /react-router-dom@6.22.2(react-dom@18.2.0)(react@18.2.0):
+ react-router-dom@6.22.2:
resolution:
{
integrity: sha512-WgqxD2qySEIBPZ3w0sHH+PUAiamDeszls9tzqMPBDA1YYVucTBXLU7+gtRfcSnhe92A3glPnvSxK2dhNoAVOIQ==,
@@ -2943,14 +2014,8 @@ packages:
peerDependencies:
react: '>=16.8'
react-dom: '>=16.8'
- dependencies:
- '@remix-run/router': 1.15.2
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-router: 6.22.2(react@18.2.0)
- dev: false
- /react-router@6.22.2(react@18.2.0):
+ react-router@6.22.2:
resolution:
{
integrity: sha512-YD3Dzprzpcq+tBMHBS822tCjnWD3iIZbTeSXMY9LPSG541EfoBGyZ3bS25KEnaZjLcmQpw2AVLkFyfgXY8uvcw==,
@@ -2958,23 +2023,16 @@ packages:
engines: { node: '>=14.0.0' }
peerDependencies:
react: '>=16.8'
- dependencies:
- '@remix-run/router': 1.15.2
- react: 18.2.0
- dev: false
- /react-telegram-login@1.1.2(react@18.2.0):
+ react-telegram-login@1.1.2:
resolution:
{
integrity: sha512-pDP+bvfaklWgnK5O6yvZnIwgky0nnYUU6Zhk0EjdMSkPsLQoOzZRsXIoZnbxyBXhi7346bsxMH+EwwJPTxClDw==,
}
peerDependencies:
react: ^16.13.1
- dependencies:
- react: 18.2.0
- dev: false
- /react-toastify@9.1.3(react-dom@18.2.0)(react@18.2.0):
+ react-toastify@9.1.3:
resolution:
{
integrity: sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==,
@@ -2982,13 +2040,8 @@ packages:
peerDependencies:
react: '>=16'
react-dom: '>=16'
- dependencies:
- clsx: 1.2.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
- /react-turnstile@1.1.3(react-dom@18.2.0)(react@18.2.0):
+ react-turnstile@1.1.3:
resolution:
{
integrity: sha512-nWgsnN2IgDSj91BK2iF/9GMVRJK0KPuDDxgnhs4o/7zfIRfyZG/ALWs+JJ8unW84MtFXpcEiPsookkd/FIb4aw==,
@@ -2996,12 +2049,8 @@ packages:
peerDependencies:
react: '>= 16.13.1'
react-dom: '>= 16.13.1'
- dependencies:
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
- /react-window@1.8.10(react-dom@18.2.0)(react@18.2.0):
+ react-window@1.8.10:
resolution:
{
integrity: sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==,
@@ -3010,174 +2059,109 @@ packages:
peerDependencies:
react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@babel/runtime': 7.24.0
- memoize-one: 5.2.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
- /react@18.2.0:
+ react@18.2.0:
resolution:
{
integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==,
}
engines: { node: '>=0.10.0' }
- dependencies:
- loose-envify: 1.4.0
- dev: false
- /readable-stream@1.1.14:
+ readable-stream@1.1.14:
resolution:
{
integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==,
}
- dependencies:
- core-util-is: 1.0.3
- inherits: 2.0.4
- isarray: 0.0.1
- string_decoder: 0.10.31
- dev: false
- /readable-stream@3.6.2:
+ readable-stream@3.6.2:
resolution:
{
integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==,
}
engines: { node: '>= 6' }
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
- dev: false
- /regenerator-runtime@0.14.1:
+ regenerator-runtime@0.14.1:
resolution:
{
integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==,
}
- dev: false
- /resolve-from@4.0.0:
+ resolve-from@4.0.0:
resolution:
{
integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
}
engines: { node: '>=4' }
- dev: true
- /resolve-protobuf-schema@2.1.0:
+ resolve-protobuf-schema@2.1.0:
resolution:
{
integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==,
}
- dependencies:
- protocol-buffers-schema: 3.6.0
- dev: false
- /rollup@4.13.0:
+ rollup@4.13.0:
resolution:
{
integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==,
}
engines: { node: '>=18.0.0', npm: '>=8.0.0' }
hasBin: true
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.13.0
- '@rollup/rollup-android-arm64': 4.13.0
- '@rollup/rollup-darwin-arm64': 4.13.0
- '@rollup/rollup-darwin-x64': 4.13.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
- '@rollup/rollup-linux-arm64-gnu': 4.13.0
- '@rollup/rollup-linux-arm64-musl': 4.13.0
- '@rollup/rollup-linux-riscv64-gnu': 4.13.0
- '@rollup/rollup-linux-x64-gnu': 4.13.0
- '@rollup/rollup-linux-x64-musl': 4.13.0
- '@rollup/rollup-win32-arm64-msvc': 4.13.0
- '@rollup/rollup-win32-ia32-msvc': 4.13.0
- '@rollup/rollup-win32-x64-msvc': 4.13.0
- fsevents: 2.3.3
- dev: true
- /roughjs@4.5.2:
+ roughjs@4.5.2:
resolution:
{
integrity: sha512-2xSlLDKdsWyFxrveYWk9YQ/Y9UfK38EAMRNkYkMqYBJvPX8abCa9PN0x3w02H8Oa6/0bcZICJU+U95VumPqseg==,
}
- dependencies:
- path-data-parser: 0.1.0
- points-on-curve: 0.2.0
- points-on-path: 0.2.1
- dev: false
- /rw@1.3.3:
+ rw@1.3.3:
resolution:
{
integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==,
}
- dev: false
- /s.color@0.0.15:
+ s.color@0.0.15:
resolution:
{
integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==,
}
- dev: true
- /safe-buffer@5.2.1:
+ safe-buffer@5.2.1:
resolution:
{
integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
}
- dev: false
- /safer-buffer@2.1.2:
+ safer-buffer@2.1.2:
resolution:
{
integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==,
}
- dev: false
- /sass-formatter@0.7.9:
+ sass-formatter@0.7.9:
resolution:
{
integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==,
}
- dependencies:
- suf-log: 2.5.3
- dev: true
- /scheduler@0.23.0:
+ scheduler@0.23.0:
resolution:
{
integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==,
}
- dependencies:
- loose-envify: 1.4.0
- dev: false
- /scroll-into-view-if-needed@2.2.31:
+ scroll-into-view-if-needed@2.2.31:
resolution:
{
integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==,
}
- dependencies:
- compute-scroll-into-view: 1.0.20
- dev: false
- /semantic-ui-offline@2.5.0:
+ semantic-ui-offline@2.5.0:
resolution:
{
integrity: sha512-Fldx3SfaVtWx5EeCb/5EiJwYkzrGbtsAwVs02xLkeV5z5l8GJmplWEVOeJVjbEpmyiwPWp7cA48JwT5RjbWBVA==,
}
- dependencies:
- fs-extra: 4.0.3
- jquery: 3.7.1
- dev: false
- /semantic-ui-react@2.1.5(react-dom@18.2.0)(react@18.2.0):
+ semantic-ui-react@2.1.5:
resolution:
{
integrity: sha512-nIqmmUNpFHfovEb+RI2w3E2/maZQutd8UIWyRjf1SLse+XF51hI559xbz/sLN3O6RpLjr/echLOOXwKCirPy3Q==,
@@ -3185,234 +2169,171 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@babel/runtime': 7.24.0
- '@fluentui/react-component-event-listener': 0.63.1(react-dom@18.2.0)(react@18.2.0)
- '@fluentui/react-component-ref': 0.63.1(react-dom@18.2.0)(react@18.2.0)
- '@popperjs/core': 2.11.8
- '@semantic-ui-react/event-stack': 3.1.3(react-dom@18.2.0)(react@18.2.0)
- clsx: 1.2.1
- keyboard-key: 1.1.0
- lodash: 4.17.21
- lodash-es: 4.17.21
- prop-types: 15.8.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-is: 18.2.0
- react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0)
- shallowequal: 1.1.0
- dev: false
- /semver@6.3.1:
+ semver@6.3.1:
resolution:
{
integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==,
}
hasBin: true
- dev: true
- /shallowequal@1.1.0:
+ shallowequal@1.1.0:
resolution:
{
integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==,
}
- dev: false
- /shapefile@0.6.6:
+ shapefile@0.6.6:
resolution:
{
integrity: sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==,
}
hasBin: true
- dependencies:
- array-source: 0.0.4
- commander: 2.20.3
- path-source: 0.1.3
- slice-source: 0.4.1
- stream-source: 0.3.5
- text-encoding: 0.6.4
- dev: false
- /simple-statistics@7.8.3:
+ simple-statistics@7.8.3:
resolution:
{
integrity: sha512-JFvMY00t6SBGtwMuJ+nqgsx9ylkMiJ5JlK9bkj8AdvniIe5615wWQYkKHXe84XtSuc40G/tlrPu0A5/NlJvv8A==,
}
- dev: false
- /simplify-geojson@1.0.5:
+ simplify-geojson@1.0.5:
resolution:
{
integrity: sha512-02l1W4UipP5ivNVq6kX15mAzCRIV1oI3tz0FUEyOsNiv1ltuFDjbNhO+nbv/xhbDEtKqWLYuzpWhUsJrjR/ypA==,
}
hasBin: true
- dependencies:
- concat-stream: 1.4.11
- minimist: 1.2.6
- simplify-geometry: 0.0.2
- dev: false
- /simplify-geometry@0.0.2:
+ simplify-geometry@0.0.2:
resolution:
{
integrity: sha512-ZEyrplkqgCqDlL7V8GbbYgTLlcnNF+MWWUdy8s8ZeJru50bnI71rDew/I+HG36QS2mPOYAq1ZjwNXxHJ8XOVBw==,
}
- dev: false
- /slice-source@0.4.1:
+ slice-source@0.4.1:
resolution:
{
integrity: sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==,
}
- dev: false
- /sort-object-keys@1.1.3:
+ sort-object-keys@1.1.3:
resolution:
{
integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==,
}
- dev: true
- /sort-order@1.1.2:
+ sort-order@1.1.2:
resolution:
{
integrity: sha512-Q8tOrwB1TSv9fNUXym9st3TZJODtmcOIi2JWCkVNQPrRg17KPwlpwweTEb7pMwUIFMTAgx2/JsQQXEPFzYQj3A==,
}
- dev: true
- /source-map-js@1.2.0:
+ source-map-js@1.2.0:
resolution:
{
integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==,
}
engines: { node: '>=0.10.0' }
- dev: true
- /stream-source@0.3.5:
+ stream-source@0.3.5:
resolution:
{
integrity: sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==,
}
- dev: false
- /string_decoder@0.10.31:
+ string_decoder@0.10.31:
resolution:
{
integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==,
}
- dev: false
- /string_decoder@1.3.0:
+ string_decoder@1.3.0:
resolution:
{
integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==,
}
- dependencies:
- safe-buffer: 5.2.1
- dev: false
- /suf-log@2.5.3:
+ suf-log@2.5.3:
resolution:
{
integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==,
}
- dependencies:
- s.color: 0.0.15
- dev: true
- /supports-color@5.5.0:
+ supports-color@5.5.0:
resolution:
{
integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
}
engines: { node: '>=4' }
- dependencies:
- has-flag: 3.0.0
- dev: true
- /text-encoding@0.6.4:
+ text-encoding@0.6.4:
resolution:
{
integrity: sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==,
}
deprecated: no longer maintained
- dev: false
- /to-fast-properties@2.0.0:
+ to-fast-properties@2.0.0:
resolution:
{
integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==,
}
engines: { node: '>=4' }
- dev: true
- /topojson-client@3.1.0:
+ topojson-client@3.1.0:
resolution:
{
integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==,
}
hasBin: true
- dependencies:
- commander: 2.20.3
- dev: false
- /topojson-server@3.0.1:
+ topojson-server@3.0.1:
resolution:
{
integrity: sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==,
}
hasBin: true
- dependencies:
- commander: 2.20.3
- dev: false
- /tslib@2.6.2:
+ tslib@2.6.2:
resolution:
{
integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==,
}
- dev: false
- /typedarray@0.0.6:
+ typedarray@0.0.6:
resolution:
{
integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==,
}
- dev: false
- /typedarray@0.0.7:
+ typedarray@0.0.7:
resolution:
{
integrity: sha512-ueeb9YybpjhivjbHP2LdFDAjbS948fGEPj+ACAMs4xCMmh72OCOMQWBQKlaN4ZNQ04yfLSDLSx1tGRIoWimObQ==,
}
- dev: false
- /typescript@4.4.2:
+ typescript@4.4.2:
resolution:
{
integrity: sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==,
}
engines: { node: '>=4.2.0' }
hasBin: true
- dev: true
- /universalify@0.1.2:
+ universalify@0.1.2:
resolution:
{
integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==,
}
engines: { node: '>= 4.0.0' }
- dev: false
- /universalify@2.0.1:
+ universalify@2.0.1:
resolution:
{
integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==,
}
engines: { node: '>= 10.0.0' }
- dev: true
- /update-browserslist-db@1.0.13(browserslist@4.23.0):
+ update-browserslist-db@1.0.13:
resolution:
{
integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==,
@@ -3420,28 +2341,21 @@ packages:
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.23.0
- escalade: 3.1.2
- picocolors: 1.0.0
- dev: true
- /util-deprecate@1.0.2:
+ util-deprecate@1.0.2:
resolution:
{
integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
}
- dev: false
- /utility-types@3.11.0:
+ utility-types@3.11.0:
resolution:
{
integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==,
}
engines: { node: '>= 4' }
- dev: false
- /vite@5.2.5:
+ vite@5.2.5:
resolution:
{
integrity: sha512-a+rTAqkMmJ2hQpC6dfAyyc5M0YLH3BGZKLpA6pU9AhzlcK1YZS8P/ov9OcdHxaf+j0sM0DIh/txH7ydTHUpISg==,
@@ -3471,40 +2385,1417 @@ packages:
optional: true
terser:
optional: true
- dependencies:
- esbuild: 0.20.2
- postcss: 8.4.38
- rollup: 4.13.0
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
- /warning@4.0.3:
+ warning@4.0.3:
resolution:
{
integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==,
}
- dependencies:
- loose-envify: 1.4.0
- dev: false
- /wrappy@1.0.2:
+ wrappy@1.0.2:
resolution:
{
integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
}
- /yallist@3.1.1:
+ yallist@3.1.1:
resolution:
{
integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
}
- dev: true
- /yaml@1.10.2:
+ yaml@1.10.2:
resolution:
{
integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==,
}
engines: { node: '>= 6' }
- dev: true
+
+snapshots:
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.24
+
+ '@astrojs/compiler@1.8.2': {}
+
+ '@babel/code-frame@7.23.5':
+ dependencies:
+ '@babel/highlight': 7.23.4
+ chalk: 2.4.2
+
+ '@babel/compat-data@7.23.5': {}
+
+ '@babel/core@7.24.0':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
+ '@babel/helpers': 7.24.0
+ '@babel/parser': 7.24.0
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.0
+ '@babel/types': 7.24.0
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.23.6':
+ dependencies:
+ '@babel/types': 7.24.0
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.24
+ jsesc: 2.5.2
+
+ '@babel/helper-compilation-targets@7.23.6':
+ dependencies:
+ '@babel/compat-data': 7.23.5
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.23.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-environment-visitor@7.22.20': {}
+
+ '@babel/helper-function-name@7.23.0':
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.0
+
+ '@babel/helper-hoist-variables@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@babel/helper-module-imports@7.22.15':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0)':
+ dependencies:
+ '@babel/core': 7.24.0
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-simple-access': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/helper-validator-identifier': 7.22.20
+
+ '@babel/helper-plugin-utils@7.24.0': {}
+
+ '@babel/helper-simple-access@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@babel/helper-split-export-declaration@7.22.6':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@babel/helper-string-parser@7.23.4': {}
+
+ '@babel/helper-validator-identifier@7.22.20': {}
+
+ '@babel/helper-validator-option@7.23.5': {}
+
+ '@babel/helpers@7.24.0':
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.0
+ '@babel/types': 7.24.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/highlight@7.23.4':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+
+ '@babel/parser@7.24.0':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.0)':
+ dependencies:
+ '@babel/core': 7.24.0
+ '@babel/helper-plugin-utils': 7.24.0
+
+ '@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.0)':
+ dependencies:
+ '@babel/core': 7.24.0
+ '@babel/helper-plugin-utils': 7.24.0
+
+ '@babel/runtime@7.24.0':
+ dependencies:
+ regenerator-runtime: 0.14.1
+
+ '@babel/template@7.24.0':
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/parser': 7.24.0
+ '@babel/types': 7.24.0
+
+ '@babel/traverse@7.24.0':
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ '@babel/generator': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ '@babel/parser': 7.24.0
+ '@babel/types': 7.24.0
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.24.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-validator-identifier': 7.22.20
+ to-fast-properties: 2.0.0
+
+ '@dnd-kit/accessibility@3.1.0(react@18.2.0)':
+ dependencies:
+ react: 18.2.0
+ tslib: 2.6.2
+
+ '@dnd-kit/core@6.1.0(react-dom@18.2.0)(react@18.2.0)':
+ dependencies:
+ '@dnd-kit/accessibility': 3.1.0(react@18.2.0)
+ '@dnd-kit/utilities': 3.2.2(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ tslib: 2.6.2
+
+ '@dnd-kit/sortable@7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0)':
+ dependencies:
+ '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0)
+ '@dnd-kit/utilities': 3.2.2(react@18.2.0)
+ react: 18.2.0
+ tslib: 2.6.2
+
+ '@dnd-kit/utilities@3.2.2(react@18.2.0)':
+ dependencies:
+ react: 18.2.0
+ tslib: 2.6.2
+
+ '@douyinfe/semi-animation-react@2.55.3':
+ dependencies:
+ '@douyinfe/semi-animation': 2.55.3
+ '@douyinfe/semi-animation-styled': 2.55.3
+ classnames: 2.5.1
+
+ '@douyinfe/semi-animation-styled@2.55.3': {}
+
+ '@douyinfe/semi-animation@2.55.3':
+ dependencies:
+ bezier-easing: 2.1.0
+
+ '@douyinfe/semi-foundation@2.55.3':
+ dependencies:
+ '@douyinfe/semi-animation': 2.55.3
+ async-validator: 3.5.2
+ classnames: 2.5.1
+ date-fns: 2.30.0
+ date-fns-tz: 1.3.8(date-fns@2.30.0)
+ fast-copy: 3.0.1
+ lodash: 4.17.21
+ memoize-one: 5.2.1
+ scroll-into-view-if-needed: 2.2.31
+
+ '@douyinfe/semi-icons@2.53.2(react@18.2.0)':
+ dependencies:
+ classnames: 2.5.1
+ react: 18.2.0
+
+ '@douyinfe/semi-icons@2.55.3(react@18.2.0)':
+ dependencies:
+ classnames: 2.5.1
+ react: 18.2.0
+
+ '@douyinfe/semi-illustrations@2.55.3(react@18.2.0)':
+ dependencies:
+ react: 18.2.0
+
+ '@douyinfe/semi-theme-default@2.55.3':
+ dependencies:
+ glob: 7.2.3
+
+ '@douyinfe/semi-ui@2.55.3(react-dom@18.2.0)(react@18.2.0)':
+ dependencies:
+ '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0)
+ '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0)
+ '@dnd-kit/utilities': 3.2.2(react@18.2.0)
+ '@douyinfe/semi-animation': 2.55.3
+ '@douyinfe/semi-animation-react': 2.55.3
+ '@douyinfe/semi-foundation': 2.55.3
+ '@douyinfe/semi-icons': 2.55.3(react@18.2.0)
+ '@douyinfe/semi-illustrations': 2.55.3(react@18.2.0)
+ '@douyinfe/semi-theme-default': 2.55.3
+ async-validator: 3.5.2
+ classnames: 2.5.1
+ copy-text-to-clipboard: 2.2.0
+ date-fns: 2.30.0
+ date-fns-tz: 1.3.8(date-fns@2.30.0)
+ fast-copy: 3.0.1
+ lodash: 4.17.21
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-resizable: 3.0.5(react-dom@18.2.0)(react@18.2.0)
+ react-window: 1.8.10(react-dom@18.2.0)(react@18.2.0)
+ scroll-into-view-if-needed: 2.2.31
+ utility-types: 3.11.0
+
+ '@esbuild/aix-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/android-arm@0.20.2':
+ optional: true
+
+ '@esbuild/android-x64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/darwin-x64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-arm@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/linux-loong64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.20.2':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.20.2':
+ optional: true
+
+ '@esbuild/linux-s390x@0.20.2':
+ optional: true
+
+ '@esbuild/linux-x64@0.20.2':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.20.2':
+ optional: true
+
+ '@esbuild/sunos-x64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-arm64@0.20.2':
+ optional: true
+
+ '@esbuild/win32-ia32@0.20.2':
+ optional: true
+
+ '@esbuild/win32-x64@0.20.2':
+ optional: true
+
+ '@fluentui/react-component-event-listener@0.63.1(react-dom@18.2.0)(react@18.2.0)':
+ dependencies:
+ '@babel/runtime': 7.24.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ '@fluentui/react-component-ref@0.63.1(react-dom@18.2.0)(react@18.2.0)':
+ dependencies:
+ '@babel/runtime': 7.24.0
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-is: 16.13.1
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.24
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/sourcemap-codec@1.4.15': {}
+
+ '@jridgewell/trace-mapping@0.3.24':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ '@popperjs/core@2.11.8': {}
+
+ '@remix-run/router@1.15.2': {}
+
+ '@resvg/resvg-js-android-arm-eabi@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-android-arm64@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-darwin-arm64@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-darwin-x64@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm-gnueabihf@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm64-gnu@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-linux-arm64-musl@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-linux-x64-gnu@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-linux-x64-musl@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-win32-arm64-msvc@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-win32-ia32-msvc@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js-win32-x64-msvc@2.4.1':
+ optional: true
+
+ '@resvg/resvg-js@2.4.1':
+ optionalDependencies:
+ '@resvg/resvg-js-android-arm-eabi': 2.4.1
+ '@resvg/resvg-js-android-arm64': 2.4.1
+ '@resvg/resvg-js-darwin-arm64': 2.4.1
+ '@resvg/resvg-js-darwin-x64': 2.4.1
+ '@resvg/resvg-js-linux-arm-gnueabihf': 2.4.1
+ '@resvg/resvg-js-linux-arm64-gnu': 2.4.1
+ '@resvg/resvg-js-linux-arm64-musl': 2.4.1
+ '@resvg/resvg-js-linux-x64-gnu': 2.4.1
+ '@resvg/resvg-js-linux-x64-musl': 2.4.1
+ '@resvg/resvg-js-win32-arm64-msvc': 2.4.1
+ '@resvg/resvg-js-win32-ia32-msvc': 2.4.1
+ '@resvg/resvg-js-win32-x64-msvc': 2.4.1
+
+ '@rollup/rollup-android-arm-eabi@4.13.0':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.13.0':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.13.0':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.13.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.13.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.13.0':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.13.0':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.13.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.13.0':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.13.0':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.13.0':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.13.0':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.13.0':
+ optional: true
+
+ '@semantic-ui-react/event-stack@3.1.3(react-dom@18.2.0)(react@18.2.0)':
+ dependencies:
+ exenv: 1.2.2
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ '@so1ve/prettier-config@2.0.0(prettier@3.2.5)':
+ dependencies:
+ '@so1ve/prettier-plugin-toml': 2.0.0(prettier@3.2.5)
+ prettier: 3.2.5
+ prettier-plugin-astro: 0.13.0
+ prettier-plugin-curly-and-jsdoc: 2.0.0(prettier@3.2.5)
+ prettier-plugin-pkgsort: 0.2.1(prettier@3.2.5)
+
+ '@so1ve/prettier-plugin-toml@2.0.0(prettier@3.2.5)':
+ dependencies:
+ prettier: 3.2.5
+
+ '@turf/boolean-clockwise@6.5.0':
+ dependencies:
+ '@turf/helpers': 6.5.0
+ '@turf/invariant': 6.5.0
+
+ '@turf/clone@6.5.0':
+ dependencies:
+ '@turf/helpers': 6.5.0
+
+ '@turf/flatten@6.5.0':
+ dependencies:
+ '@turf/helpers': 6.5.0
+ '@turf/meta': 6.5.0
+
+ '@turf/helpers@6.5.0': {}
+
+ '@turf/invariant@6.5.0':
+ dependencies:
+ '@turf/helpers': 6.5.0
+
+ '@turf/meta@3.14.0': {}
+
+ '@turf/meta@6.5.0':
+ dependencies:
+ '@turf/helpers': 6.5.0
+
+ '@turf/rewind@6.5.0':
+ dependencies:
+ '@turf/boolean-clockwise': 6.5.0
+ '@turf/clone': 6.5.0
+ '@turf/helpers': 6.5.0
+ '@turf/invariant': 6.5.0
+ '@turf/meta': 6.5.0
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.24.0
+ '@babel/types': 7.24.0
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.5
+
+ '@types/babel__generator@7.6.8':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.24.0
+ '@babel/types': 7.24.0
+
+ '@types/babel__traverse@7.20.5':
+ dependencies:
+ '@babel/types': 7.24.0
+
+ '@types/estree@1.0.5': {}
+
+ '@types/parse-author@2.0.3': {}
+
+ '@types/parse-json@4.0.2': {}
+
+ '@visactor/react-vchart@1.8.11(react-dom@18.2.0)(react@18.2.0)':
+ dependencies:
+ '@visactor/vchart': 1.8.11
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vutils': 0.17.5
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-is: 18.2.0
+
+ '@visactor/vchart-semi-theme@1.8.8(@visactor/vchart@1.8.11)':
+ dependencies:
+ '@visactor/vchart': 1.8.11
+ '@visactor/vchart-theme-utils': 1.8.8(@visactor/vchart@1.8.11)
+
+ '@visactor/vchart-theme-utils@1.8.8(@visactor/vchart@1.8.11)':
+ dependencies:
+ '@visactor/vchart': 1.8.11
+
+ '@visactor/vchart@1.8.11':
+ dependencies:
+ '@visactor/vdataset': 0.17.5
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vgrammar-hierarchy': 0.10.11
+ '@visactor/vgrammar-projection': 0.10.11
+ '@visactor/vgrammar-sankey': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vgrammar-wordcloud': 0.10.11
+ '@visactor/vgrammar-wordcloud-shape': 0.10.11
+ '@visactor/vrender-components': 0.17.17
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vscale': 0.17.5
+ '@visactor/vutils': 0.17.5
+ '@visactor/vutils-extension': 1.8.11
+
+ '@visactor/vdataset@0.17.5':
+ dependencies:
+ '@turf/flatten': 6.5.0
+ '@turf/helpers': 6.5.0
+ '@turf/rewind': 6.5.0
+ '@visactor/vutils': 0.17.5
+ d3-dsv: 2.0.0
+ d3-geo: 1.12.1
+ d3-hexbin: 0.2.2
+ d3-hierarchy: 3.1.2
+ eventemitter3: 4.0.7
+ geobuf: 3.0.2
+ geojson-dissolve: 3.1.0
+ path-browserify: 1.0.1
+ pbf: 3.2.1
+ point-at-length: 1.1.0
+ simple-statistics: 7.8.3
+ simplify-geojson: 1.0.5
+ topojson-client: 3.1.0
+
+ '@visactor/vgrammar-coordinate@0.10.11':
+ dependencies:
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vgrammar-core@0.10.11':
+ dependencies:
+ '@visactor/vdataset': 0.17.5
+ '@visactor/vgrammar-coordinate': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vrender-components': 0.17.17
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vscale': 0.17.5
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vgrammar-hierarchy@0.10.11':
+ dependencies:
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vgrammar-projection@0.10.11':
+ dependencies:
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vutils': 0.17.5
+ d3-geo: 1.12.1
+
+ '@visactor/vgrammar-sankey@0.10.11':
+ dependencies:
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vgrammar-util@0.10.11':
+ dependencies:
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vgrammar-wordcloud-shape@0.10.11':
+ dependencies:
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vscale': 0.17.5
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vgrammar-wordcloud@0.10.11':
+ dependencies:
+ '@visactor/vgrammar-core': 0.10.11
+ '@visactor/vgrammar-util': 0.10.11
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vrender-components@0.17.17':
+ dependencies:
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vscale': 0.17.5
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vrender-core@0.17.17':
+ dependencies:
+ '@visactor/vutils': 0.17.5
+ color-convert: 2.0.1
+
+ '@visactor/vrender-kits@0.17.17':
+ dependencies:
+ '@resvg/resvg-js': 2.4.1
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vutils': 0.17.5
+ roughjs: 4.5.2
+
+ '@visactor/vscale@0.17.5':
+ dependencies:
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vutils-extension@1.8.11':
+ dependencies:
+ '@visactor/vrender-core': 0.17.17
+ '@visactor/vrender-kits': 0.17.17
+ '@visactor/vscale': 0.17.5
+ '@visactor/vutils': 0.17.5
+
+ '@visactor/vutils@0.17.5':
+ dependencies:
+ '@turf/helpers': 6.5.0
+ '@turf/invariant': 6.5.0
+ eventemitter3: 4.0.7
+
+ '@vitejs/plugin-react@4.2.1(vite@5.2.5)':
+ dependencies:
+ '@babel/core': 7.24.0
+ '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.0)
+ '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.0)
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.14.0
+ vite: 5.2.5
+ transitivePeerDependencies:
+ - supports-color
+
+ abs-svg-path@0.1.1: {}
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ array-source@0.0.4: {}
+
+ async-validator@3.5.2: {}
+
+ asynckit@0.4.0: {}
+
+ attr-accept@2.2.2: {}
+
+ author-regex@1.0.0: {}
+
+ axios@0.27.2:
+ dependencies:
+ follow-redirects: 1.15.5
+ form-data: 4.0.0
+ transitivePeerDependencies:
+ - debug
+
+ balanced-match@1.0.2: {}
+
+ bezier-easing@2.1.0: {}
+
+ brace-expansion@1.1.11:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ browserslist@4.23.0:
+ dependencies:
+ caniuse-lite: 1.0.30001591
+ electron-to-chromium: 1.4.690
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.23.0)
+
+ buffer-from@1.1.2: {}
+
+ callsites@3.1.0: {}
+
+ caniuse-lite@1.0.30001591: {}
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ classnames@2.5.1: {}
+
+ clsx@1.2.1: {}
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.3: {}
+
+ color-name@1.1.4: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ commander@2.20.3: {}
+
+ commander@4.1.1: {}
+
+ compute-scroll-into-view@1.0.20: {}
+
+ concat-map@0.0.1: {}
+
+ concat-stream@1.4.11:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 1.1.14
+ typedarray: 0.0.7
+
+ concat-stream@2.0.0:
+ dependencies:
+ buffer-from: 1.1.2
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ typedarray: 0.0.6
+
+ convert-source-map@2.0.0: {}
+
+ copy-text-to-clipboard@2.2.0: {}
+
+ core-util-is@1.0.3: {}
+
+ cosmiconfig@7.1.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ d3-array@1.2.4: {}
+
+ d3-dsv@2.0.0:
+ dependencies:
+ commander: 2.20.3
+ iconv-lite: 0.4.24
+ rw: 1.3.3
+
+ d3-geo@1.12.1:
+ dependencies:
+ d3-array: 1.2.4
+
+ d3-hexbin@0.2.2: {}
+
+ d3-hierarchy@3.1.2: {}
+
+ date-fns-tz@1.3.8(date-fns@2.30.0):
+ dependencies:
+ date-fns: 2.30.0
+
+ date-fns@2.30.0:
+ dependencies:
+ '@babel/runtime': 7.24.0
+
+ dayjs@1.11.11: {}
+
+ debug@4.3.4:
+ dependencies:
+ ms: 2.1.2
+
+ delayed-stream@1.0.0: {}
+
+ electron-to-chromium@1.4.690: {}
+
+ error-ex@1.3.2:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ esbuild@0.20.2:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
+
+ escalade@3.1.2: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ eventemitter3@4.0.7: {}
+
+ exenv@1.2.2: {}
+
+ fast-copy@3.0.1: {}
+
+ file-selector@0.6.0:
+ dependencies:
+ tslib: 2.6.2
+
+ file-source@0.6.1:
+ dependencies:
+ stream-source: 0.3.5
+
+ follow-redirects@1.15.5: {}
+
+ form-data@4.0.0:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
+ fs-extra@10.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
+ fs-extra@4.0.3:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+
+ fs.realpath@1.0.0: {}
+
+ fsevents@2.3.3:
+ optional: true
+
+ gensync@1.0.0-beta.2: {}
+
+ geobuf@3.0.2:
+ dependencies:
+ concat-stream: 2.0.0
+ pbf: 3.2.1
+ shapefile: 0.6.6
+
+ geojson-dissolve@3.1.0:
+ dependencies:
+ '@turf/meta': 3.14.0
+ geojson-flatten: 0.2.4
+ geojson-linestring-dissolve: 0.0.1
+ topojson-client: 3.1.0
+ topojson-server: 3.0.1
+
+ geojson-flatten@0.2.4:
+ dependencies:
+ get-stdin: 6.0.0
+ minimist: 1.2.0
+
+ geojson-linestring-dissolve@0.0.1: {}
+
+ get-stdin@6.0.0: {}
+
+ glob@7.2.3:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ globals@11.12.0: {}
+
+ graceful-fs@4.2.11: {}
+
+ has-flag@3.0.0: {}
+
+ history@5.3.0:
+ dependencies:
+ '@babel/runtime': 7.24.0
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ ieee754@1.2.1: {}
+
+ import-fresh@3.3.0:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.4: {}
+
+ is-arrayish@0.2.1: {}
+
+ isarray@0.0.1: {}
+
+ jquery@3.7.1: {}
+
+ js-tokens@4.0.0: {}
+
+ jsesc@2.5.2: {}
+
+ json-parse-even-better-errors@2.3.1: {}
+
+ json5@2.2.3: {}
+
+ jsonfile@4.0.0:
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ jsonfile@6.1.0:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ keyboard-key@1.1.0: {}
+
+ lines-and-columns@1.2.4: {}
+
+ lodash-es@4.17.21: {}
+
+ lodash@4.17.21: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ marked@4.3.0: {}
+
+ memoize-one@5.2.1: {}
+
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.11
+
+ minimist@1.2.0: {}
+
+ minimist@1.2.6: {}
+
+ ms@2.1.2: {}
+
+ nanoid@3.3.7: {}
+
+ node-releases@2.0.14: {}
+
+ object-assign@4.1.1: {}
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ parse-author@2.0.0:
+ dependencies:
+ author-regex: 1.0.0
+
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.23.5
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ parse-svg-path@0.1.2: {}
+
+ path-browserify@1.0.1: {}
+
+ path-data-parser@0.1.0: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-source@0.1.3:
+ dependencies:
+ array-source: 0.0.4
+ file-source: 0.6.1
+
+ path-type@4.0.0: {}
+
+ pbf@3.2.1:
+ dependencies:
+ ieee754: 1.2.1
+ resolve-protobuf-schema: 2.1.0
+
+ picocolors@1.0.0: {}
+
+ point-at-length@1.1.0:
+ dependencies:
+ abs-svg-path: 0.1.1
+ isarray: 0.0.1
+ parse-svg-path: 0.1.2
+
+ points-on-curve@0.2.0: {}
+
+ points-on-path@0.2.1:
+ dependencies:
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+
+ postcss@8.4.38:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+
+ prettier-package-json@2.8.0:
+ dependencies:
+ '@types/parse-author': 2.0.3
+ commander: 4.1.1
+ cosmiconfig: 7.1.0
+ fs-extra: 10.1.0
+ glob: 7.2.3
+ minimatch: 3.1.2
+ parse-author: 2.0.0
+ sort-object-keys: 1.1.3
+ sort-order: 1.1.2
+
+ prettier-plugin-astro@0.13.0:
+ dependencies:
+ '@astrojs/compiler': 1.8.2
+ prettier: 3.2.5
+ sass-formatter: 0.7.9
+
+ prettier-plugin-curly-and-jsdoc@2.0.0(prettier@3.2.5):
+ dependencies:
+ prettier: 3.2.5
+
+ prettier-plugin-pkgsort@0.2.1(prettier@3.2.5):
+ dependencies:
+ prettier: 3.2.5
+ prettier-package-json: 2.8.0
+
+ prettier@3.2.5: {}
+
+ prop-types@15.8.1:
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ protocol-buffers-schema@3.6.0: {}
+
+ react-dom@18.2.0(react@18.2.0):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.23.0
+
+ react-draggable@4.4.6(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ clsx: 1.2.1
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ react-dropzone@14.2.3(react@18.2.0):
+ dependencies:
+ attr-accept: 2.2.2
+ file-selector: 0.6.0
+ prop-types: 15.8.1
+ react: 18.2.0
+
+ react-fast-compare@3.2.2: {}
+
+ react-fireworks@1.0.4: {}
+
+ react-is@16.13.1: {}
+
+ react-is@18.2.0: {}
+
+ react-popper@2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ '@popperjs/core': 2.11.8
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-fast-compare: 3.2.2
+ warning: 4.0.3
+
+ react-refresh@0.14.0: {}
+
+ react-resizable@3.0.5(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-draggable: 4.4.6(react-dom@18.2.0)(react@18.2.0)
+ transitivePeerDependencies:
+ - react-dom
+
+ react-router-dom@6.22.2(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ '@remix-run/router': 1.15.2
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-router: 6.22.2(react@18.2.0)
+
+ react-router@6.22.2(react@18.2.0):
+ dependencies:
+ '@remix-run/router': 1.15.2
+ react: 18.2.0
+
+ react-telegram-login@1.1.2(react@18.2.0):
+ dependencies:
+ react: 18.2.0
+
+ react-toastify@9.1.3(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ clsx: 1.2.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ react-turnstile@1.1.3(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ react-window@1.8.10(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ '@babel/runtime': 7.24.0
+ memoize-one: 5.2.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+
+ react@18.2.0:
+ dependencies:
+ loose-envify: 1.4.0
+
+ readable-stream@1.1.14:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 0.0.1
+ string_decoder: 0.10.31
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ regenerator-runtime@0.14.1: {}
+
+ resolve-from@4.0.0: {}
+
+ resolve-protobuf-schema@2.1.0:
+ dependencies:
+ protocol-buffers-schema: 3.6.0
+
+ rollup@4.13.0:
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.13.0
+ '@rollup/rollup-android-arm64': 4.13.0
+ '@rollup/rollup-darwin-arm64': 4.13.0
+ '@rollup/rollup-darwin-x64': 4.13.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.13.0
+ '@rollup/rollup-linux-arm64-gnu': 4.13.0
+ '@rollup/rollup-linux-arm64-musl': 4.13.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.13.0
+ '@rollup/rollup-linux-x64-gnu': 4.13.0
+ '@rollup/rollup-linux-x64-musl': 4.13.0
+ '@rollup/rollup-win32-arm64-msvc': 4.13.0
+ '@rollup/rollup-win32-ia32-msvc': 4.13.0
+ '@rollup/rollup-win32-x64-msvc': 4.13.0
+ fsevents: 2.3.3
+
+ roughjs@4.5.2:
+ dependencies:
+ path-data-parser: 0.1.0
+ points-on-curve: 0.2.0
+ points-on-path: 0.2.1
+
+ rw@1.3.3: {}
+
+ s.color@0.0.15: {}
+
+ safe-buffer@5.2.1: {}
+
+ safer-buffer@2.1.2: {}
+
+ sass-formatter@0.7.9:
+ dependencies:
+ suf-log: 2.5.3
+
+ scheduler@0.23.0:
+ dependencies:
+ loose-envify: 1.4.0
+
+ scroll-into-view-if-needed@2.2.31:
+ dependencies:
+ compute-scroll-into-view: 1.0.20
+
+ semantic-ui-offline@2.5.0:
+ dependencies:
+ fs-extra: 4.0.3
+ jquery: 3.7.1
+
+ semantic-ui-react@2.1.5(react-dom@18.2.0)(react@18.2.0):
+ dependencies:
+ '@babel/runtime': 7.24.0
+ '@fluentui/react-component-event-listener': 0.63.1(react-dom@18.2.0)(react@18.2.0)
+ '@fluentui/react-component-ref': 0.63.1(react-dom@18.2.0)(react@18.2.0)
+ '@popperjs/core': 2.11.8
+ '@semantic-ui-react/event-stack': 3.1.3(react-dom@18.2.0)(react@18.2.0)
+ clsx: 1.2.1
+ keyboard-key: 1.1.0
+ lodash: 4.17.21
+ lodash-es: 4.17.21
+ prop-types: 15.8.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-is: 18.2.0
+ react-popper: 2.3.0(@popperjs/core@2.11.8)(react-dom@18.2.0)(react@18.2.0)
+ shallowequal: 1.1.0
+
+ semver@6.3.1: {}
+
+ shallowequal@1.1.0: {}
+
+ shapefile@0.6.6:
+ dependencies:
+ array-source: 0.0.4
+ commander: 2.20.3
+ path-source: 0.1.3
+ slice-source: 0.4.1
+ stream-source: 0.3.5
+ text-encoding: 0.6.4
+
+ simple-statistics@7.8.3: {}
+
+ simplify-geojson@1.0.5:
+ dependencies:
+ concat-stream: 1.4.11
+ minimist: 1.2.6
+ simplify-geometry: 0.0.2
+
+ simplify-geometry@0.0.2: {}
+
+ slice-source@0.4.1: {}
+
+ sort-object-keys@1.1.3: {}
+
+ sort-order@1.1.2: {}
+
+ source-map-js@1.2.0: {}
+
+ stream-source@0.3.5: {}
+
+ string_decoder@0.10.31: {}
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ suf-log@2.5.3:
+ dependencies:
+ s.color: 0.0.15
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ text-encoding@0.6.4: {}
+
+ to-fast-properties@2.0.0: {}
+
+ topojson-client@3.1.0:
+ dependencies:
+ commander: 2.20.3
+
+ topojson-server@3.0.1:
+ dependencies:
+ commander: 2.20.3
+
+ tslib@2.6.2: {}
+
+ typedarray@0.0.6: {}
+
+ typedarray@0.0.7: {}
+
+ typescript@4.4.2: {}
+
+ universalify@0.1.2: {}
+
+ universalify@2.0.1: {}
+
+ update-browserslist-db@1.0.13(browserslist@4.23.0):
+ dependencies:
+ browserslist: 4.23.0
+ escalade: 3.1.2
+ picocolors: 1.0.0
+
+ util-deprecate@1.0.2: {}
+
+ utility-types@3.11.0: {}
+
+ vite@5.2.5:
+ dependencies:
+ esbuild: 0.20.2
+ postcss: 8.4.38
+ rollup: 4.13.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ warning@4.0.3:
+ dependencies:
+ loose-envify: 1.4.0
+
+ wrappy@1.0.2: {}
+
+ yallist@3.1.1: {}
+
+ yaml@1.10.2: {}
diff --git a/web/src/components/LogsTable.js b/web/src/components/LogsTable.js
index 8d9081c4..92a0a17a 100644
--- a/web/src/components/LogsTable.js
+++ b/web/src/components/LogsTable.js
@@ -29,6 +29,7 @@ import {
stringToColor,
} from '../helpers/render';
import Paragraph from '@douyinfe/semi-ui/lib/es/typography/paragraph';
+import { getLogOther } from '../helpers/other.js';
const { Header } = Layout;
@@ -141,6 +142,33 @@ function renderUseTime(type) {
}
}
+function renderFirstUseTime(type) {
+ let time = parseFloat(type) / 1000.0;
+ time = time.toFixed(1);
+ if (time < 3) {
+ return (
+
+ {' '}
+ {time} s{' '}
+
+ );
+ } else if (time < 10) {
+ return (
+
+ {' '}
+ {time} s{' '}
+
+ );
+ } else {
+ return (
+
+ {' '}
+ {time} s{' '}
+
+ );
+ }
+}
+
const LogsTable = () => {
const columns = [
{
@@ -247,17 +275,30 @@ const LogsTable = () => {
},
},
{
- title: '用时',
+ title: '用时/首字',
dataIndex: 'use_time',
render: (text, record, index) => {
- return (
-
-
- {renderUseTime(text)}
- {renderIsStream(record.is_stream)}
-
-
- );
+ if (record.is_stream) {
+ let other = getLogOther(record.other);
+ return (
+
+
+ {renderUseTime(text)}
+ {renderFirstUseTime(other.frt)}
+ {renderIsStream(record.is_stream)}
+
+
+ );
+ } else {
+ return (
+
+
+ {renderUseTime(text)}
+ {renderIsStream(record.is_stream)}
+
+
+ );
+ }
},
},
{
@@ -325,10 +366,7 @@ const LogsTable = () => {
title: '详情',
dataIndex: 'content',
render: (text, record, index) => {
- if (record.other === '') {
- record.other = '{}';
- }
- let other = JSON.parse(record.other);
+ let other = getLogOther(record.other);
if (other == null) {
return (
- 提示 ${inputRatioPrice} / 1M tokens
- 补全 ${completionRatioPrice} / 1M tokens
+
+ 提示:${inputRatioPrice} * {groupRatio} = $
+ {inputRatioPrice * groupRatio} / 1M tokens
+
+
+ 补全:${completionRatioPrice} * {groupRatio} = $
+ {completionRatioPrice * groupRatio} / 1M tokens
+
提示 {inputTokens} tokens / 1M tokens * ${inputRatioPrice} + 补全{' '}
- {completionTokens} tokens / 1M tokens * ${completionRatioPrice} = $
- {price.toFixed(6)}
+ {completionTokens} tokens / 1M tokens * ${completionRatioPrice} *
+ 分组 {groupRatio} = ${price.toFixed(6)}
+ 仅供参考,以实际扣费为准
>
);