├── .eslintrc.cjs ├── .github ├── renovate.json └── workflows │ ├── codeql-analysis.yml │ ├── dependency-review.yml │ └── tests.yml ├── .gitignore ├── .golangci.yml ├── .prettierrc.yaml ├── LICENSE ├── Makefile ├── README.md ├── deps.go ├── example ├── .gitignore ├── example.bash ├── example.go ├── example.ts ├── other │ ├── other.pb.go │ ├── other.pb.ts │ ├── other.proto │ ├── other_srpc.pb.go │ └── other_srpc.pb.ts └── tsconfig.json ├── go.mod ├── go.sum ├── package.json ├── project.go ├── tsconfig.build.json ├── tsconfig.json └── yarn.lock /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: '@typescript-eslint/parser', 4 | plugins: ['@typescript-eslint', 'unused-imports'], 5 | extends: [ 6 | 'eslint:recommended', 7 | 'plugin:@typescript-eslint/recommended', 8 | 'plugin:react-hooks/recommended', 9 | 'prettier', 10 | ], 11 | parserOptions: { 12 | project: './tsconfig.json', 13 | }, 14 | rules: { 15 | '@typescript-eslint/explicit-module-boundary-types': 'off', 16 | '@typescript-eslint/no-non-null-assertion': 'off', 17 | }, 18 | ignorePatterns: [ 19 | "node_modules", 20 | "dist", 21 | "coverage", 22 | "bundle", 23 | "runtime", 24 | "vendor", 25 | ".eslintrc.js", 26 | "wasm_exec.js" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | ":semanticPrefixFixDepsChoreOthers", 5 | ":ignoreModulesAndTests", 6 | "group:all", 7 | "workarounds:all" 8 | ], 9 | "branchConcurrentLimit": 0, 10 | "packageRules": [ 11 | { 12 | "matchManagers": ["gomod"], 13 | "matchDepTypes": ["replace"], 14 | "enabled": false 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL" 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | # The branches below must be a subset of the branches above 8 | branches: [ "master" ] 9 | schedule: 10 | - cron: '41 13 * * 6' 11 | 12 | permissions: 13 | contents: read 14 | 15 | jobs: 16 | analyze: 17 | name: Analyze 18 | runs-on: ubuntu-latest 19 | permissions: 20 | actions: read 21 | contents: read 22 | security-events: write 23 | 24 | strategy: 25 | fail-fast: false 26 | matrix: 27 | language: [ 'go', 'javascript' ] 28 | go: ['1.22'] 29 | node: [22.x] 30 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] 31 | # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support 32 | 33 | steps: 34 | - name: Checkout repository 35 | uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 36 | 37 | - name: Setup Go ${{ matrix.go }} 38 | uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 39 | with: 40 | go-version: ${{ matrix.go }} 41 | 42 | - name: Setup Node.JS ${{ matrix.node }} 43 | uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 44 | with: 45 | node-version: ${{ matrix.node }} 46 | cache: 'yarn' 47 | 48 | - name: Initialize CodeQL 49 | uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 50 | with: 51 | languages: ${{ matrix.language }} 52 | 53 | - name: Autobuild 54 | uses: github/codeql-action/autobuild@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 55 | 56 | - name: Perform CodeQL Analysis 57 | uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 58 | -------------------------------------------------------------------------------- /.github/workflows/dependency-review.yml: -------------------------------------------------------------------------------- 1 | # Dependency Review Action 2 | # 3 | # This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging. 4 | # 5 | # Source repository: https://github.com/actions/dependency-review-action 6 | # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement 7 | name: 'Dependency Review' 8 | on: [pull_request] 9 | 10 | permissions: 11 | contents: read 12 | 13 | jobs: 14 | dependency-review: 15 | runs-on: ubuntu-latest 16 | steps: 17 | - name: 'Checkout Repository' 18 | uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 19 | - name: 'Dependency Review' 20 | uses: actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a # v4.3.3 21 | -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- 1 | name: Tests 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | # The branches below must be a subset of the branches above 8 | branches: [ "master" ] 9 | 10 | # Builds images for target boards. 11 | permissions: 12 | contents: read 13 | 14 | jobs: 15 | tests: 16 | runs-on: ubuntu-latest 17 | strategy: 18 | matrix: 19 | go: ['1.22'] 20 | node: [22.x] 21 | timeout-minutes: 10 22 | steps: 23 | - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 24 | 25 | - name: Setup Go ${{ matrix.go }} 26 | uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 27 | with: 28 | go-version: ${{ matrix.go }} 29 | 30 | - name: Setup Node.JS ${{ matrix.node }} 31 | uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 32 | with: 33 | node-version: ${{ matrix.node }} 34 | cache: 'yarn' 35 | 36 | - name: Yarn install 37 | run: yarn install 38 | 39 | - name: Cache tools 40 | uses: actions/cache@v4 41 | with: 42 | path: | 43 | ./.tools 44 | key: ${{ runner.os }}-aptre-tools-${{ hashFiles('**/go.sum') }} 45 | restore-keys: | 46 | ${{ runner.os }}-aptre-tools- 47 | 48 | - name: Build Javascript 49 | run: yarn run build 50 | 51 | - name: Test Go 52 | run: make test 53 | 54 | - name: Test Js 55 | run: yarn test:js 56 | 57 | - name: Lint Js 58 | run: yarn run lint:js 59 | 60 | - name: Lint Go 61 | run: yarn run lint:go 62 | 63 | - name: Depcheck Js 64 | run: yarn run deps 65 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /coverage 3 | /build 4 | /.log 5 | /.tools 6 | /.snowpack 7 | 8 | # misc 9 | .DS_Store 10 | .env.local 11 | .env.development.local 12 | .env.test.local 13 | .env.production.local 14 | 15 | npm-debug.log* 16 | yarn-debug.log* 17 | yarn-error.log* 18 | 19 | .#* 20 | /dist 21 | .*.swp 22 | .vs/ 23 | .vscode/ 24 | !.vscode/launch.json 25 | 26 | vendor/ 27 | debug.test 28 | .aider* 29 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | linters: 2 | enable: 3 | - depguard 4 | - goimports 5 | - gosec 6 | - gosimple 7 | - govet 8 | - importas 9 | - ineffassign 10 | - misspell 11 | - revive 12 | - staticcheck 13 | - typecheck 14 | - unconvert 15 | - unused 16 | 17 | disable: 18 | - errcheck 19 | 20 | run: 21 | concurrency: 4 22 | modules-download-mode: vendor 23 | 24 | skip-dirs: 25 | - hack 26 | 27 | linters-settings: 28 | staticcheck: 29 | checks: 30 | - all 31 | - '-SA1012' # Allow passing nil contexts. 32 | 33 | importas: 34 | # Do not allow unaliased imports of aliased packages. 35 | no-unaliased: true 36 | 37 | maligned: 38 | suggest-new: true 39 | 40 | depguard: 41 | rules: 42 | main: 43 | deny: 44 | - pkg: io/ioutil 45 | desc: The io/ioutil package has been deprecated, see https://go.dev/doc/go1.16#ioutil 46 | - pkg: "github.com/stretchr/testify/assert" 47 | desc: Use "gotest.tools/v3/assert" instead 48 | - pkg: "github.com/stretchr/testify/require" 49 | desc: Use "gotest.tools/v3/assert" instead 50 | - pkg: "github.com/stretchr/testify/suite" 51 | desc: Do not use 52 | 53 | revive: 54 | rules: 55 | - name: package-comments 56 | disabled: true 57 | 58 | gosec: 59 | excludes: 60 | - G306 # Allow WriteFile permissions to be 0644. 61 | 62 | issues: 63 | # Maximum issues count per one linter. Set to 0 to disable. Default is 50. 64 | max-issues-per-linter: 0 65 | 66 | # Maximum count of issues with the same text. Set to 0 to disable. Default is 3. 67 | max-same-issues: 0 68 | -------------------------------------------------------------------------------- /.prettierrc.yaml: -------------------------------------------------------------------------------- 1 | semi: false 2 | singleQuote: true 3 | experimentalTernaries: true 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-2023 Aperture Robotics, LLC. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # https://github.com/aperturerobotics/template 2 | PROJECT_DIR := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) 3 | SHELL:=bash 4 | MAKEFLAGS += --no-print-directory 5 | 6 | GO_VENDOR_DIR := ./vendor 7 | COMMON_DIR := $(GO_VENDOR_DIR)/github.com/aperturerobotics/common 8 | 9 | COMMON_MAKEFILE := $(COMMON_DIR)/Makefile 10 | TOOLS_DIR := .tools 11 | TOOLS_MAKEFILE := .tools/Makefile 12 | 13 | export GO111MODULE=on 14 | undefine GOARCH 15 | undefine GOOS 16 | 17 | .PHONY: $(MAKECMDGOALS) 18 | 19 | all: 20 | 21 | $(COMMON_MAKEFILE): vendor 22 | @if [ ! -f $(COMMON_MAKEFILE) ]; then \ 23 | echo "Please add github.com/aperturerobotics/common to your go.mod."; \ 24 | exit 1; \ 25 | fi 26 | 27 | $(TOOLS_MAKEFILE): $(COMMON_MAKEFILE) 28 | @$(MAKE) -C $(COMMON_DIR) TOOLS_DIR="$(TOOLS_DIR)" PROJECT_DIR="$(PROJECT_DIR)" tools 29 | 30 | $(MAKECMDGOALS): $(TOOLS_MAKEFILE) 31 | @$(MAKE) -C $(TOOLS_DIR) TOOLS_DIR="$(TOOLS_DIR)" PROJECT_DIR="$(PROJECT_DIR)" $@ 32 | 33 | %: $(TOOLS_MAKEFILE) 34 | @$(MAKE) -C $(TOOLS_DIR) TOOLS_DIR="$(TOOLS_DIR)" PROJECT_DIR="$(PROJECT_DIR)" $@ 35 | 36 | vendor: 37 | go mod vendor 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## protobuf-project template 2 | 3 | This template uses [protobuf-go-lite] to generate reflection-free Go code and [protobuf-es-lite] for TypeScript interfaces. 4 | 5 | [protobuf-go-lite]: https://github.com/aperturerobotics/protobuf-go-lite 6 | [protobuf-es-lite]: https://github.com/aperturerobotics/protobuf-es-lite 7 | 8 | Uses a Makefile to download tools to ./hack/bin. 9 | 10 | Includes targets for linting, checking outdated modules, etc. 11 | 12 | You can create a new repository with this template [on GitHub]. 13 | 14 | [on GitHub]: https://github.com/aperturerobotics/protobuf-project 15 | 16 | Also check out the managed template at [template]. 17 | 18 | [template]: https://github.com/aperturerobotics/template 19 | 20 | ## Usage 21 | 22 | Protobuf imports use Go paths and package names: 23 | 24 | ```protobuf 25 | syntax = "proto3"; 26 | package example; 27 | 28 | // Import .proto files using Go-style import paths. 29 | import "github.com/aperturerobotics/controllerbus/controller/controller.proto"; 30 | 31 | // GetBusInfoResponse is the response type for GetBusInfo. 32 | message GetBusInfoResponse { 33 | // RunningControllers is the list of running controllers. 34 | repeated controller.Info running_controllers = 1; 35 | } 36 | ``` 37 | 38 | To generate the protobuf files: 39 | 40 | ```bash 41 | $ git add -A 42 | $ yarn install 43 | $ yarn gen 44 | ``` 45 | 46 | The Makefile will download the tools using Go to a bin dir. 47 | 48 | ## Makefile 49 | 50 | The available make targets are: 51 | 52 | - `genproto`: Generate protobuf files. 53 | - `test`: run go test -v ./... 54 | - `lint`: run golangci-lint on the project. 55 | - `fix`: run golangci-lint --fix on the project. 56 | - `list`: list go module dependencies 57 | - `outdated`: list outdated go module dependencies 58 | 59 | To generate the TypeScript and Go code: 60 | 61 | - `yarn install` 62 | - `yarn gen` 63 | 64 | ## Branches 65 | 66 | Other available branches: 67 | 68 | - **norpc**: does not have any RPC library. 69 | - **drpc**: uses the [dRPC] rpc library instead of [starpc]. 70 | - **grpc**: uses the [gRPC] rpc library instead of [starpc]. 71 | - **starpc**: uses the [starpc] rpc library (same as main). 72 | - **twirp**: uses the [Twirp] rpc library instead of [starpc]. 73 | 74 | [dRPC]: https://github.com/storj/drpc 75 | [gRPC]: https://github.com/grpc/grpc 76 | [starpc]: https://github.com/aperturerobotics/starpc 77 | [Twirp]: https://github.com/twitchtv/twirp 78 | 79 | ## Demo 80 | 81 | **This branch implements a starpc service and demo.** 82 | 83 | To run the demo: **yarn** then **yarn run demo**. 84 | 85 | ## Developing on MacOS 86 | 87 | On MacOS, some homebrew packages are required for `yarn gen`: 88 | 89 | ``` 90 | brew install bash make coreutils gnu-sed findutils protobuf 91 | brew link --overwrite protobuf 92 | ``` 93 | 94 | Add to your .bashrc or .zshrc: 95 | 96 | ``` 97 | export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH" 98 | export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH" 99 | export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH" 100 | export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH" 101 | ``` 102 | 103 | ## Support 104 | 105 | Please open a [GitHub issue] with any questions / issues. 106 | 107 | [GitHub issue]: https://github.com/aperturerobotics/protobuf-project/issues/new 108 | 109 | ... or feel free to reach out on [Matrix Chat] or [Discord]. 110 | 111 | [Discord]: https://discord.gg/KJutMESRsT 112 | [Matrix Chat]: https://matrix.to/#/#aperturerobotics:matrix.org 113 | 114 | ## License 115 | 116 | MIT 117 | -------------------------------------------------------------------------------- /deps.go: -------------------------------------------------------------------------------- 1 | //go:build deps_only 2 | // +build deps_only 3 | 4 | package template 5 | 6 | import ( 7 | // _ imports common with the Makefile and tools 8 | _ "github.com/aperturerobotics/common" 9 | ) 10 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | demo 2 | demo.js 3 | example 4 | example.js -------------------------------------------------------------------------------- /example/example.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -eo pipefail 3 | 4 | echo "Compiling ts..." 5 | ../hack/bin/esbuild example.ts --bundle --platform=node --outfile=example.js 6 | 7 | echo "Compiling go..." 8 | go build -o example -v ./ 9 | 10 | echo "Starting server..." 11 | ./example & 12 | PID=$! 13 | 14 | function cleanup { 15 | kill -9 ${PID} 16 | } 17 | trap cleanup EXIT 18 | 19 | sleep 1 20 | 21 | pushd ../ 22 | echo "Starting client..." 23 | node ./example/example.js 24 | popd 25 | -------------------------------------------------------------------------------- /example/example.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "net/http" 6 | "time" 7 | 8 | echo "github.com/aperturerobotics/starpc/echo" 9 | "github.com/aperturerobotics/starpc/srpc" 10 | "github.com/sirupsen/logrus" 11 | ) 12 | 13 | func main() { 14 | mux := srpc.NewMux() 15 | 16 | echoServer := &echo.EchoServer{} 17 | if err := echo.SRPCRegisterEchoer(mux, echoServer); err != nil { 18 | logrus.Fatal(err.Error()) 19 | } 20 | 21 | // listen at: ws://localhost:5050/demo 22 | server, err := srpc.NewHTTPServer(mux, "/demo") 23 | if err != nil { 24 | logrus.Fatal(err.Error()) 25 | } 26 | 27 | fmt.Print("listening on :5050\n") 28 | srv := &http.Server{Addr: ":5050", Handler: server, ReadHeaderTimeout: time.Second * 5} 29 | if err := srv.ListenAndServe(); err != nil { 30 | logrus.Fatal(err.Error()) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /example/example.ts: -------------------------------------------------------------------------------- 1 | import { WebSocketConn, EchoerClient, EchoMsg, messagePushable } from 'starpc' 2 | import WebSocket from '@aptre/it-ws/web-socket' 3 | 4 | async function runRPC() { 5 | const addr = 'ws://localhost:5050/demo' 6 | console.log(`Connecting to ${addr}`) 7 | const ws = new WebSocket(addr) 8 | const channel = new WebSocketConn(ws, 'outbound') 9 | const client = channel.buildClient() 10 | const demoServiceClient = new EchoerClient(client) 11 | 12 | console.log('Calling Echo: unary call...') 13 | let result = await demoServiceClient.Echo({ 14 | body: 'Hello world!', 15 | }) 16 | console.log('success: output', result.body) 17 | 18 | // observable for client requests 19 | const clientRequestStream = messagePushable() 20 | clientRequestStream.push({ body: 'Hello world from streaming request.' }) 21 | clientRequestStream.end() 22 | 23 | console.log('Calling EchoClientStream: client -> server...') 24 | result = await demoServiceClient.EchoClientStream(clientRequestStream) 25 | console.log('success: output', result.body) 26 | 27 | console.log('Calling EchoServerStream: server -> client...') 28 | const serverStream = demoServiceClient.EchoServerStream({ 29 | body: 'Hello world from server to client streaming request.', 30 | }) 31 | for await (const msg of serverStream) { 32 | console.log('server: output', msg.body) 33 | } 34 | } 35 | 36 | runRPC() 37 | .then(() => { 38 | process.exit(0) 39 | }) 40 | .catch((err) => { 41 | console.error(err) 42 | process.exit(1) 43 | }) 44 | -------------------------------------------------------------------------------- /example/other/other.pb.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-go-lite. DO NOT EDIT. 2 | // protoc-gen-go-lite version: v0.6.5 3 | // source: github.com/aperturerobotics/protobuf-project/example/other/other.proto 4 | 5 | package other 6 | 7 | import ( 8 | fmt "fmt" 9 | io "io" 10 | strconv "strconv" 11 | strings "strings" 12 | 13 | protobuf_go_lite "github.com/aperturerobotics/protobuf-go-lite" 14 | json "github.com/aperturerobotics/protobuf-go-lite/json" 15 | _ "github.com/aperturerobotics/protobuf-go-lite/types/known/emptypb" 16 | timestamppb "github.com/aperturerobotics/protobuf-go-lite/types/known/timestamppb" 17 | ) 18 | 19 | type OtherMessage struct { 20 | unknownFields []byte 21 | // Timestamp is an example of a Date encoding. 22 | Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 23 | } 24 | 25 | func (x *OtherMessage) Reset() { 26 | *x = OtherMessage{} 27 | } 28 | 29 | func (*OtherMessage) ProtoMessage() {} 30 | 31 | func (x *OtherMessage) GetTimestamp() *timestamppb.Timestamp { 32 | if x != nil { 33 | return x.Timestamp 34 | } 35 | return nil 36 | } 37 | 38 | // EchoMsg is the message body for Echo. 39 | type EchoMsg struct { 40 | unknownFields []byte 41 | Body string `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 42 | } 43 | 44 | func (x *EchoMsg) Reset() { 45 | *x = EchoMsg{} 46 | } 47 | 48 | func (*EchoMsg) ProtoMessage() {} 49 | 50 | func (x *EchoMsg) GetBody() string { 51 | if x != nil { 52 | return x.Body 53 | } 54 | return "" 55 | } 56 | 57 | func (m *OtherMessage) CloneVT() *OtherMessage { 58 | if m == nil { 59 | return (*OtherMessage)(nil) 60 | } 61 | r := new(OtherMessage) 62 | if rhs := m.Timestamp; rhs != nil { 63 | r.Timestamp = rhs.CloneVT() 64 | } 65 | if len(m.unknownFields) > 0 { 66 | r.unknownFields = make([]byte, len(m.unknownFields)) 67 | copy(r.unknownFields, m.unknownFields) 68 | } 69 | return r 70 | } 71 | 72 | func (m *OtherMessage) CloneMessageVT() protobuf_go_lite.CloneMessage { 73 | return m.CloneVT() 74 | } 75 | 76 | func (m *EchoMsg) CloneVT() *EchoMsg { 77 | if m == nil { 78 | return (*EchoMsg)(nil) 79 | } 80 | r := new(EchoMsg) 81 | r.Body = m.Body 82 | if len(m.unknownFields) > 0 { 83 | r.unknownFields = make([]byte, len(m.unknownFields)) 84 | copy(r.unknownFields, m.unknownFields) 85 | } 86 | return r 87 | } 88 | 89 | func (m *EchoMsg) CloneMessageVT() protobuf_go_lite.CloneMessage { 90 | return m.CloneVT() 91 | } 92 | 93 | func (this *OtherMessage) EqualVT(that *OtherMessage) bool { 94 | if this == that { 95 | return true 96 | } else if this == nil || that == nil { 97 | return false 98 | } 99 | if !this.Timestamp.EqualVT(that.Timestamp) { 100 | return false 101 | } 102 | return string(this.unknownFields) == string(that.unknownFields) 103 | } 104 | 105 | func (this *OtherMessage) EqualMessageVT(thatMsg any) bool { 106 | that, ok := thatMsg.(*OtherMessage) 107 | if !ok { 108 | return false 109 | } 110 | return this.EqualVT(that) 111 | } 112 | func (this *EchoMsg) EqualVT(that *EchoMsg) bool { 113 | if this == that { 114 | return true 115 | } else if this == nil || that == nil { 116 | return false 117 | } 118 | if this.Body != that.Body { 119 | return false 120 | } 121 | return string(this.unknownFields) == string(that.unknownFields) 122 | } 123 | 124 | func (this *EchoMsg) EqualMessageVT(thatMsg any) bool { 125 | that, ok := thatMsg.(*EchoMsg) 126 | if !ok { 127 | return false 128 | } 129 | return this.EqualVT(that) 130 | } 131 | 132 | // MarshalProtoJSON marshals the OtherMessage message to JSON. 133 | func (x *OtherMessage) MarshalProtoJSON(s *json.MarshalState) { 134 | if x == nil { 135 | s.WriteNil() 136 | return 137 | } 138 | s.WriteObjectStart() 139 | var wroteField bool 140 | if x.Timestamp != nil || s.HasField("timestamp") { 141 | s.WriteMoreIf(&wroteField) 142 | s.WriteObjectField("timestamp") 143 | x.Timestamp.MarshalProtoJSON(s.WithField("timestamp")) 144 | } 145 | s.WriteObjectEnd() 146 | } 147 | 148 | // MarshalJSON marshals the OtherMessage to JSON. 149 | func (x *OtherMessage) MarshalJSON() ([]byte, error) { 150 | return json.DefaultMarshalerConfig.Marshal(x) 151 | } 152 | 153 | // UnmarshalProtoJSON unmarshals the OtherMessage message from JSON. 154 | func (x *OtherMessage) UnmarshalProtoJSON(s *json.UnmarshalState) { 155 | if s.ReadNil() { 156 | return 157 | } 158 | s.ReadObject(func(key string) { 159 | switch key { 160 | default: 161 | s.Skip() // ignore unknown field 162 | case "timestamp": 163 | if s.ReadNil() { 164 | x.Timestamp = nil 165 | return 166 | } 167 | x.Timestamp = ×tamppb.Timestamp{} 168 | x.Timestamp.UnmarshalProtoJSON(s.WithField("timestamp", true)) 169 | } 170 | }) 171 | } 172 | 173 | // UnmarshalJSON unmarshals the OtherMessage from JSON. 174 | func (x *OtherMessage) UnmarshalJSON(b []byte) error { 175 | return json.DefaultUnmarshalerConfig.Unmarshal(b, x) 176 | } 177 | 178 | // MarshalProtoJSON marshals the EchoMsg message to JSON. 179 | func (x *EchoMsg) MarshalProtoJSON(s *json.MarshalState) { 180 | if x == nil { 181 | s.WriteNil() 182 | return 183 | } 184 | s.WriteObjectStart() 185 | var wroteField bool 186 | if x.Body != "" || s.HasField("body") { 187 | s.WriteMoreIf(&wroteField) 188 | s.WriteObjectField("body") 189 | s.WriteString(x.Body) 190 | } 191 | s.WriteObjectEnd() 192 | } 193 | 194 | // MarshalJSON marshals the EchoMsg to JSON. 195 | func (x *EchoMsg) MarshalJSON() ([]byte, error) { 196 | return json.DefaultMarshalerConfig.Marshal(x) 197 | } 198 | 199 | // UnmarshalProtoJSON unmarshals the EchoMsg message from JSON. 200 | func (x *EchoMsg) UnmarshalProtoJSON(s *json.UnmarshalState) { 201 | if s.ReadNil() { 202 | return 203 | } 204 | s.ReadObject(func(key string) { 205 | switch key { 206 | default: 207 | s.Skip() // ignore unknown field 208 | case "body": 209 | s.AddField("body") 210 | x.Body = s.ReadString() 211 | } 212 | }) 213 | } 214 | 215 | // UnmarshalJSON unmarshals the EchoMsg from JSON. 216 | func (x *EchoMsg) UnmarshalJSON(b []byte) error { 217 | return json.DefaultUnmarshalerConfig.Unmarshal(b, x) 218 | } 219 | 220 | func (m *OtherMessage) MarshalVT() (dAtA []byte, err error) { 221 | if m == nil { 222 | return nil, nil 223 | } 224 | size := m.SizeVT() 225 | dAtA = make([]byte, size) 226 | n, err := m.MarshalToSizedBufferVT(dAtA[:size]) 227 | if err != nil { 228 | return nil, err 229 | } 230 | return dAtA[:n], nil 231 | } 232 | 233 | func (m *OtherMessage) MarshalToVT(dAtA []byte) (int, error) { 234 | size := m.SizeVT() 235 | return m.MarshalToSizedBufferVT(dAtA[:size]) 236 | } 237 | 238 | func (m *OtherMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { 239 | if m == nil { 240 | return 0, nil 241 | } 242 | i := len(dAtA) 243 | _ = i 244 | var l int 245 | _ = l 246 | if m.unknownFields != nil { 247 | i -= len(m.unknownFields) 248 | copy(dAtA[i:], m.unknownFields) 249 | } 250 | if m.Timestamp != nil { 251 | size, err := m.Timestamp.MarshalToSizedBufferVT(dAtA[:i]) 252 | if err != nil { 253 | return 0, err 254 | } 255 | i -= size 256 | i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size)) 257 | i-- 258 | dAtA[i] = 0xa 259 | } 260 | return len(dAtA) - i, nil 261 | } 262 | 263 | func (m *EchoMsg) MarshalVT() (dAtA []byte, err error) { 264 | if m == nil { 265 | return nil, nil 266 | } 267 | size := m.SizeVT() 268 | dAtA = make([]byte, size) 269 | n, err := m.MarshalToSizedBufferVT(dAtA[:size]) 270 | if err != nil { 271 | return nil, err 272 | } 273 | return dAtA[:n], nil 274 | } 275 | 276 | func (m *EchoMsg) MarshalToVT(dAtA []byte) (int, error) { 277 | size := m.SizeVT() 278 | return m.MarshalToSizedBufferVT(dAtA[:size]) 279 | } 280 | 281 | func (m *EchoMsg) MarshalToSizedBufferVT(dAtA []byte) (int, error) { 282 | if m == nil { 283 | return 0, nil 284 | } 285 | i := len(dAtA) 286 | _ = i 287 | var l int 288 | _ = l 289 | if m.unknownFields != nil { 290 | i -= len(m.unknownFields) 291 | copy(dAtA[i:], m.unknownFields) 292 | } 293 | if len(m.Body) > 0 { 294 | i -= len(m.Body) 295 | copy(dAtA[i:], m.Body) 296 | i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Body))) 297 | i-- 298 | dAtA[i] = 0xa 299 | } 300 | return len(dAtA) - i, nil 301 | } 302 | 303 | func (m *OtherMessage) SizeVT() (n int) { 304 | if m == nil { 305 | return 0 306 | } 307 | var l int 308 | _ = l 309 | if m.Timestamp != nil { 310 | l = m.Timestamp.SizeVT() 311 | n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) 312 | } 313 | n += len(m.unknownFields) 314 | return n 315 | } 316 | 317 | func (m *EchoMsg) SizeVT() (n int) { 318 | if m == nil { 319 | return 0 320 | } 321 | var l int 322 | _ = l 323 | l = len(m.Body) 324 | if l > 0 { 325 | n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) 326 | } 327 | n += len(m.unknownFields) 328 | return n 329 | } 330 | 331 | func (x *OtherMessage) MarshalProtoText() string { 332 | var sb strings.Builder 333 | sb.WriteString("OtherMessage { ") 334 | if x.Timestamp != nil { 335 | sb.WriteString(" timestamp: ") 336 | sb.WriteString(x.Timestamp.MarshalProtoText()) 337 | } 338 | sb.WriteString("}") 339 | return sb.String() 340 | } 341 | func (x *OtherMessage) String() string { 342 | return x.MarshalProtoText() 343 | } 344 | func (x *EchoMsg) MarshalProtoText() string { 345 | var sb strings.Builder 346 | sb.WriteString("EchoMsg { ") 347 | if x.Body != "" { 348 | sb.WriteString(" body: ") 349 | sb.WriteString(strconv.Quote(x.Body)) 350 | } 351 | sb.WriteString("}") 352 | return sb.String() 353 | } 354 | func (x *EchoMsg) String() string { 355 | return x.MarshalProtoText() 356 | } 357 | func (m *OtherMessage) UnmarshalVT(dAtA []byte) error { 358 | l := len(dAtA) 359 | iNdEx := 0 360 | for iNdEx < l { 361 | preIndex := iNdEx 362 | var wire uint64 363 | for shift := uint(0); ; shift += 7 { 364 | if shift >= 64 { 365 | return protobuf_go_lite.ErrIntOverflow 366 | } 367 | if iNdEx >= l { 368 | return io.ErrUnexpectedEOF 369 | } 370 | b := dAtA[iNdEx] 371 | iNdEx++ 372 | wire |= uint64(b&0x7F) << shift 373 | if b < 0x80 { 374 | break 375 | } 376 | } 377 | fieldNum := int32(wire >> 3) 378 | wireType := int(wire & 0x7) 379 | if wireType == 4 { 380 | return fmt.Errorf("proto: OtherMessage: wiretype end group for non-group") 381 | } 382 | if fieldNum <= 0 { 383 | return fmt.Errorf("proto: OtherMessage: illegal tag %d (wire type %d)", fieldNum, wire) 384 | } 385 | switch fieldNum { 386 | case 1: 387 | if wireType != 2 { 388 | return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) 389 | } 390 | var msglen int 391 | for shift := uint(0); ; shift += 7 { 392 | if shift >= 64 { 393 | return protobuf_go_lite.ErrIntOverflow 394 | } 395 | if iNdEx >= l { 396 | return io.ErrUnexpectedEOF 397 | } 398 | b := dAtA[iNdEx] 399 | iNdEx++ 400 | msglen |= int(b&0x7F) << shift 401 | if b < 0x80 { 402 | break 403 | } 404 | } 405 | if msglen < 0 { 406 | return protobuf_go_lite.ErrInvalidLength 407 | } 408 | postIndex := iNdEx + msglen 409 | if postIndex < 0 { 410 | return protobuf_go_lite.ErrInvalidLength 411 | } 412 | if postIndex > l { 413 | return io.ErrUnexpectedEOF 414 | } 415 | if m.Timestamp == nil { 416 | m.Timestamp = ×tamppb.Timestamp{} 417 | } 418 | if err := m.Timestamp.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { 419 | return err 420 | } 421 | iNdEx = postIndex 422 | default: 423 | iNdEx = preIndex 424 | skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) 425 | if err != nil { 426 | return err 427 | } 428 | if (skippy < 0) || (iNdEx+skippy) < 0 { 429 | return protobuf_go_lite.ErrInvalidLength 430 | } 431 | if (iNdEx + skippy) > l { 432 | return io.ErrUnexpectedEOF 433 | } 434 | m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) 435 | iNdEx += skippy 436 | } 437 | } 438 | 439 | if iNdEx > l { 440 | return io.ErrUnexpectedEOF 441 | } 442 | return nil 443 | } 444 | func (m *EchoMsg) UnmarshalVT(dAtA []byte) error { 445 | l := len(dAtA) 446 | iNdEx := 0 447 | for iNdEx < l { 448 | preIndex := iNdEx 449 | var wire uint64 450 | for shift := uint(0); ; shift += 7 { 451 | if shift >= 64 { 452 | return protobuf_go_lite.ErrIntOverflow 453 | } 454 | if iNdEx >= l { 455 | return io.ErrUnexpectedEOF 456 | } 457 | b := dAtA[iNdEx] 458 | iNdEx++ 459 | wire |= uint64(b&0x7F) << shift 460 | if b < 0x80 { 461 | break 462 | } 463 | } 464 | fieldNum := int32(wire >> 3) 465 | wireType := int(wire & 0x7) 466 | if wireType == 4 { 467 | return fmt.Errorf("proto: EchoMsg: wiretype end group for non-group") 468 | } 469 | if fieldNum <= 0 { 470 | return fmt.Errorf("proto: EchoMsg: illegal tag %d (wire type %d)", fieldNum, wire) 471 | } 472 | switch fieldNum { 473 | case 1: 474 | if wireType != 2 { 475 | return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) 476 | } 477 | var stringLen uint64 478 | for shift := uint(0); ; shift += 7 { 479 | if shift >= 64 { 480 | return protobuf_go_lite.ErrIntOverflow 481 | } 482 | if iNdEx >= l { 483 | return io.ErrUnexpectedEOF 484 | } 485 | b := dAtA[iNdEx] 486 | iNdEx++ 487 | stringLen |= uint64(b&0x7F) << shift 488 | if b < 0x80 { 489 | break 490 | } 491 | } 492 | intStringLen := int(stringLen) 493 | if intStringLen < 0 { 494 | return protobuf_go_lite.ErrInvalidLength 495 | } 496 | postIndex := iNdEx + intStringLen 497 | if postIndex < 0 { 498 | return protobuf_go_lite.ErrInvalidLength 499 | } 500 | if postIndex > l { 501 | return io.ErrUnexpectedEOF 502 | } 503 | m.Body = string(dAtA[iNdEx:postIndex]) 504 | iNdEx = postIndex 505 | default: 506 | iNdEx = preIndex 507 | skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) 508 | if err != nil { 509 | return err 510 | } 511 | if (skippy < 0) || (iNdEx+skippy) < 0 { 512 | return protobuf_go_lite.ErrInvalidLength 513 | } 514 | if (iNdEx + skippy) > l { 515 | return io.ErrUnexpectedEOF 516 | } 517 | m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) 518 | iNdEx += skippy 519 | } 520 | } 521 | 522 | if iNdEx > l { 523 | return io.ErrUnexpectedEOF 524 | } 525 | return nil 526 | } 527 | -------------------------------------------------------------------------------- /example/other/other.pb.ts: -------------------------------------------------------------------------------- 1 | // @generated by protoc-gen-es-lite unknown with parameter "target=ts,ts_nocheck=false" 2 | // @generated from file github.com/aperturerobotics/protobuf-project/example/other/other.proto (package other, syntax proto3) 3 | /* eslint-disable */ 4 | 5 | import type { MessageType, PartialFieldInfo } from '@aptre/protobuf-es-lite' 6 | import { 7 | createMessageType, 8 | Message, 9 | ScalarType, 10 | Timestamp, 11 | } from '@aptre/protobuf-es-lite' 12 | 13 | export const protobufPackage = 'other' 14 | 15 | /** 16 | * @generated from message other.OtherMessage 17 | */ 18 | export type OtherMessage = Message<{ 19 | /** 20 | * Timestamp is an example of a Date encoding. 21 | * 22 | * @generated from field: google.protobuf.Timestamp timestamp = 1; 23 | */ 24 | timestamp?: Date 25 | }> 26 | 27 | // OtherMessage contains the message type declaration for OtherMessage. 28 | export const OtherMessage: MessageType = createMessageType({ 29 | typeName: 'other.OtherMessage', 30 | fields: [ 31 | { no: 1, name: 'timestamp', kind: 'message', T: () => Timestamp }, 32 | ] as readonly PartialFieldInfo[], 33 | packedByDefault: true, 34 | }) 35 | 36 | /** 37 | * EchoMsg is the message body for Echo. 38 | * 39 | * @generated from message other.EchoMsg 40 | */ 41 | export type EchoMsg = Message<{ 42 | /** 43 | * @generated from field: string body = 1; 44 | */ 45 | body?: string 46 | }> 47 | 48 | // EchoMsg contains the message type declaration for EchoMsg. 49 | export const EchoMsg: MessageType = createMessageType({ 50 | typeName: 'other.EchoMsg', 51 | fields: [ 52 | { no: 1, name: 'body', kind: 'scalar', T: ScalarType.STRING }, 53 | ] as readonly PartialFieldInfo[], 54 | packedByDefault: true, 55 | }) 56 | -------------------------------------------------------------------------------- /example/other/other.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package other; 3 | 4 | import "google/protobuf/timestamp.proto"; 5 | import "google/protobuf/empty.proto"; 6 | 7 | message OtherMessage { 8 | // Timestamp is an example of a Date encoding. 9 | .google.protobuf.Timestamp timestamp = 1; 10 | } 11 | 12 | // Echoer service returns the given message. 13 | service Echoer { 14 | // Echo returns the given message. 15 | rpc Echo(EchoMsg) returns (EchoMsg); 16 | // EchoServerStream is an example of a server -> client one-way stream. 17 | rpc EchoServerStream(EchoMsg) returns (stream EchoMsg); 18 | // EchoClientStream is an example of client->server one-way stream. 19 | rpc EchoClientStream(stream EchoMsg) returns (EchoMsg); 20 | // EchoBidiStream is an example of a two-way stream. 21 | rpc EchoBidiStream(stream EchoMsg) returns (stream EchoMsg); 22 | // DoNothing does nothing. 23 | rpc DoNothing(.google.protobuf.Empty) returns (.google.protobuf.Empty); 24 | } 25 | 26 | // EchoMsg is the message body for Echo. 27 | message EchoMsg { 28 | string body = 1; 29 | } 30 | -------------------------------------------------------------------------------- /example/other/other_srpc.pb.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-srpc. DO NOT EDIT. 2 | // protoc-gen-srpc version: v0.32.9 3 | // source: github.com/aperturerobotics/protobuf-project/example/other/other.proto 4 | 5 | package other 6 | 7 | import ( 8 | context "context" 9 | 10 | emptypb "github.com/aperturerobotics/protobuf-go-lite/types/known/emptypb" 11 | srpc "github.com/aperturerobotics/starpc/srpc" 12 | ) 13 | 14 | type SRPCEchoerClient interface { 15 | SRPCClient() srpc.Client 16 | 17 | Echo(ctx context.Context, in *EchoMsg) (*EchoMsg, error) 18 | EchoServerStream(ctx context.Context, in *EchoMsg) (SRPCEchoer_EchoServerStreamClient, error) 19 | EchoClientStream(ctx context.Context) (SRPCEchoer_EchoClientStreamClient, error) 20 | EchoBidiStream(ctx context.Context) (SRPCEchoer_EchoBidiStreamClient, error) 21 | DoNothing(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error) 22 | } 23 | 24 | type srpcEchoerClient struct { 25 | cc srpc.Client 26 | serviceID string 27 | } 28 | 29 | func NewSRPCEchoerClient(cc srpc.Client) SRPCEchoerClient { 30 | return &srpcEchoerClient{cc: cc, serviceID: SRPCEchoerServiceID} 31 | } 32 | 33 | func NewSRPCEchoerClientWithServiceID(cc srpc.Client, serviceID string) SRPCEchoerClient { 34 | if serviceID == "" { 35 | serviceID = SRPCEchoerServiceID 36 | } 37 | return &srpcEchoerClient{cc: cc, serviceID: serviceID} 38 | } 39 | 40 | func (c *srpcEchoerClient) SRPCClient() srpc.Client { return c.cc } 41 | 42 | func (c *srpcEchoerClient) Echo(ctx context.Context, in *EchoMsg) (*EchoMsg, error) { 43 | out := new(EchoMsg) 44 | err := c.cc.ExecCall(ctx, c.serviceID, "Echo", in, out) 45 | if err != nil { 46 | return nil, err 47 | } 48 | return out, nil 49 | } 50 | 51 | func (c *srpcEchoerClient) EchoServerStream(ctx context.Context, in *EchoMsg) (SRPCEchoer_EchoServerStreamClient, error) { 52 | stream, err := c.cc.NewStream(ctx, c.serviceID, "EchoServerStream", in) 53 | if err != nil { 54 | return nil, err 55 | } 56 | strm := &srpcEchoer_EchoServerStreamClient{stream} 57 | if err := strm.CloseSend(); err != nil { 58 | return nil, err 59 | } 60 | return strm, nil 61 | } 62 | 63 | type SRPCEchoer_EchoServerStreamClient interface { 64 | srpc.Stream 65 | Recv() (*EchoMsg, error) 66 | RecvTo(*EchoMsg) error 67 | } 68 | 69 | type srpcEchoer_EchoServerStreamClient struct { 70 | srpc.Stream 71 | } 72 | 73 | func (x *srpcEchoer_EchoServerStreamClient) Recv() (*EchoMsg, error) { 74 | m := new(EchoMsg) 75 | if err := x.MsgRecv(m); err != nil { 76 | return nil, err 77 | } 78 | return m, nil 79 | } 80 | 81 | func (x *srpcEchoer_EchoServerStreamClient) RecvTo(m *EchoMsg) error { 82 | return x.MsgRecv(m) 83 | } 84 | 85 | func (c *srpcEchoerClient) EchoClientStream(ctx context.Context) (SRPCEchoer_EchoClientStreamClient, error) { 86 | stream, err := c.cc.NewStream(ctx, c.serviceID, "EchoClientStream", nil) 87 | if err != nil { 88 | return nil, err 89 | } 90 | strm := &srpcEchoer_EchoClientStreamClient{stream} 91 | return strm, nil 92 | } 93 | 94 | type SRPCEchoer_EchoClientStreamClient interface { 95 | srpc.Stream 96 | Send(*EchoMsg) error 97 | CloseAndRecv() (*EchoMsg, error) 98 | } 99 | 100 | type srpcEchoer_EchoClientStreamClient struct { 101 | srpc.Stream 102 | } 103 | 104 | func (x *srpcEchoer_EchoClientStreamClient) Send(m *EchoMsg) error { 105 | if m == nil { 106 | return nil 107 | } 108 | return x.MsgSend(m) 109 | } 110 | 111 | func (x *srpcEchoer_EchoClientStreamClient) CloseAndRecv() (*EchoMsg, error) { 112 | if err := x.CloseSend(); err != nil { 113 | return nil, err 114 | } 115 | m := new(EchoMsg) 116 | if err := x.MsgRecv(m); err != nil { 117 | return nil, err 118 | } 119 | return m, nil 120 | } 121 | 122 | func (x *srpcEchoer_EchoClientStreamClient) CloseAndMsgRecv(m *EchoMsg) error { 123 | if err := x.CloseSend(); err != nil { 124 | return err 125 | } 126 | return x.MsgRecv(m) 127 | } 128 | 129 | func (c *srpcEchoerClient) EchoBidiStream(ctx context.Context) (SRPCEchoer_EchoBidiStreamClient, error) { 130 | stream, err := c.cc.NewStream(ctx, c.serviceID, "EchoBidiStream", nil) 131 | if err != nil { 132 | return nil, err 133 | } 134 | strm := &srpcEchoer_EchoBidiStreamClient{stream} 135 | return strm, nil 136 | } 137 | 138 | type SRPCEchoer_EchoBidiStreamClient interface { 139 | srpc.Stream 140 | Send(*EchoMsg) error 141 | Recv() (*EchoMsg, error) 142 | RecvTo(*EchoMsg) error 143 | } 144 | 145 | type srpcEchoer_EchoBidiStreamClient struct { 146 | srpc.Stream 147 | } 148 | 149 | func (x *srpcEchoer_EchoBidiStreamClient) Send(m *EchoMsg) error { 150 | if m == nil { 151 | return nil 152 | } 153 | return x.MsgSend(m) 154 | } 155 | 156 | func (x *srpcEchoer_EchoBidiStreamClient) Recv() (*EchoMsg, error) { 157 | m := new(EchoMsg) 158 | if err := x.MsgRecv(m); err != nil { 159 | return nil, err 160 | } 161 | return m, nil 162 | } 163 | 164 | func (x *srpcEchoer_EchoBidiStreamClient) RecvTo(m *EchoMsg) error { 165 | return x.MsgRecv(m) 166 | } 167 | 168 | func (c *srpcEchoerClient) DoNothing(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error) { 169 | out := new(emptypb.Empty) 170 | err := c.cc.ExecCall(ctx, c.serviceID, "DoNothing", in, out) 171 | if err != nil { 172 | return nil, err 173 | } 174 | return out, nil 175 | } 176 | 177 | type SRPCEchoerServer interface { 178 | Echo(context.Context, *EchoMsg) (*EchoMsg, error) 179 | EchoServerStream(*EchoMsg, SRPCEchoer_EchoServerStreamStream) error 180 | EchoClientStream(SRPCEchoer_EchoClientStreamStream) (*EchoMsg, error) 181 | EchoBidiStream(SRPCEchoer_EchoBidiStreamStream) error 182 | DoNothing(context.Context, *emptypb.Empty) (*emptypb.Empty, error) 183 | } 184 | 185 | type SRPCEchoerUnimplementedServer struct{} 186 | 187 | func (s *SRPCEchoerUnimplementedServer) Echo(context.Context, *EchoMsg) (*EchoMsg, error) { 188 | return nil, srpc.ErrUnimplemented 189 | } 190 | 191 | func (s *SRPCEchoerUnimplementedServer) EchoServerStream(*EchoMsg, SRPCEchoer_EchoServerStreamStream) error { 192 | return srpc.ErrUnimplemented 193 | } 194 | 195 | func (s *SRPCEchoerUnimplementedServer) EchoClientStream(SRPCEchoer_EchoClientStreamStream) (*EchoMsg, error) { 196 | return nil, srpc.ErrUnimplemented 197 | } 198 | 199 | func (s *SRPCEchoerUnimplementedServer) EchoBidiStream(SRPCEchoer_EchoBidiStreamStream) error { 200 | return srpc.ErrUnimplemented 201 | } 202 | 203 | func (s *SRPCEchoerUnimplementedServer) DoNothing(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { 204 | return nil, srpc.ErrUnimplemented 205 | } 206 | 207 | const SRPCEchoerServiceID = "other.Echoer" 208 | 209 | type SRPCEchoerHandler struct { 210 | serviceID string 211 | impl SRPCEchoerServer 212 | } 213 | 214 | // NewSRPCEchoerHandler constructs a new RPC handler. 215 | // serviceID: if empty, uses default: other.Echoer 216 | func NewSRPCEchoerHandler(impl SRPCEchoerServer, serviceID string) srpc.Handler { 217 | if serviceID == "" { 218 | serviceID = SRPCEchoerServiceID 219 | } 220 | return &SRPCEchoerHandler{impl: impl, serviceID: serviceID} 221 | } 222 | 223 | // SRPCRegisterEchoer registers the implementation with the mux. 224 | // Uses the default serviceID: other.Echoer 225 | func SRPCRegisterEchoer(mux srpc.Mux, impl SRPCEchoerServer) error { 226 | return mux.Register(NewSRPCEchoerHandler(impl, "")) 227 | } 228 | 229 | func (d *SRPCEchoerHandler) GetServiceID() string { return d.serviceID } 230 | 231 | func (SRPCEchoerHandler) GetMethodIDs() []string { 232 | return []string{ 233 | "Echo", 234 | "EchoServerStream", 235 | "EchoClientStream", 236 | "EchoBidiStream", 237 | "DoNothing", 238 | } 239 | } 240 | 241 | func (d *SRPCEchoerHandler) InvokeMethod( 242 | serviceID, methodID string, 243 | strm srpc.Stream, 244 | ) (bool, error) { 245 | if serviceID != "" && serviceID != d.GetServiceID() { 246 | return false, nil 247 | } 248 | 249 | switch methodID { 250 | case "Echo": 251 | return true, d.InvokeMethod_Echo(d.impl, strm) 252 | case "EchoServerStream": 253 | return true, d.InvokeMethod_EchoServerStream(d.impl, strm) 254 | case "EchoClientStream": 255 | return true, d.InvokeMethod_EchoClientStream(d.impl, strm) 256 | case "EchoBidiStream": 257 | return true, d.InvokeMethod_EchoBidiStream(d.impl, strm) 258 | case "DoNothing": 259 | return true, d.InvokeMethod_DoNothing(d.impl, strm) 260 | default: 261 | return false, nil 262 | } 263 | } 264 | 265 | func (SRPCEchoerHandler) InvokeMethod_Echo(impl SRPCEchoerServer, strm srpc.Stream) error { 266 | req := new(EchoMsg) 267 | if err := strm.MsgRecv(req); err != nil { 268 | return err 269 | } 270 | out, err := impl.Echo(strm.Context(), req) 271 | if err != nil { 272 | return err 273 | } 274 | return strm.MsgSend(out) 275 | } 276 | 277 | func (SRPCEchoerHandler) InvokeMethod_EchoServerStream(impl SRPCEchoerServer, strm srpc.Stream) error { 278 | req := new(EchoMsg) 279 | if err := strm.MsgRecv(req); err != nil { 280 | return err 281 | } 282 | serverStrm := &srpcEchoer_EchoServerStreamStream{strm} 283 | return impl.EchoServerStream(req, serverStrm) 284 | } 285 | 286 | func (SRPCEchoerHandler) InvokeMethod_EchoClientStream(impl SRPCEchoerServer, strm srpc.Stream) error { 287 | clientStrm := &srpcEchoer_EchoClientStreamStream{strm} 288 | out, err := impl.EchoClientStream(clientStrm) 289 | if err != nil { 290 | return err 291 | } 292 | return strm.MsgSend(out) 293 | } 294 | 295 | func (SRPCEchoerHandler) InvokeMethod_EchoBidiStream(impl SRPCEchoerServer, strm srpc.Stream) error { 296 | clientStrm := &srpcEchoer_EchoBidiStreamStream{strm} 297 | return impl.EchoBidiStream(clientStrm) 298 | } 299 | 300 | func (SRPCEchoerHandler) InvokeMethod_DoNothing(impl SRPCEchoerServer, strm srpc.Stream) error { 301 | req := new(emptypb.Empty) 302 | if err := strm.MsgRecv(req); err != nil { 303 | return err 304 | } 305 | out, err := impl.DoNothing(strm.Context(), req) 306 | if err != nil { 307 | return err 308 | } 309 | return strm.MsgSend(out) 310 | } 311 | 312 | type SRPCEchoer_EchoStream interface { 313 | srpc.Stream 314 | } 315 | 316 | type srpcEchoer_EchoStream struct { 317 | srpc.Stream 318 | } 319 | 320 | type SRPCEchoer_EchoServerStreamStream interface { 321 | srpc.Stream 322 | Send(*EchoMsg) error 323 | SendAndClose(*EchoMsg) error 324 | } 325 | 326 | type srpcEchoer_EchoServerStreamStream struct { 327 | srpc.Stream 328 | } 329 | 330 | func (x *srpcEchoer_EchoServerStreamStream) Send(m *EchoMsg) error { 331 | return x.MsgSend(m) 332 | } 333 | 334 | func (x *srpcEchoer_EchoServerStreamStream) SendAndClose(m *EchoMsg) error { 335 | if m != nil { 336 | if err := x.MsgSend(m); err != nil { 337 | return err 338 | } 339 | } 340 | return x.CloseSend() 341 | } 342 | 343 | type SRPCEchoer_EchoClientStreamStream interface { 344 | srpc.Stream 345 | Recv() (*EchoMsg, error) 346 | RecvTo(*EchoMsg) error 347 | } 348 | 349 | type srpcEchoer_EchoClientStreamStream struct { 350 | srpc.Stream 351 | } 352 | 353 | func (x *srpcEchoer_EchoClientStreamStream) Recv() (*EchoMsg, error) { 354 | m := new(EchoMsg) 355 | if err := x.MsgRecv(m); err != nil { 356 | return nil, err 357 | } 358 | return m, nil 359 | } 360 | 361 | func (x *srpcEchoer_EchoClientStreamStream) RecvTo(m *EchoMsg) error { 362 | return x.MsgRecv(m) 363 | } 364 | 365 | type SRPCEchoer_EchoBidiStreamStream interface { 366 | srpc.Stream 367 | Send(*EchoMsg) error 368 | SendAndClose(*EchoMsg) error 369 | Recv() (*EchoMsg, error) 370 | RecvTo(*EchoMsg) error 371 | } 372 | 373 | type srpcEchoer_EchoBidiStreamStream struct { 374 | srpc.Stream 375 | } 376 | 377 | func (x *srpcEchoer_EchoBidiStreamStream) Send(m *EchoMsg) error { 378 | return x.MsgSend(m) 379 | } 380 | 381 | func (x *srpcEchoer_EchoBidiStreamStream) SendAndClose(m *EchoMsg) error { 382 | if m != nil { 383 | if err := x.MsgSend(m); err != nil { 384 | return err 385 | } 386 | } 387 | return x.CloseSend() 388 | } 389 | 390 | func (x *srpcEchoer_EchoBidiStreamStream) Recv() (*EchoMsg, error) { 391 | m := new(EchoMsg) 392 | if err := x.MsgRecv(m); err != nil { 393 | return nil, err 394 | } 395 | return m, nil 396 | } 397 | 398 | func (x *srpcEchoer_EchoBidiStreamStream) RecvTo(m *EchoMsg) error { 399 | return x.MsgRecv(m) 400 | } 401 | 402 | type SRPCEchoer_DoNothingStream interface { 403 | srpc.Stream 404 | } 405 | 406 | type srpcEchoer_DoNothingStream struct { 407 | srpc.Stream 408 | } 409 | -------------------------------------------------------------------------------- /example/other/other_srpc.pb.ts: -------------------------------------------------------------------------------- 1 | // @generated by protoc-gen-es-starpc none with parameter "target=ts,ts_nocheck=false" 2 | // @generated from file github.com/aperturerobotics/protobuf-project/example/other/other.proto (package other, syntax proto3) 3 | /* eslint-disable */ 4 | 5 | import { EchoMsg } from './other.pb.js' 6 | import { Empty, Message, MethodKind } from '@aptre/protobuf-es-lite' 7 | import { 8 | buildDecodeMessageTransform, 9 | buildEncodeMessageTransform, 10 | MessageStream, 11 | ProtoRpc, 12 | } from 'starpc' 13 | 14 | /** 15 | * Echoer service returns the given message. 16 | * 17 | * @generated from service other.Echoer 18 | */ 19 | export const EchoerDefinition = { 20 | typeName: 'other.Echoer', 21 | methods: { 22 | /** 23 | * Echo returns the given message. 24 | * 25 | * @generated from rpc other.Echoer.Echo 26 | */ 27 | Echo: { 28 | name: 'Echo', 29 | I: EchoMsg, 30 | O: EchoMsg, 31 | kind: MethodKind.Unary, 32 | }, 33 | /** 34 | * EchoServerStream is an example of a server -> client one-way stream. 35 | * 36 | * @generated from rpc other.Echoer.EchoServerStream 37 | */ 38 | EchoServerStream: { 39 | name: 'EchoServerStream', 40 | I: EchoMsg, 41 | O: EchoMsg, 42 | kind: MethodKind.ServerStreaming, 43 | }, 44 | /** 45 | * EchoClientStream is an example of client->server one-way stream. 46 | * 47 | * @generated from rpc other.Echoer.EchoClientStream 48 | */ 49 | EchoClientStream: { 50 | name: 'EchoClientStream', 51 | I: EchoMsg, 52 | O: EchoMsg, 53 | kind: MethodKind.ClientStreaming, 54 | }, 55 | /** 56 | * EchoBidiStream is an example of a two-way stream. 57 | * 58 | * @generated from rpc other.Echoer.EchoBidiStream 59 | */ 60 | EchoBidiStream: { 61 | name: 'EchoBidiStream', 62 | I: EchoMsg, 63 | O: EchoMsg, 64 | kind: MethodKind.BiDiStreaming, 65 | }, 66 | /** 67 | * DoNothing does nothing. 68 | * 69 | * @generated from rpc other.Echoer.DoNothing 70 | */ 71 | DoNothing: { 72 | name: 'DoNothing', 73 | I: Empty, 74 | O: Empty, 75 | kind: MethodKind.Unary, 76 | }, 77 | }, 78 | } as const 79 | 80 | /** 81 | * Echoer service returns the given message. 82 | * 83 | * @generated from service other.Echoer 84 | */ 85 | export interface Echoer { 86 | /** 87 | * Echo returns the given message. 88 | * 89 | * @generated from rpc other.Echoer.Echo 90 | */ 91 | Echo( 92 | request: Message, 93 | abortSignal?: AbortSignal, 94 | ): Promise> 95 | 96 | /** 97 | * EchoServerStream is an example of a server -> client one-way stream. 98 | * 99 | * @generated from rpc other.Echoer.EchoServerStream 100 | */ 101 | EchoServerStream( 102 | request: Message, 103 | abortSignal?: AbortSignal, 104 | ): MessageStream 105 | 106 | /** 107 | * EchoClientStream is an example of client->server one-way stream. 108 | * 109 | * @generated from rpc other.Echoer.EchoClientStream 110 | */ 111 | EchoClientStream( 112 | request: MessageStream, 113 | abortSignal?: AbortSignal, 114 | ): Promise> 115 | 116 | /** 117 | * EchoBidiStream is an example of a two-way stream. 118 | * 119 | * @generated from rpc other.Echoer.EchoBidiStream 120 | */ 121 | EchoBidiStream( 122 | request: MessageStream, 123 | abortSignal?: AbortSignal, 124 | ): MessageStream 125 | 126 | /** 127 | * DoNothing does nothing. 128 | * 129 | * @generated from rpc other.Echoer.DoNothing 130 | */ 131 | DoNothing( 132 | request: Message, 133 | abortSignal?: AbortSignal, 134 | ): Promise> 135 | } 136 | 137 | export const EchoerServiceName = EchoerDefinition.typeName 138 | 139 | export class EchoerClient implements Echoer { 140 | private readonly rpc: ProtoRpc 141 | private readonly service: string 142 | constructor(rpc: ProtoRpc, opts?: { service?: string }) { 143 | this.service = opts?.service || EchoerServiceName 144 | this.rpc = rpc 145 | this.Echo = this.Echo.bind(this) 146 | this.EchoServerStream = this.EchoServerStream.bind(this) 147 | this.EchoClientStream = this.EchoClientStream.bind(this) 148 | this.EchoBidiStream = this.EchoBidiStream.bind(this) 149 | this.DoNothing = this.DoNothing.bind(this) 150 | } 151 | /** 152 | * Echo returns the given message. 153 | * 154 | * @generated from rpc other.Echoer.Echo 155 | */ 156 | async Echo( 157 | request: Message, 158 | abortSignal?: AbortSignal, 159 | ): Promise> { 160 | const requestMsg = EchoMsg.create(request) 161 | const result = await this.rpc.request( 162 | this.service, 163 | EchoerDefinition.methods.Echo.name, 164 | EchoMsg.toBinary(requestMsg), 165 | abortSignal || undefined, 166 | ) 167 | return EchoMsg.fromBinary(result) 168 | } 169 | 170 | /** 171 | * EchoServerStream is an example of a server -> client one-way stream. 172 | * 173 | * @generated from rpc other.Echoer.EchoServerStream 174 | */ 175 | EchoServerStream( 176 | request: Message, 177 | abortSignal?: AbortSignal, 178 | ): MessageStream { 179 | const requestMsg = EchoMsg.create(request) 180 | const result = this.rpc.serverStreamingRequest( 181 | this.service, 182 | EchoerDefinition.methods.EchoServerStream.name, 183 | EchoMsg.toBinary(requestMsg), 184 | abortSignal || undefined, 185 | ) 186 | return buildDecodeMessageTransform(EchoMsg)(result) 187 | } 188 | 189 | /** 190 | * EchoClientStream is an example of client->server one-way stream. 191 | * 192 | * @generated from rpc other.Echoer.EchoClientStream 193 | */ 194 | async EchoClientStream( 195 | request: MessageStream, 196 | abortSignal?: AbortSignal, 197 | ): Promise> { 198 | const result = await this.rpc.clientStreamingRequest( 199 | this.service, 200 | EchoerDefinition.methods.EchoClientStream.name, 201 | buildEncodeMessageTransform(EchoMsg)(request), 202 | abortSignal || undefined, 203 | ) 204 | return EchoMsg.fromBinary(result) 205 | } 206 | 207 | /** 208 | * EchoBidiStream is an example of a two-way stream. 209 | * 210 | * @generated from rpc other.Echoer.EchoBidiStream 211 | */ 212 | EchoBidiStream( 213 | request: MessageStream, 214 | abortSignal?: AbortSignal, 215 | ): MessageStream { 216 | const result = this.rpc.bidirectionalStreamingRequest( 217 | this.service, 218 | EchoerDefinition.methods.EchoBidiStream.name, 219 | buildEncodeMessageTransform(EchoMsg)(request), 220 | abortSignal || undefined, 221 | ) 222 | return buildDecodeMessageTransform(EchoMsg)(result) 223 | } 224 | 225 | /** 226 | * DoNothing does nothing. 227 | * 228 | * @generated from rpc other.Echoer.DoNothing 229 | */ 230 | async DoNothing( 231 | request: Message, 232 | abortSignal?: AbortSignal, 233 | ): Promise> { 234 | const requestMsg = Empty.create(request) 235 | const result = await this.rpc.request( 236 | this.service, 237 | EchoerDefinition.methods.DoNothing.name, 238 | Empty.toBinary(requestMsg), 239 | abortSignal || undefined, 240 | ) 241 | return Empty.fromBinary(result) 242 | } 243 | } 244 | -------------------------------------------------------------------------------- /example/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "module": "system", 5 | "noEmit": false, 6 | "declaration": false 7 | }, 8 | "include": [ 9 | "./" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/aperturerobotics/protobuf-project 2 | 3 | go 1.22 4 | 5 | replace google.golang.org/protobuf => github.com/aperturerobotics/protobuf-go v1.33.1-0.20240411062030-e36f75e0a3b8 // aperture 6 | 7 | require ( 8 | github.com/aperturerobotics/common v0.16.12 // latest 9 | github.com/aperturerobotics/protobuf-go-lite v0.6.5 // latest 10 | github.com/aperturerobotics/starpc v0.32.15 // latest 11 | github.com/aperturerobotics/util v1.23.7 // indirect 12 | ) 13 | 14 | require ( 15 | github.com/sirupsen/logrus v1.9.3 16 | google.golang.org/protobuf v1.34.2 17 | ) 18 | 19 | require ( 20 | github.com/aperturerobotics/json-iterator-lite v1.0.0 // indirect 21 | github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect 22 | github.com/ipfs/go-cid v0.4.1 // indirect 23 | github.com/klauspost/cpuid/v2 v2.2.7 // indirect 24 | github.com/libp2p/go-buffer-pool v0.1.0 // indirect 25 | github.com/libp2p/go-libp2p v0.35.1 // indirect 26 | github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48 // indirect 27 | github.com/minio/sha256-simd v1.0.1 // indirect 28 | github.com/mr-tron/base58 v1.2.0 // indirect 29 | github.com/multiformats/go-base32 v0.1.0 // indirect 30 | github.com/multiformats/go-base36 v0.2.0 // indirect 31 | github.com/multiformats/go-multiaddr v0.12.4 // indirect 32 | github.com/multiformats/go-multibase v0.2.0 // indirect 33 | github.com/multiformats/go-multicodec v0.9.0 // indirect 34 | github.com/multiformats/go-multihash v0.2.3 // indirect 35 | github.com/multiformats/go-multistream v0.5.0 // indirect 36 | github.com/multiformats/go-varint v0.0.7 // indirect 37 | github.com/pkg/errors v0.9.1 // indirect 38 | github.com/spaolacci/murmur3 v1.1.0 // indirect 39 | golang.org/x/crypto v0.23.0 // indirect 40 | golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect 41 | golang.org/x/sys v0.20.0 // indirect 42 | lukechampine.com/blake3 v1.2.1 // indirect 43 | nhooyr.io/websocket v1.8.11 // indirect 44 | ) 45 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/aperturerobotics/common v0.16.4 h1:bX/gvpoc48jFbVsVRkZZt3j2rBxijt8iLAgunhM98+k= 2 | github.com/aperturerobotics/common v0.16.4/go.mod h1:CNUQ4LRn9e2zwKKrWMZiKoywhWV9+Wpn3QPn9uE2E7Y= 3 | github.com/aperturerobotics/common v0.16.12 h1:cNmbuPvMxaGdv/CnYdkF0HE6ZuwJj+Nwx6/lvGy1KSs= 4 | github.com/aperturerobotics/common v0.16.12/go.mod h1:CNUQ4LRn9e2zwKKrWMZiKoywhWV9+Wpn3QPn9uE2E7Y= 5 | github.com/aperturerobotics/json-iterator-lite v1.0.0 h1:cihbrYWoK/S2RYXhJLpDZd+GUjVvFJN+D3w1VOqqHRI= 6 | github.com/aperturerobotics/json-iterator-lite v1.0.0/go.mod h1:snaApCEDtrHHP6UWSLKiYNOZU9A5NyzccKenx9oZEzg= 7 | github.com/aperturerobotics/protobuf-go v1.33.1-0.20240411062030-e36f75e0a3b8 h1:Juij9Gj5jVOJjqiu3EGHWnX9nH6fkBeGGu/3U8i5qss= 8 | github.com/aperturerobotics/protobuf-go v1.33.1-0.20240411062030-e36f75e0a3b8/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= 9 | github.com/aperturerobotics/protobuf-go-lite v0.6.5 h1:AuPPcZ7ZaJe9ZYYC4gF7/5/Xbn9Mt9uXyV3+ADWy+Ys= 10 | github.com/aperturerobotics/protobuf-go-lite v0.6.5/go.mod h1:YTbfnUj3feSULhs8VgepAHFnF3wUc0CPj4jd2axy21I= 11 | github.com/aperturerobotics/starpc v0.32.9 h1:RVhpoLzY5SMz+9To4mg1sqO70LpWDLvRYCKJQnYKv/s= 12 | github.com/aperturerobotics/starpc v0.32.9/go.mod h1:V/wN7Y+OHchsdZ8DcTS1qSUVs7yWJZuaGA0g/aLiq1w= 13 | github.com/aperturerobotics/starpc v0.32.15 h1:DhGM6jp6NWGj+GsjHHad5aO3v0TAz3btMATzuxAzz7o= 14 | github.com/aperturerobotics/starpc v0.32.15/go.mod h1:yYc6X6YQLpCYF2xZ6Rwcr//tno9uhRi+RAuQpSv5VQU= 15 | github.com/aperturerobotics/util v1.23.1 h1:pEeBrN5UUNy83OFyv9d7BQod8O++j5ZwIkEuYGdpRXw= 16 | github.com/aperturerobotics/util v1.23.1/go.mod h1:dO8P8Ut5xNPpLrPPpn7kM/aJL+qT20C5Ppcs1GE0VNg= 17 | github.com/aperturerobotics/util v1.23.7 h1:DERV75zYLRn4BTS0vMFkitWJhUg7VGG5UyJq2Frf3iI= 18 | github.com/aperturerobotics/util v1.23.7/go.mod h1:wpjaPlljanWro3pyt7/9Ja0mvFH26XL6MKsJSzF8s2Q= 19 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 20 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 21 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 22 | github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= 23 | github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= 24 | github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= 25 | github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= 26 | github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= 27 | github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= 28 | github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= 29 | github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 30 | github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= 31 | github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= 32 | github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= 33 | github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= 34 | github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= 35 | github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= 36 | github.com/libp2p/go-libp2p v0.33.2 h1:vCdwnFxoGOXMKmaGHlDSnL4bM3fQeW8pgIa9DECnb40= 37 | github.com/libp2p/go-libp2p v0.33.2/go.mod h1:zTeppLuCvUIkT118pFVzA8xzP/p2dJYOMApCkFh0Yww= 38 | github.com/libp2p/go-libp2p v0.35.1 h1:Hm7Ub2BF+GCb14ojcsEK6WAy5it5smPDK02iXSZLl50= 39 | github.com/libp2p/go-libp2p v0.35.1/go.mod h1:Dnkgba5hsfSv5dvvXC8nfqk44hH0gIKKno+HOMU0fdc= 40 | github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA= 41 | github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg= 42 | github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48 h1:KI65sCCL2h9IyCQwBhBXDgkKt3bmXoTu8T3rLVLZW4I= 43 | github.com/libp2p/go-yamux/v4 v4.0.2-0.20240322071716-53ef5820bd48/go.mod h1:PGP+3py2ZWDKABvqstBZtMnixEHNC7U/odnGylzur5o= 44 | github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= 45 | github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= 46 | github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= 47 | github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= 48 | github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= 49 | github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= 50 | github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= 51 | github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= 52 | github.com/multiformats/go-multiaddr v0.12.3 h1:hVBXvPRcKG0w80VinQ23P5t7czWgg65BmIvQKjDydU8= 53 | github.com/multiformats/go-multiaddr v0.12.3/go.mod h1:sBXrNzucqkFJhvKOiwwLyqamGa/P5EIXNPLovyhQCII= 54 | github.com/multiformats/go-multiaddr v0.12.4 h1:rrKqpY9h+n80EwhhC/kkcunCZZ7URIF8yN1WEUt2Hvc= 55 | github.com/multiformats/go-multiaddr v0.12.4/go.mod h1:sBXrNzucqkFJhvKOiwwLyqamGa/P5EIXNPLovyhQCII= 56 | github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= 57 | github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= 58 | github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg= 59 | github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k= 60 | github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= 61 | github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= 62 | github.com/multiformats/go-multistream v0.5.0 h1:5htLSLl7lvJk3xx3qT/8Zm9J4K8vEOf/QGkvOGQAyiE= 63 | github.com/multiformats/go-multistream v0.5.0/go.mod h1:n6tMZiwiP2wUsR8DgfDWw1dydlEqV3l6N3/GBsX6ILA= 64 | github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= 65 | github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= 66 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= 67 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= 68 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 69 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 70 | github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= 71 | github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= 72 | github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= 73 | github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= 74 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= 75 | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= 76 | github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= 77 | github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 78 | golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= 79 | golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= 80 | golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= 81 | golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= 82 | golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= 83 | golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= 84 | golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= 85 | golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= 86 | golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 87 | golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 88 | golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= 89 | golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 90 | golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= 91 | golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 92 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 93 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 94 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 95 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 96 | lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= 97 | lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= 98 | nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0= 99 | nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= 100 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@aperturerobotics/protobuf-project", 3 | "version": "0.0.0", 4 | "description": "Example of a Starpc RPC project.", 5 | "license": "MIT", 6 | "type": "module", 7 | "scripts": { 8 | "build": "tsc --project tsconfig.build.json --outDir ./dist/", 9 | "check": "npm run typecheck", 10 | "typecheck": "tsc --noEmit", 11 | "deps": "depcheck --ignore-patterns=.eslintrc.cjs,package.json --ignores depcheck,rimraf,prettier,typescript,starpc,@go/github.com,@aptre/common", 12 | "codegen": "npm run gen", 13 | "ci": "npm run build && npm run lint:js && npm run lint:go", 14 | "format": "npm run format:js && npm run format:go", 15 | "format:js": "prettier --write './!(vendor|dist)/**/(*.ts|*.tsx|*.js|*.html|*.css)'", 16 | "format:go": "make format", 17 | "gen": "make genproto", 18 | "test": "make test && npm run check", 19 | "test:js": "echo No JS tests.", 20 | "demo": "make demo", 21 | "lint": "npm run lint:go && npm run lint:js", 22 | "lint:go": "make lint", 23 | "lint:js": "ESLINT_USE_FLAT_CONFIG=false eslint -c .eslintrc.cjs ./", 24 | "precommit": "npm run format", 25 | "prepare": "go mod vendor && rimraf ./.tools" 26 | }, 27 | "prettier": { 28 | "semi": false, 29 | "singleQuote": true 30 | }, 31 | "devDependencies": { 32 | "@aptre/common": "^0.16.1", 33 | "depcheck": "^1.4.3", 34 | "prettier": "^3.0.3", 35 | "rimraf": "^5.0.7", 36 | "typescript": "^5.2.2" 37 | }, 38 | "dependencies": { 39 | "@aptre/it-ws": "^1.0.0", 40 | "@aptre/protobuf-es-lite": "^0.4.3", 41 | "starpc": "^0.32.8" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /project.go: -------------------------------------------------------------------------------- 1 | package protobuf_project 2 | -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "noEmit": false, 5 | "declaration": true 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "jsx": "react", 7 | "baseUrl": "./", 8 | "paths": { 9 | "@go/*": ["vendor/*"] 10 | }, 11 | "allowSyntheticDefaultImports": true, 12 | "declaration": true, 13 | "esModuleInterop": true, 14 | "forceConsistentCasingInFileNames": true, 15 | "importsNotUsedAsValues": "remove", 16 | "noEmit": true, 17 | "resolveJsonModule": true, 18 | "skipLibCheck": true, 19 | "strict": true, 20 | "lib": ["webworker", "dom"] 21 | }, 22 | "exclude": ["node_modules", "vendor", "dist"], 23 | "ts-node": { 24 | "esm": true, 25 | "experimentalSpecifierResolution": true 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aptre/common@^0.16.1": 6 | version "0.16.12" 7 | resolved "https://registry.yarnpkg.com/@aptre/common/-/common-0.16.12.tgz#00c67bc193e12000b83a7fcd41b062fdadcb4927" 8 | integrity sha512-VF9X4NV/hx2ViNKZ//nMfrh9lrtFPppUeHhRZ6HswCBMW0HjN6oHMA3iwimOM9iaxfXviFJSYSJy4cKj8x3Tmg== 9 | dependencies: 10 | "@aptre/protobuf-es-lite" "^0.4.5" 11 | "@typescript-eslint/eslint-plugin" "^7.8.0" 12 | "@typescript-eslint/parser" "^7.8.0" 13 | eslint "^8.57.0" 14 | eslint-config-prettier "^9.0.0" 15 | eslint-plugin-react-hooks "^4.6.1" 16 | eslint-plugin-unused-imports "^4.0.0" 17 | starpc "^0.32.14" 18 | vitest "^1.6.0" 19 | 20 | "@aptre/it-ws@^1.0.0", "@aptre/it-ws@^1.0.1": 21 | version "1.0.1" 22 | resolved "https://registry.yarnpkg.com/@aptre/it-ws/-/it-ws-1.0.1.tgz#fd3e45d517849b7a76a37f19d5c25f5dbc3ba991" 23 | integrity sha512-8gbaW9utMyVtAi317JX+CYm4uM2XUy+a4y62pok++sSkvlHjG4tjPYOkzVxeTer10BjgTHLek2K/1naWgYicgQ== 24 | dependencies: 25 | "@types/ws" "^8.2.2" 26 | event-iterator "^2.0.0" 27 | it-stream-types "^2.0.1" 28 | uint8arrays "^5.1.0" 29 | ws "^8.17.1" 30 | 31 | "@aptre/protobuf-es-lite@^0.4.3", "@aptre/protobuf-es-lite@^0.4.5", "@aptre/protobuf-es-lite@^0.4.6": 32 | version "0.4.6" 33 | resolved "https://registry.yarnpkg.com/@aptre/protobuf-es-lite/-/protobuf-es-lite-0.4.6.tgz#c0b49c370819a382d069a8e7b0ea46b99b33ee4f" 34 | integrity sha512-VleuZGQ/ZQiowBn/BT7CuWaTeozmFuQnk4ryHMzuyHmAPXXH++/CoD7LnyqMzuHZhQfC1XtNFqK14zJH6fkcWg== 35 | dependencies: 36 | "@typescript/vfs" "^1.5.0" 37 | lz-string "^1.5.0" 38 | 39 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": 40 | version "7.24.2" 41 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" 42 | integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== 43 | dependencies: 44 | "@babel/highlight" "^7.24.2" 45 | picocolors "^1.0.0" 46 | 47 | "@babel/generator@^7.24.5": 48 | version "7.24.5" 49 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" 50 | integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== 51 | dependencies: 52 | "@babel/types" "^7.24.5" 53 | "@jridgewell/gen-mapping" "^0.3.5" 54 | "@jridgewell/trace-mapping" "^0.3.25" 55 | jsesc "^2.5.1" 56 | 57 | "@babel/helper-environment-visitor@^7.22.20": 58 | version "7.22.20" 59 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" 60 | integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== 61 | 62 | "@babel/helper-function-name@^7.23.0": 63 | version "7.23.0" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" 65 | integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== 66 | dependencies: 67 | "@babel/template" "^7.22.15" 68 | "@babel/types" "^7.23.0" 69 | 70 | "@babel/helper-hoist-variables@^7.22.5": 71 | version "7.22.5" 72 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" 73 | integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== 74 | dependencies: 75 | "@babel/types" "^7.22.5" 76 | 77 | "@babel/helper-split-export-declaration@^7.24.5": 78 | version "7.24.5" 79 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" 80 | integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== 81 | dependencies: 82 | "@babel/types" "^7.24.5" 83 | 84 | "@babel/helper-string-parser@^7.24.1": 85 | version "7.24.1" 86 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" 87 | integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== 88 | 89 | "@babel/helper-validator-identifier@^7.24.5": 90 | version "7.24.5" 91 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" 92 | integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== 93 | 94 | "@babel/highlight@^7.24.2": 95 | version "7.24.5" 96 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" 97 | integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== 98 | dependencies: 99 | "@babel/helper-validator-identifier" "^7.24.5" 100 | chalk "^2.4.2" 101 | js-tokens "^4.0.0" 102 | picocolors "^1.0.0" 103 | 104 | "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5": 105 | version "7.24.5" 106 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" 107 | integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== 108 | 109 | "@babel/template@^7.22.15": 110 | version "7.24.0" 111 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" 112 | integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== 113 | dependencies: 114 | "@babel/code-frame" "^7.23.5" 115 | "@babel/parser" "^7.24.0" 116 | "@babel/types" "^7.24.0" 117 | 118 | "@babel/traverse@^7.23.2": 119 | version "7.24.5" 120 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" 121 | integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== 122 | dependencies: 123 | "@babel/code-frame" "^7.24.2" 124 | "@babel/generator" "^7.24.5" 125 | "@babel/helper-environment-visitor" "^7.22.20" 126 | "@babel/helper-function-name" "^7.23.0" 127 | "@babel/helper-hoist-variables" "^7.22.5" 128 | "@babel/helper-split-export-declaration" "^7.24.5" 129 | "@babel/parser" "^7.24.5" 130 | "@babel/types" "^7.24.5" 131 | debug "^4.3.1" 132 | globals "^11.1.0" 133 | 134 | "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5": 135 | version "7.24.5" 136 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" 137 | integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== 138 | dependencies: 139 | "@babel/helper-string-parser" "^7.24.1" 140 | "@babel/helper-validator-identifier" "^7.24.5" 141 | to-fast-properties "^2.0.0" 142 | 143 | "@chainsafe/is-ip@^2.0.1", "@chainsafe/is-ip@^2.0.2": 144 | version "2.0.2" 145 | resolved "https://registry.yarnpkg.com/@chainsafe/is-ip/-/is-ip-2.0.2.tgz#7311e7403f11d8c5cfa48111f56fcecaac37c9f6" 146 | integrity sha512-ndGqEMG1W5WkGagaqOZHpPU172AGdxr+LD15sv3WIUvT5oCFUrG1Y0CW/v2Egwj4JXEvSibaIIIqImsm98y1nA== 147 | 148 | "@chainsafe/libp2p-yamux@^6.0.2": 149 | version "6.0.2" 150 | resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-yamux/-/libp2p-yamux-6.0.2.tgz#ba94c38ebfe2761d20b0986ff8d832fc05c2ce15" 151 | integrity sha512-S5OkLHqYhEVMQQ4BTgnRANEIbGTQhaC23glCgBwGdeoTRtMpIozwDiPfljFLCm0RYWdCRJw9oFztO95KUHjptA== 152 | dependencies: 153 | "@libp2p/interface" "^1.1.3" 154 | "@libp2p/utils" "^5.2.5" 155 | get-iterator "^2.0.1" 156 | it-foreach "^2.0.6" 157 | it-pipe "^3.0.1" 158 | it-pushable "^3.2.3" 159 | uint8arraylist "^2.4.8" 160 | 161 | "@chainsafe/netmask@^2.0.0": 162 | version "2.0.0" 163 | resolved "https://registry.yarnpkg.com/@chainsafe/netmask/-/netmask-2.0.0.tgz#0d4a75f47919f65011da4327a3845c9661f1038a" 164 | integrity sha512-I3Z+6SWUoaljh3TBzCnCxjlUyN8tA+NAk5L6m9IxvCf1BENQTePzPMis97CoN/iMW1St3WN+AWCCRp+TTBRiDg== 165 | dependencies: 166 | "@chainsafe/is-ip" "^2.0.1" 167 | 168 | "@esbuild/aix-ppc64@0.21.5": 169 | version "0.21.5" 170 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" 171 | integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== 172 | 173 | "@esbuild/android-arm64@0.21.5": 174 | version "0.21.5" 175 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" 176 | integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== 177 | 178 | "@esbuild/android-arm@0.21.5": 179 | version "0.21.5" 180 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" 181 | integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== 182 | 183 | "@esbuild/android-x64@0.21.5": 184 | version "0.21.5" 185 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" 186 | integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== 187 | 188 | "@esbuild/darwin-arm64@0.21.5": 189 | version "0.21.5" 190 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" 191 | integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== 192 | 193 | "@esbuild/darwin-x64@0.21.5": 194 | version "0.21.5" 195 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" 196 | integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== 197 | 198 | "@esbuild/freebsd-arm64@0.21.5": 199 | version "0.21.5" 200 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" 201 | integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== 202 | 203 | "@esbuild/freebsd-x64@0.21.5": 204 | version "0.21.5" 205 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" 206 | integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== 207 | 208 | "@esbuild/linux-arm64@0.21.5": 209 | version "0.21.5" 210 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" 211 | integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== 212 | 213 | "@esbuild/linux-arm@0.21.5": 214 | version "0.21.5" 215 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" 216 | integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== 217 | 218 | "@esbuild/linux-ia32@0.21.5": 219 | version "0.21.5" 220 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" 221 | integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== 222 | 223 | "@esbuild/linux-loong64@0.21.5": 224 | version "0.21.5" 225 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" 226 | integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== 227 | 228 | "@esbuild/linux-mips64el@0.21.5": 229 | version "0.21.5" 230 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" 231 | integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== 232 | 233 | "@esbuild/linux-ppc64@0.21.5": 234 | version "0.21.5" 235 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" 236 | integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== 237 | 238 | "@esbuild/linux-riscv64@0.21.5": 239 | version "0.21.5" 240 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" 241 | integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== 242 | 243 | "@esbuild/linux-s390x@0.21.5": 244 | version "0.21.5" 245 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" 246 | integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== 247 | 248 | "@esbuild/linux-x64@0.21.5": 249 | version "0.21.5" 250 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" 251 | integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== 252 | 253 | "@esbuild/netbsd-x64@0.21.5": 254 | version "0.21.5" 255 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" 256 | integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== 257 | 258 | "@esbuild/openbsd-x64@0.21.5": 259 | version "0.21.5" 260 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" 261 | integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== 262 | 263 | "@esbuild/sunos-x64@0.21.5": 264 | version "0.21.5" 265 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" 266 | integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== 267 | 268 | "@esbuild/win32-arm64@0.21.5": 269 | version "0.21.5" 270 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" 271 | integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== 272 | 273 | "@esbuild/win32-ia32@0.21.5": 274 | version "0.21.5" 275 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" 276 | integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== 277 | 278 | "@esbuild/win32-x64@0.21.5": 279 | version "0.21.5" 280 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" 281 | integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== 282 | 283 | "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": 284 | version "4.4.0" 285 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" 286 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 287 | dependencies: 288 | eslint-visitor-keys "^3.3.0" 289 | 290 | "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": 291 | version "4.11.0" 292 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" 293 | integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== 294 | 295 | "@eslint/eslintrc@^2.1.4": 296 | version "2.1.4" 297 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" 298 | integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== 299 | dependencies: 300 | ajv "^6.12.4" 301 | debug "^4.3.2" 302 | espree "^9.6.0" 303 | globals "^13.19.0" 304 | ignore "^5.2.0" 305 | import-fresh "^3.2.1" 306 | js-yaml "^4.1.0" 307 | minimatch "^3.1.2" 308 | strip-json-comments "^3.1.1" 309 | 310 | "@eslint/js@8.57.0": 311 | version "8.57.0" 312 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" 313 | integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== 314 | 315 | "@humanwhocodes/config-array@^0.11.14": 316 | version "0.11.14" 317 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" 318 | integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== 319 | dependencies: 320 | "@humanwhocodes/object-schema" "^2.0.2" 321 | debug "^4.3.1" 322 | minimatch "^3.0.5" 323 | 324 | "@humanwhocodes/module-importer@^1.0.1": 325 | version "1.0.1" 326 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 327 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 328 | 329 | "@humanwhocodes/object-schema@^2.0.2": 330 | version "2.0.3" 331 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" 332 | integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== 333 | 334 | "@isaacs/cliui@^8.0.2": 335 | version "8.0.2" 336 | resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" 337 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 338 | dependencies: 339 | string-width "^5.1.2" 340 | string-width-cjs "npm:string-width@^4.2.0" 341 | strip-ansi "^7.0.1" 342 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 343 | wrap-ansi "^8.1.0" 344 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 345 | 346 | "@jest/schemas@^29.6.3": 347 | version "29.6.3" 348 | resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" 349 | integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== 350 | dependencies: 351 | "@sinclair/typebox" "^0.27.8" 352 | 353 | "@jridgewell/gen-mapping@^0.3.5": 354 | version "0.3.5" 355 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" 356 | integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== 357 | dependencies: 358 | "@jridgewell/set-array" "^1.2.1" 359 | "@jridgewell/sourcemap-codec" "^1.4.10" 360 | "@jridgewell/trace-mapping" "^0.3.24" 361 | 362 | "@jridgewell/resolve-uri@^3.1.0": 363 | version "3.1.2" 364 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" 365 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 366 | 367 | "@jridgewell/set-array@^1.2.1": 368 | version "1.2.1" 369 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" 370 | integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== 371 | 372 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": 373 | version "1.4.15" 374 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 375 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 376 | 377 | "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": 378 | version "0.3.25" 379 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" 380 | integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== 381 | dependencies: 382 | "@jridgewell/resolve-uri" "^3.1.0" 383 | "@jridgewell/sourcemap-codec" "^1.4.14" 384 | 385 | "@leichtgewicht/ip-codec@^2.0.1": 386 | version "2.0.5" 387 | resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" 388 | integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== 389 | 390 | "@libp2p/crypto@^4.1.4": 391 | version "4.1.4" 392 | resolved "https://registry.yarnpkg.com/@libp2p/crypto/-/crypto-4.1.4.tgz#0f88d34d0186e68a9545dc512aed2dd9193beb83" 393 | integrity sha512-xiKIAAsh5xFo1KiO8bfDu1V5g73jtxwYV36Jp6qvSA6538UuUn8sGpO4IMINjmtSnC/DSx6hyu1MnJU1BMbDDA== 394 | dependencies: 395 | "@libp2p/interface" "^1.5.0" 396 | "@noble/curves" "^1.4.0" 397 | "@noble/hashes" "^1.4.0" 398 | asn1js "^3.0.5" 399 | multiformats "^13.1.0" 400 | protons-runtime "^5.4.0" 401 | uint8arraylist "^2.4.8" 402 | uint8arrays "^5.1.0" 403 | 404 | "@libp2p/interface@^1.0.0", "@libp2p/interface@^1.1.3", "@libp2p/interface@^1.3.1", "@libp2p/interface@^1.5.0": 405 | version "1.5.0" 406 | resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-1.5.0.tgz#306197f30a43d966dcda71a2522877e7d6fc6506" 407 | integrity sha512-SivVvZ+7r7Vgnv+Y88nGZTpG449PYZAPgfLhVqTXn6T4NAFt47InzC7UMFnVqSQuT21YmI9DoeaVXH73CsHNrg== 408 | dependencies: 409 | "@multiformats/multiaddr" "^12.2.3" 410 | it-pushable "^3.2.3" 411 | it-stream-types "^2.0.1" 412 | multiformats "^13.1.0" 413 | progress-events "^1.0.0" 414 | uint8arraylist "^2.4.8" 415 | 416 | "@libp2p/logger@^4.0.12", "@libp2p/logger@^4.0.15": 417 | version "4.0.15" 418 | resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-4.0.15.tgz#f55cc052dc71c98c15fa13c6f12496043eae6eb9" 419 | integrity sha512-Xi8Ud5EOtJE5gRp9EUBbtJpNqh39+J5WUZJ05fiQUwv8Q3r5xbXYnff2cOXKDVpY8c71cg+nfQNqRRqKDyu3jQ== 420 | dependencies: 421 | "@libp2p/interface" "^1.5.0" 422 | "@multiformats/multiaddr" "^12.2.3" 423 | debug "^4.3.4" 424 | interface-datastore "^8.2.11" 425 | multiformats "^13.1.0" 426 | 427 | "@libp2p/utils@^5.2.5": 428 | version "5.4.4" 429 | resolved "https://registry.yarnpkg.com/@libp2p/utils/-/utils-5.4.4.tgz#4e9a20b2b0322b45dba4018d5c8b9a735a93e2a5" 430 | integrity sha512-7hppKcVZ0smBTDMwIdEO7Lqn26f7XZFXSPLs4anxr0EQ1dpax8xWTiHU1cRk7cD3KpUXLGMaqYoz7ko+kj8oSw== 431 | dependencies: 432 | "@chainsafe/is-ip" "^2.0.2" 433 | "@libp2p/crypto" "^4.1.4" 434 | "@libp2p/interface" "^1.5.0" 435 | "@libp2p/logger" "^4.0.15" 436 | "@multiformats/multiaddr" "^12.2.3" 437 | "@multiformats/multiaddr-matcher" "^1.2.1" 438 | "@sindresorhus/fnv1a" "^3.1.0" 439 | "@types/murmurhash3js-revisited" "^3.0.3" 440 | any-signal "^4.1.1" 441 | delay "^6.0.0" 442 | get-iterator "^2.0.1" 443 | is-loopback-addr "^2.0.2" 444 | it-pushable "^3.2.3" 445 | it-stream-types "^2.0.1" 446 | murmurhash3js-revisited "^3.0.0" 447 | netmask "^2.0.2" 448 | p-defer "^4.0.1" 449 | race-event "^1.3.0" 450 | race-signal "^1.0.2" 451 | uint8arraylist "^2.4.8" 452 | uint8arrays "^5.1.0" 453 | 454 | "@multiformats/dns@^1.0.3": 455 | version "1.0.6" 456 | resolved "https://registry.yarnpkg.com/@multiformats/dns/-/dns-1.0.6.tgz#b8c7de11459a02a5f4e609d35d3cdb95cb6ad152" 457 | integrity sha512-nt/5UqjMPtyvkG9BQYdJ4GfLK3nMqGpFZOzf4hAmIa0sJh2LlS9YKXZ4FgwBDsaHvzZqR/rUFIywIc7pkHNNuw== 458 | dependencies: 459 | "@types/dns-packet" "^5.6.5" 460 | buffer "^6.0.3" 461 | dns-packet "^5.6.1" 462 | hashlru "^2.3.0" 463 | p-queue "^8.0.1" 464 | progress-events "^1.0.0" 465 | uint8arrays "^5.0.2" 466 | 467 | "@multiformats/multiaddr-matcher@^1.2.1": 468 | version "1.2.4" 469 | resolved "https://registry.yarnpkg.com/@multiformats/multiaddr-matcher/-/multiaddr-matcher-1.2.4.tgz#affb3c63b5cd83b44156be19583981651373ec2e" 470 | integrity sha512-GgpqzQFL4Mj8t7cLNHC5nuYUuSm0kTtSUyYswiyWwTSUY3XwRAMx0UiFWQg+ETk0u+/IvFaHxfnyEoH3tasvwg== 471 | dependencies: 472 | "@chainsafe/is-ip" "^2.0.1" 473 | "@multiformats/multiaddr" "^12.0.0" 474 | multiformats "^13.0.0" 475 | 476 | "@multiformats/multiaddr@^12.0.0", "@multiformats/multiaddr@^12.2.3": 477 | version "12.3.0" 478 | resolved "https://registry.yarnpkg.com/@multiformats/multiaddr/-/multiaddr-12.3.0.tgz#b1422813446e5cdec4b0f6cba51f93239f390884" 479 | integrity sha512-JQ8Gc/jgucqqvEaDTFN/AvxlYDHEE7lgEWLMYW7hKZkWggER+GvG/tVxUgUxIP8M0vFpvEHKKHE0lKzyMsgi8Q== 480 | dependencies: 481 | "@chainsafe/is-ip" "^2.0.1" 482 | "@chainsafe/netmask" "^2.0.0" 483 | "@libp2p/interface" "^1.0.0" 484 | "@multiformats/dns" "^1.0.3" 485 | multiformats "^13.0.0" 486 | uint8-varint "^2.0.1" 487 | uint8arrays "^5.0.0" 488 | 489 | "@noble/curves@^1.4.0": 490 | version "1.4.2" 491 | resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" 492 | integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== 493 | dependencies: 494 | "@noble/hashes" "1.4.0" 495 | 496 | "@noble/hashes@1.4.0", "@noble/hashes@^1.4.0": 497 | version "1.4.0" 498 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" 499 | integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== 500 | 501 | "@nodelib/fs.scandir@2.1.5": 502 | version "2.1.5" 503 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 504 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 505 | dependencies: 506 | "@nodelib/fs.stat" "2.0.5" 507 | run-parallel "^1.1.9" 508 | 509 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 510 | version "2.0.5" 511 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 512 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 513 | 514 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 515 | version "1.2.8" 516 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 517 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 518 | dependencies: 519 | "@nodelib/fs.scandir" "2.1.5" 520 | fastq "^1.6.0" 521 | 522 | "@pkgjs/parseargs@^0.11.0": 523 | version "0.11.0" 524 | resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" 525 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 526 | 527 | "@rollup/rollup-android-arm-eabi@4.18.0": 528 | version "4.18.0" 529 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27" 530 | integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ== 531 | 532 | "@rollup/rollup-android-arm64@4.18.0": 533 | version "4.18.0" 534 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203" 535 | integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA== 536 | 537 | "@rollup/rollup-darwin-arm64@4.18.0": 538 | version "4.18.0" 539 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096" 540 | integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w== 541 | 542 | "@rollup/rollup-darwin-x64@4.18.0": 543 | version "4.18.0" 544 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c" 545 | integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA== 546 | 547 | "@rollup/rollup-linux-arm-gnueabihf@4.18.0": 548 | version "4.18.0" 549 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8" 550 | integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA== 551 | 552 | "@rollup/rollup-linux-arm-musleabihf@4.18.0": 553 | version "4.18.0" 554 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549" 555 | integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A== 556 | 557 | "@rollup/rollup-linux-arm64-gnu@4.18.0": 558 | version "4.18.0" 559 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577" 560 | integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw== 561 | 562 | "@rollup/rollup-linux-arm64-musl@4.18.0": 563 | version "4.18.0" 564 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c" 565 | integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ== 566 | 567 | "@rollup/rollup-linux-powerpc64le-gnu@4.18.0": 568 | version "4.18.0" 569 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf" 570 | integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA== 571 | 572 | "@rollup/rollup-linux-riscv64-gnu@4.18.0": 573 | version "4.18.0" 574 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9" 575 | integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg== 576 | 577 | "@rollup/rollup-linux-s390x-gnu@4.18.0": 578 | version "4.18.0" 579 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec" 580 | integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg== 581 | 582 | "@rollup/rollup-linux-x64-gnu@4.18.0": 583 | version "4.18.0" 584 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942" 585 | integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w== 586 | 587 | "@rollup/rollup-linux-x64-musl@4.18.0": 588 | version "4.18.0" 589 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d" 590 | integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg== 591 | 592 | "@rollup/rollup-win32-arm64-msvc@4.18.0": 593 | version "4.18.0" 594 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf" 595 | integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA== 596 | 597 | "@rollup/rollup-win32-ia32-msvc@4.18.0": 598 | version "4.18.0" 599 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54" 600 | integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg== 601 | 602 | "@rollup/rollup-win32-x64-msvc@4.18.0": 603 | version "4.18.0" 604 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4" 605 | integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g== 606 | 607 | "@sinclair/typebox@^0.27.8": 608 | version "0.27.8" 609 | resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" 610 | integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== 611 | 612 | "@sindresorhus/fnv1a@^3.1.0": 613 | version "3.1.0" 614 | resolved "https://registry.yarnpkg.com/@sindresorhus/fnv1a/-/fnv1a-3.1.0.tgz#f8e46597298f6fd4c12dc901cdd4e73beb4d24fa" 615 | integrity sha512-KV321z5m/0nuAg83W1dPLy85HpHDk7Sdi4fJbwvacWsEhAh+rZUW4ZfGcXmUIvjZg4ss2bcwNlRhJ7GBEUG08w== 616 | 617 | "@types/dns-packet@^5.6.5": 618 | version "5.6.5" 619 | resolved "https://registry.yarnpkg.com/@types/dns-packet/-/dns-packet-5.6.5.tgz#49fc29a40f5d30227ed028fa1ee82601d3745e15" 620 | integrity sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q== 621 | dependencies: 622 | "@types/node" "*" 623 | 624 | "@types/estree@1.0.5", "@types/estree@^1.0.0": 625 | version "1.0.5" 626 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" 627 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== 628 | 629 | "@types/minimatch@^3.0.3": 630 | version "3.0.5" 631 | resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" 632 | integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== 633 | 634 | "@types/murmurhash3js-revisited@^3.0.3": 635 | version "3.0.3" 636 | resolved "https://registry.yarnpkg.com/@types/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.3.tgz#94e247168a18342477639126da8f01353437e8d0" 637 | integrity sha512-QvlqvYtGBYIDeO8dFdY4djkRubcrc+yTJtBc7n8VZPlJDUS/00A+PssbvERM8f9bYRmcaSEHPZgZojeQj7kzAA== 638 | 639 | "@types/node@*": 640 | version "20.14.9" 641 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" 642 | integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== 643 | dependencies: 644 | undici-types "~5.26.4" 645 | 646 | "@types/parse-json@^4.0.0": 647 | version "4.0.2" 648 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" 649 | integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== 650 | 651 | "@types/ws@^8.2.2": 652 | version "8.5.10" 653 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" 654 | integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== 655 | dependencies: 656 | "@types/node" "*" 657 | 658 | "@typescript-eslint/eslint-plugin@^7.8.0": 659 | version "7.15.0" 660 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#8eaf396ac2992d2b8f874b68eb3fcd6b179cb7f3" 661 | integrity sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA== 662 | dependencies: 663 | "@eslint-community/regexpp" "^4.10.0" 664 | "@typescript-eslint/scope-manager" "7.15.0" 665 | "@typescript-eslint/type-utils" "7.15.0" 666 | "@typescript-eslint/utils" "7.15.0" 667 | "@typescript-eslint/visitor-keys" "7.15.0" 668 | graphemer "^1.4.0" 669 | ignore "^5.3.1" 670 | natural-compare "^1.4.0" 671 | ts-api-utils "^1.3.0" 672 | 673 | "@typescript-eslint/parser@^7.8.0": 674 | version "7.15.0" 675 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.15.0.tgz#f4a536e5fc6a1c05c82c4d263a2bfad2da235c80" 676 | integrity sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A== 677 | dependencies: 678 | "@typescript-eslint/scope-manager" "7.15.0" 679 | "@typescript-eslint/types" "7.15.0" 680 | "@typescript-eslint/typescript-estree" "7.15.0" 681 | "@typescript-eslint/visitor-keys" "7.15.0" 682 | debug "^4.3.4" 683 | 684 | "@typescript-eslint/scope-manager@7.15.0": 685 | version "7.15.0" 686 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz#201b34b0720be8b1447df17b963941bf044999b2" 687 | integrity sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw== 688 | dependencies: 689 | "@typescript-eslint/types" "7.15.0" 690 | "@typescript-eslint/visitor-keys" "7.15.0" 691 | 692 | "@typescript-eslint/type-utils@7.15.0": 693 | version "7.15.0" 694 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz#5b83c904c6de91802fb399305a50a56d10472c39" 695 | integrity sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg== 696 | dependencies: 697 | "@typescript-eslint/typescript-estree" "7.15.0" 698 | "@typescript-eslint/utils" "7.15.0" 699 | debug "^4.3.4" 700 | ts-api-utils "^1.3.0" 701 | 702 | "@typescript-eslint/types@7.15.0": 703 | version "7.15.0" 704 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.15.0.tgz#fb894373a6e3882cbb37671ffddce44f934f62fc" 705 | integrity sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw== 706 | 707 | "@typescript-eslint/typescript-estree@7.15.0": 708 | version "7.15.0" 709 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz#e323bfa3966e1485b638ce751f219fc1f31eba37" 710 | integrity sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ== 711 | dependencies: 712 | "@typescript-eslint/types" "7.15.0" 713 | "@typescript-eslint/visitor-keys" "7.15.0" 714 | debug "^4.3.4" 715 | globby "^11.1.0" 716 | is-glob "^4.0.3" 717 | minimatch "^9.0.4" 718 | semver "^7.6.0" 719 | ts-api-utils "^1.3.0" 720 | 721 | "@typescript-eslint/utils@7.15.0": 722 | version "7.15.0" 723 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.15.0.tgz#9e6253c4599b6e7da2fb64ba3f549c73eb8c1960" 724 | integrity sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA== 725 | dependencies: 726 | "@eslint-community/eslint-utils" "^4.4.0" 727 | "@typescript-eslint/scope-manager" "7.15.0" 728 | "@typescript-eslint/types" "7.15.0" 729 | "@typescript-eslint/typescript-estree" "7.15.0" 730 | 731 | "@typescript-eslint/visitor-keys@7.15.0": 732 | version "7.15.0" 733 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz#1da0726201a859343fe6a05742a7c1792fff5b66" 734 | integrity sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw== 735 | dependencies: 736 | "@typescript-eslint/types" "7.15.0" 737 | eslint-visitor-keys "^3.4.3" 738 | 739 | "@typescript/vfs@^1.5.0": 740 | version "1.5.3" 741 | resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.5.3.tgz#b3e9e580cbdf282d6581543dcf3b2c0e44ebf9fb" 742 | integrity sha512-OSZ/o3wwD5VPZVdGGsXWk7sRGRtwrGnqA4zwmb33FTs7Wxmad0QTkQCbaNyqWA8hL09TCwAthdp8yjFA5G1lvw== 743 | dependencies: 744 | debug "^4.1.1" 745 | 746 | "@ungap/structured-clone@^1.2.0": 747 | version "1.2.0" 748 | resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" 749 | integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== 750 | 751 | "@vitest/expect@1.6.0": 752 | version "1.6.0" 753 | resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.6.0.tgz#0b3ba0914f738508464983f4d811bc122b51fb30" 754 | integrity sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ== 755 | dependencies: 756 | "@vitest/spy" "1.6.0" 757 | "@vitest/utils" "1.6.0" 758 | chai "^4.3.10" 759 | 760 | "@vitest/runner@1.6.0": 761 | version "1.6.0" 762 | resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.6.0.tgz#a6de49a96cb33b0e3ba0d9064a3e8d6ce2f08825" 763 | integrity sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg== 764 | dependencies: 765 | "@vitest/utils" "1.6.0" 766 | p-limit "^5.0.0" 767 | pathe "^1.1.1" 768 | 769 | "@vitest/snapshot@1.6.0": 770 | version "1.6.0" 771 | resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.6.0.tgz#deb7e4498a5299c1198136f56e6e0f692e6af470" 772 | integrity sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ== 773 | dependencies: 774 | magic-string "^0.30.5" 775 | pathe "^1.1.1" 776 | pretty-format "^29.7.0" 777 | 778 | "@vitest/spy@1.6.0": 779 | version "1.6.0" 780 | resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.6.0.tgz#362cbd42ccdb03f1613798fde99799649516906d" 781 | integrity sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw== 782 | dependencies: 783 | tinyspy "^2.2.0" 784 | 785 | "@vitest/utils@1.6.0": 786 | version "1.6.0" 787 | resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.6.0.tgz#5c5675ca7d6f546a7b4337de9ae882e6c57896a1" 788 | integrity sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw== 789 | dependencies: 790 | diff-sequences "^29.6.3" 791 | estree-walker "^3.0.3" 792 | loupe "^2.3.7" 793 | pretty-format "^29.7.0" 794 | 795 | "@vue/compiler-core@3.4.27": 796 | version "3.4.27" 797 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.27.tgz#e69060f4b61429fe57976aa5872cfa21389e4d91" 798 | integrity sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg== 799 | dependencies: 800 | "@babel/parser" "^7.24.4" 801 | "@vue/shared" "3.4.27" 802 | entities "^4.5.0" 803 | estree-walker "^2.0.2" 804 | source-map-js "^1.2.0" 805 | 806 | "@vue/compiler-dom@3.4.27": 807 | version "3.4.27" 808 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz#d51d35f40d00ce235d7afc6ad8b09dfd92b1cc1c" 809 | integrity sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw== 810 | dependencies: 811 | "@vue/compiler-core" "3.4.27" 812 | "@vue/shared" "3.4.27" 813 | 814 | "@vue/compiler-sfc@^3.3.4": 815 | version "3.4.27" 816 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz#399cac1b75c6737bf5440dc9cf3c385bb2959701" 817 | integrity sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA== 818 | dependencies: 819 | "@babel/parser" "^7.24.4" 820 | "@vue/compiler-core" "3.4.27" 821 | "@vue/compiler-dom" "3.4.27" 822 | "@vue/compiler-ssr" "3.4.27" 823 | "@vue/shared" "3.4.27" 824 | estree-walker "^2.0.2" 825 | magic-string "^0.30.10" 826 | postcss "^8.4.38" 827 | source-map-js "^1.2.0" 828 | 829 | "@vue/compiler-ssr@3.4.27": 830 | version "3.4.27" 831 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz#2a8ecfef1cf448b09be633901a9c020360472e3d" 832 | integrity sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw== 833 | dependencies: 834 | "@vue/compiler-dom" "3.4.27" 835 | "@vue/shared" "3.4.27" 836 | 837 | "@vue/shared@3.4.27": 838 | version "3.4.27" 839 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.27.tgz#f05e3cd107d157354bb4ae7a7b5fc9cf73c63b50" 840 | integrity sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA== 841 | 842 | acorn-jsx@^5.3.2: 843 | version "5.3.2" 844 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 845 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 846 | 847 | acorn-walk@^8.3.2: 848 | version "8.3.3" 849 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" 850 | integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== 851 | dependencies: 852 | acorn "^8.11.0" 853 | 854 | acorn@^8.11.0, acorn@^8.11.3, acorn@^8.9.0: 855 | version "8.12.0" 856 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" 857 | integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== 858 | 859 | ajv@^6.12.4: 860 | version "6.12.6" 861 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 862 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 863 | dependencies: 864 | fast-deep-equal "^3.1.1" 865 | fast-json-stable-stringify "^2.0.0" 866 | json-schema-traverse "^0.4.1" 867 | uri-js "^4.2.2" 868 | 869 | ansi-regex@^5.0.1: 870 | version "5.0.1" 871 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 872 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 873 | 874 | ansi-regex@^6.0.1: 875 | version "6.0.1" 876 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 877 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 878 | 879 | ansi-styles@^3.2.1: 880 | version "3.2.1" 881 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 882 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 883 | dependencies: 884 | color-convert "^1.9.0" 885 | 886 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 887 | version "4.3.0" 888 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 889 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 890 | dependencies: 891 | color-convert "^2.0.1" 892 | 893 | ansi-styles@^5.0.0: 894 | version "5.2.0" 895 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 896 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 897 | 898 | ansi-styles@^6.1.0: 899 | version "6.2.1" 900 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 901 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 902 | 903 | any-signal@^4.1.1: 904 | version "4.1.1" 905 | resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-4.1.1.tgz#928416c355c66899e6b2a91cad4488f0324bae03" 906 | integrity sha512-iADenERppdC+A2YKbOXXB2WUeABLaM6qnpZ70kZbPZ1cZMMJ7eF+3CaYm+/PhBizgkzlvssC7QuHS30oOiQYWA== 907 | 908 | argparse@^1.0.7: 909 | version "1.0.10" 910 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 911 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 912 | dependencies: 913 | sprintf-js "~1.0.2" 914 | 915 | argparse@^2.0.1: 916 | version "2.0.1" 917 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 918 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 919 | 920 | array-differ@^3.0.0: 921 | version "3.0.0" 922 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" 923 | integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== 924 | 925 | array-union@^2.1.0: 926 | version "2.1.0" 927 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 928 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 929 | 930 | arrify@^2.0.1: 931 | version "2.0.1" 932 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" 933 | integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== 934 | 935 | asn1js@^3.0.5: 936 | version "3.0.5" 937 | resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" 938 | integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== 939 | dependencies: 940 | pvtsutils "^1.3.2" 941 | pvutils "^1.1.3" 942 | tslib "^2.4.0" 943 | 944 | assertion-error@^1.1.0: 945 | version "1.1.0" 946 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 947 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== 948 | 949 | balanced-match@^1.0.0: 950 | version "1.0.2" 951 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 952 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 953 | 954 | base64-js@^1.3.1: 955 | version "1.5.1" 956 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 957 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 958 | 959 | brace-expansion@^1.1.7: 960 | version "1.1.11" 961 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 962 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 963 | dependencies: 964 | balanced-match "^1.0.0" 965 | concat-map "0.0.1" 966 | 967 | brace-expansion@^2.0.1: 968 | version "2.0.1" 969 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 970 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 971 | dependencies: 972 | balanced-match "^1.0.0" 973 | 974 | braces@^3.0.3: 975 | version "3.0.3" 976 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" 977 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 978 | dependencies: 979 | fill-range "^7.1.1" 980 | 981 | buffer@^6.0.3: 982 | version "6.0.3" 983 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 984 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 985 | dependencies: 986 | base64-js "^1.3.1" 987 | ieee754 "^1.2.1" 988 | 989 | cac@^6.7.14: 990 | version "6.7.14" 991 | resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" 992 | integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== 993 | 994 | callsite@^1.0.0: 995 | version "1.0.0" 996 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" 997 | integrity sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ== 998 | 999 | callsites@^3.0.0: 1000 | version "3.1.0" 1001 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1002 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1003 | 1004 | camelcase@^6.3.0: 1005 | version "6.3.0" 1006 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 1007 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 1008 | 1009 | chai@^4.3.10: 1010 | version "4.4.1" 1011 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" 1012 | integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== 1013 | dependencies: 1014 | assertion-error "^1.1.0" 1015 | check-error "^1.0.3" 1016 | deep-eql "^4.1.3" 1017 | get-func-name "^2.0.2" 1018 | loupe "^2.3.6" 1019 | pathval "^1.1.1" 1020 | type-detect "^4.0.8" 1021 | 1022 | chalk@^2.4.2: 1023 | version "2.4.2" 1024 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1025 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1026 | dependencies: 1027 | ansi-styles "^3.2.1" 1028 | escape-string-regexp "^1.0.5" 1029 | supports-color "^5.3.0" 1030 | 1031 | chalk@^4.0.0: 1032 | version "4.1.2" 1033 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1034 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1035 | dependencies: 1036 | ansi-styles "^4.1.0" 1037 | supports-color "^7.1.0" 1038 | 1039 | check-error@^1.0.3: 1040 | version "1.0.3" 1041 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" 1042 | integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== 1043 | dependencies: 1044 | get-func-name "^2.0.2" 1045 | 1046 | cliui@^7.0.2: 1047 | version "7.0.4" 1048 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 1049 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 1050 | dependencies: 1051 | string-width "^4.2.0" 1052 | strip-ansi "^6.0.0" 1053 | wrap-ansi "^7.0.0" 1054 | 1055 | color-convert@^1.9.0: 1056 | version "1.9.3" 1057 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1058 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1059 | dependencies: 1060 | color-name "1.1.3" 1061 | 1062 | color-convert@^2.0.1: 1063 | version "2.0.1" 1064 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1065 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1066 | dependencies: 1067 | color-name "~1.1.4" 1068 | 1069 | color-name@1.1.3: 1070 | version "1.1.3" 1071 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1072 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1073 | 1074 | color-name@~1.1.4: 1075 | version "1.1.4" 1076 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1077 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1078 | 1079 | concat-map@0.0.1: 1080 | version "0.0.1" 1081 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1082 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1083 | 1084 | confbox@^0.1.7: 1085 | version "0.1.7" 1086 | resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" 1087 | integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== 1088 | 1089 | cosmiconfig@^7.1.0: 1090 | version "7.1.0" 1091 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" 1092 | integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== 1093 | dependencies: 1094 | "@types/parse-json" "^4.0.0" 1095 | import-fresh "^3.2.1" 1096 | parse-json "^5.0.0" 1097 | path-type "^4.0.0" 1098 | yaml "^1.10.0" 1099 | 1100 | cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: 1101 | version "7.0.3" 1102 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1103 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1104 | dependencies: 1105 | path-key "^3.1.0" 1106 | shebang-command "^2.0.0" 1107 | which "^2.0.1" 1108 | 1109 | debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: 1110 | version "4.3.5" 1111 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" 1112 | integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== 1113 | dependencies: 1114 | ms "2.1.2" 1115 | 1116 | deep-eql@^4.1.3: 1117 | version "4.1.4" 1118 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" 1119 | integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== 1120 | dependencies: 1121 | type-detect "^4.0.0" 1122 | 1123 | deep-is@^0.1.3: 1124 | version "0.1.4" 1125 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 1126 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1127 | 1128 | delay@^6.0.0: 1129 | version "6.0.0" 1130 | resolved "https://registry.yarnpkg.com/delay/-/delay-6.0.0.tgz#43749aefdf6cabd9e17b0d00bd3904525137e607" 1131 | integrity sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw== 1132 | 1133 | depcheck@^1.4.3: 1134 | version "1.4.7" 1135 | resolved "https://registry.yarnpkg.com/depcheck/-/depcheck-1.4.7.tgz#57976e2fa43625f477efc0f19ad868ef94f8a26c" 1136 | integrity sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA== 1137 | dependencies: 1138 | "@babel/parser" "^7.23.0" 1139 | "@babel/traverse" "^7.23.2" 1140 | "@vue/compiler-sfc" "^3.3.4" 1141 | callsite "^1.0.0" 1142 | camelcase "^6.3.0" 1143 | cosmiconfig "^7.1.0" 1144 | debug "^4.3.4" 1145 | deps-regex "^0.2.0" 1146 | findup-sync "^5.0.0" 1147 | ignore "^5.2.4" 1148 | is-core-module "^2.12.0" 1149 | js-yaml "^3.14.1" 1150 | json5 "^2.2.3" 1151 | lodash "^4.17.21" 1152 | minimatch "^7.4.6" 1153 | multimatch "^5.0.0" 1154 | please-upgrade-node "^3.2.0" 1155 | readdirp "^3.6.0" 1156 | require-package-name "^2.0.1" 1157 | resolve "^1.22.3" 1158 | resolve-from "^5.0.0" 1159 | semver "^7.5.4" 1160 | yargs "^16.2.0" 1161 | 1162 | deps-regex@^0.2.0: 1163 | version "0.2.0" 1164 | resolved "https://registry.yarnpkg.com/deps-regex/-/deps-regex-0.2.0.tgz#3ee7ddae5fd784f3accf29d5a711aa6e10044137" 1165 | integrity sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q== 1166 | 1167 | detect-file@^1.0.0: 1168 | version "1.0.0" 1169 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" 1170 | integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== 1171 | 1172 | diff-sequences@^29.6.3: 1173 | version "29.6.3" 1174 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" 1175 | integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== 1176 | 1177 | dir-glob@^3.0.1: 1178 | version "3.0.1" 1179 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1180 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1181 | dependencies: 1182 | path-type "^4.0.0" 1183 | 1184 | dns-packet@^5.6.1: 1185 | version "5.6.1" 1186 | resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" 1187 | integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== 1188 | dependencies: 1189 | "@leichtgewicht/ip-codec" "^2.0.1" 1190 | 1191 | doctrine@^3.0.0: 1192 | version "3.0.0" 1193 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1194 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1195 | dependencies: 1196 | esutils "^2.0.2" 1197 | 1198 | eastasianwidth@^0.2.0: 1199 | version "0.2.0" 1200 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1201 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1202 | 1203 | emoji-regex@^8.0.0: 1204 | version "8.0.0" 1205 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1206 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1207 | 1208 | emoji-regex@^9.2.2: 1209 | version "9.2.2" 1210 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1211 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1212 | 1213 | entities@^4.5.0: 1214 | version "4.5.0" 1215 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" 1216 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== 1217 | 1218 | error-ex@^1.3.1: 1219 | version "1.3.2" 1220 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1221 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1222 | dependencies: 1223 | is-arrayish "^0.2.1" 1224 | 1225 | esbuild@^0.21.3: 1226 | version "0.21.5" 1227 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" 1228 | integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== 1229 | optionalDependencies: 1230 | "@esbuild/aix-ppc64" "0.21.5" 1231 | "@esbuild/android-arm" "0.21.5" 1232 | "@esbuild/android-arm64" "0.21.5" 1233 | "@esbuild/android-x64" "0.21.5" 1234 | "@esbuild/darwin-arm64" "0.21.5" 1235 | "@esbuild/darwin-x64" "0.21.5" 1236 | "@esbuild/freebsd-arm64" "0.21.5" 1237 | "@esbuild/freebsd-x64" "0.21.5" 1238 | "@esbuild/linux-arm" "0.21.5" 1239 | "@esbuild/linux-arm64" "0.21.5" 1240 | "@esbuild/linux-ia32" "0.21.5" 1241 | "@esbuild/linux-loong64" "0.21.5" 1242 | "@esbuild/linux-mips64el" "0.21.5" 1243 | "@esbuild/linux-ppc64" "0.21.5" 1244 | "@esbuild/linux-riscv64" "0.21.5" 1245 | "@esbuild/linux-s390x" "0.21.5" 1246 | "@esbuild/linux-x64" "0.21.5" 1247 | "@esbuild/netbsd-x64" "0.21.5" 1248 | "@esbuild/openbsd-x64" "0.21.5" 1249 | "@esbuild/sunos-x64" "0.21.5" 1250 | "@esbuild/win32-arm64" "0.21.5" 1251 | "@esbuild/win32-ia32" "0.21.5" 1252 | "@esbuild/win32-x64" "0.21.5" 1253 | 1254 | escalade@^3.1.1: 1255 | version "3.1.2" 1256 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" 1257 | integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== 1258 | 1259 | escape-string-regexp@^1.0.5: 1260 | version "1.0.5" 1261 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1262 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1263 | 1264 | escape-string-regexp@^4.0.0: 1265 | version "4.0.0" 1266 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1267 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1268 | 1269 | eslint-config-prettier@^9.0.0: 1270 | version "9.1.0" 1271 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" 1272 | integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== 1273 | 1274 | eslint-plugin-react-hooks@^4.6.1: 1275 | version "4.6.2" 1276 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" 1277 | integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== 1278 | 1279 | eslint-plugin-unused-imports@^4.0.0: 1280 | version "4.0.0" 1281 | resolved "https://registry.yarnpkg.com/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.0.0.tgz#93f3a7ee6088221e4a1d7127866e05d5917a9f65" 1282 | integrity sha512-mzM+y2B7XYpQryVa1usT+Y/BdNAtAZiXzwpSyDCboFoJN/LZRN67TNvQxKtuTK/Aplya3sLNQforiubzPPaIcQ== 1283 | dependencies: 1284 | eslint-rule-composer "^0.3.0" 1285 | 1286 | eslint-rule-composer@^0.3.0: 1287 | version "0.3.0" 1288 | resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" 1289 | integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== 1290 | 1291 | eslint-scope@^7.2.2: 1292 | version "7.2.2" 1293 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" 1294 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== 1295 | dependencies: 1296 | esrecurse "^4.3.0" 1297 | estraverse "^5.2.0" 1298 | 1299 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: 1300 | version "3.4.3" 1301 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" 1302 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== 1303 | 1304 | eslint@^8.57.0: 1305 | version "8.57.0" 1306 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" 1307 | integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== 1308 | dependencies: 1309 | "@eslint-community/eslint-utils" "^4.2.0" 1310 | "@eslint-community/regexpp" "^4.6.1" 1311 | "@eslint/eslintrc" "^2.1.4" 1312 | "@eslint/js" "8.57.0" 1313 | "@humanwhocodes/config-array" "^0.11.14" 1314 | "@humanwhocodes/module-importer" "^1.0.1" 1315 | "@nodelib/fs.walk" "^1.2.8" 1316 | "@ungap/structured-clone" "^1.2.0" 1317 | ajv "^6.12.4" 1318 | chalk "^4.0.0" 1319 | cross-spawn "^7.0.2" 1320 | debug "^4.3.2" 1321 | doctrine "^3.0.0" 1322 | escape-string-regexp "^4.0.0" 1323 | eslint-scope "^7.2.2" 1324 | eslint-visitor-keys "^3.4.3" 1325 | espree "^9.6.1" 1326 | esquery "^1.4.2" 1327 | esutils "^2.0.2" 1328 | fast-deep-equal "^3.1.3" 1329 | file-entry-cache "^6.0.1" 1330 | find-up "^5.0.0" 1331 | glob-parent "^6.0.2" 1332 | globals "^13.19.0" 1333 | graphemer "^1.4.0" 1334 | ignore "^5.2.0" 1335 | imurmurhash "^0.1.4" 1336 | is-glob "^4.0.0" 1337 | is-path-inside "^3.0.3" 1338 | js-yaml "^4.1.0" 1339 | json-stable-stringify-without-jsonify "^1.0.1" 1340 | levn "^0.4.1" 1341 | lodash.merge "^4.6.2" 1342 | minimatch "^3.1.2" 1343 | natural-compare "^1.4.0" 1344 | optionator "^0.9.3" 1345 | strip-ansi "^6.0.1" 1346 | text-table "^0.2.0" 1347 | 1348 | espree@^9.6.0, espree@^9.6.1: 1349 | version "9.6.1" 1350 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" 1351 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== 1352 | dependencies: 1353 | acorn "^8.9.0" 1354 | acorn-jsx "^5.3.2" 1355 | eslint-visitor-keys "^3.4.1" 1356 | 1357 | esprima@^4.0.0: 1358 | version "4.0.1" 1359 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1360 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1361 | 1362 | esquery@^1.4.2: 1363 | version "1.5.0" 1364 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" 1365 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 1366 | dependencies: 1367 | estraverse "^5.1.0" 1368 | 1369 | esrecurse@^4.3.0: 1370 | version "4.3.0" 1371 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1372 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1373 | dependencies: 1374 | estraverse "^5.2.0" 1375 | 1376 | estraverse@^5.1.0, estraverse@^5.2.0: 1377 | version "5.3.0" 1378 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1379 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1380 | 1381 | estree-walker@^2.0.2: 1382 | version "2.0.2" 1383 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1384 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1385 | 1386 | estree-walker@^3.0.3: 1387 | version "3.0.3" 1388 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" 1389 | integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== 1390 | dependencies: 1391 | "@types/estree" "^1.0.0" 1392 | 1393 | esutils@^2.0.2: 1394 | version "2.0.3" 1395 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1396 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1397 | 1398 | event-iterator@^2.0.0: 1399 | version "2.0.0" 1400 | resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-2.0.0.tgz#10f06740cc1e9fd6bc575f334c2bc1ae9d2dbf62" 1401 | integrity sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ== 1402 | 1403 | eventemitter3@^5.0.1: 1404 | version "5.0.1" 1405 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" 1406 | integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== 1407 | 1408 | execa@^8.0.1: 1409 | version "8.0.1" 1410 | resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" 1411 | integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== 1412 | dependencies: 1413 | cross-spawn "^7.0.3" 1414 | get-stream "^8.0.1" 1415 | human-signals "^5.0.0" 1416 | is-stream "^3.0.0" 1417 | merge-stream "^2.0.0" 1418 | npm-run-path "^5.1.0" 1419 | onetime "^6.0.0" 1420 | signal-exit "^4.1.0" 1421 | strip-final-newline "^3.0.0" 1422 | 1423 | expand-tilde@^2.0.0, expand-tilde@^2.0.2: 1424 | version "2.0.2" 1425 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" 1426 | integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== 1427 | dependencies: 1428 | homedir-polyfill "^1.0.1" 1429 | 1430 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1431 | version "3.1.3" 1432 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1433 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1434 | 1435 | fast-glob@^3.2.9: 1436 | version "3.3.2" 1437 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" 1438 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== 1439 | dependencies: 1440 | "@nodelib/fs.stat" "^2.0.2" 1441 | "@nodelib/fs.walk" "^1.2.3" 1442 | glob-parent "^5.1.2" 1443 | merge2 "^1.3.0" 1444 | micromatch "^4.0.4" 1445 | 1446 | fast-json-stable-stringify@^2.0.0: 1447 | version "2.1.0" 1448 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1449 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1450 | 1451 | fast-levenshtein@^2.0.6: 1452 | version "2.0.6" 1453 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1454 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1455 | 1456 | fastq@^1.6.0: 1457 | version "1.17.1" 1458 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" 1459 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== 1460 | dependencies: 1461 | reusify "^1.0.4" 1462 | 1463 | file-entry-cache@^6.0.1: 1464 | version "6.0.1" 1465 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1466 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1467 | dependencies: 1468 | flat-cache "^3.0.4" 1469 | 1470 | fill-range@^7.1.1: 1471 | version "7.1.1" 1472 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" 1473 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 1474 | dependencies: 1475 | to-regex-range "^5.0.1" 1476 | 1477 | find-up@^5.0.0: 1478 | version "5.0.0" 1479 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1480 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1481 | dependencies: 1482 | locate-path "^6.0.0" 1483 | path-exists "^4.0.0" 1484 | 1485 | findup-sync@^5.0.0: 1486 | version "5.0.0" 1487 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-5.0.0.tgz#54380ad965a7edca00cc8f63113559aadc541bd2" 1488 | integrity sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ== 1489 | dependencies: 1490 | detect-file "^1.0.0" 1491 | is-glob "^4.0.3" 1492 | micromatch "^4.0.4" 1493 | resolve-dir "^1.0.1" 1494 | 1495 | flat-cache@^3.0.4: 1496 | version "3.2.0" 1497 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" 1498 | integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== 1499 | dependencies: 1500 | flatted "^3.2.9" 1501 | keyv "^4.5.3" 1502 | rimraf "^3.0.2" 1503 | 1504 | flatted@^3.2.9: 1505 | version "3.3.1" 1506 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" 1507 | integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== 1508 | 1509 | foreground-child@^3.1.0: 1510 | version "3.1.1" 1511 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" 1512 | integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== 1513 | dependencies: 1514 | cross-spawn "^7.0.0" 1515 | signal-exit "^4.0.1" 1516 | 1517 | fs.realpath@^1.0.0: 1518 | version "1.0.0" 1519 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1520 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1521 | 1522 | fsevents@~2.3.2, fsevents@~2.3.3: 1523 | version "2.3.3" 1524 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 1525 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1526 | 1527 | function-bind@^1.1.2: 1528 | version "1.1.2" 1529 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1530 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1531 | 1532 | get-caller-file@^2.0.5: 1533 | version "2.0.5" 1534 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1535 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1536 | 1537 | get-func-name@^2.0.1, get-func-name@^2.0.2: 1538 | version "2.0.2" 1539 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" 1540 | integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== 1541 | 1542 | get-iterator@^2.0.1: 1543 | version "2.0.1" 1544 | resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-2.0.1.tgz#a904829f61bace789e0d64bd1a504c511a015c3f" 1545 | integrity sha512-7HuY/hebu4gryTDT7O/XY/fvY9wRByEGdK6QOa4of8npTcv0+NS6frFKABcf6S9EBAsveTuKTsZQQBFMMNILIg== 1546 | 1547 | get-stream@^8.0.1: 1548 | version "8.0.1" 1549 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" 1550 | integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== 1551 | 1552 | glob-parent@^5.1.2: 1553 | version "5.1.2" 1554 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1555 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1556 | dependencies: 1557 | is-glob "^4.0.1" 1558 | 1559 | glob-parent@^6.0.2: 1560 | version "6.0.2" 1561 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1562 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1563 | dependencies: 1564 | is-glob "^4.0.3" 1565 | 1566 | glob@^10.3.7: 1567 | version "10.3.15" 1568 | resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.15.tgz#e72bc61bc3038c90605f5dd48543dc67aaf3b50d" 1569 | integrity sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw== 1570 | dependencies: 1571 | foreground-child "^3.1.0" 1572 | jackspeak "^2.3.6" 1573 | minimatch "^9.0.1" 1574 | minipass "^7.0.4" 1575 | path-scurry "^1.11.0" 1576 | 1577 | glob@^7.1.3: 1578 | version "7.2.3" 1579 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1580 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1581 | dependencies: 1582 | fs.realpath "^1.0.0" 1583 | inflight "^1.0.4" 1584 | inherits "2" 1585 | minimatch "^3.1.1" 1586 | once "^1.3.0" 1587 | path-is-absolute "^1.0.0" 1588 | 1589 | global-modules@^1.0.0: 1590 | version "1.0.0" 1591 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" 1592 | integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== 1593 | dependencies: 1594 | global-prefix "^1.0.1" 1595 | is-windows "^1.0.1" 1596 | resolve-dir "^1.0.0" 1597 | 1598 | global-prefix@^1.0.1: 1599 | version "1.0.2" 1600 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" 1601 | integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== 1602 | dependencies: 1603 | expand-tilde "^2.0.2" 1604 | homedir-polyfill "^1.0.1" 1605 | ini "^1.3.4" 1606 | is-windows "^1.0.1" 1607 | which "^1.2.14" 1608 | 1609 | globals@^11.1.0: 1610 | version "11.12.0" 1611 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1612 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1613 | 1614 | globals@^13.19.0: 1615 | version "13.24.0" 1616 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" 1617 | integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== 1618 | dependencies: 1619 | type-fest "^0.20.2" 1620 | 1621 | globby@^11.1.0: 1622 | version "11.1.0" 1623 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1624 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1625 | dependencies: 1626 | array-union "^2.1.0" 1627 | dir-glob "^3.0.1" 1628 | fast-glob "^3.2.9" 1629 | ignore "^5.2.0" 1630 | merge2 "^1.4.1" 1631 | slash "^3.0.0" 1632 | 1633 | graphemer@^1.4.0: 1634 | version "1.4.0" 1635 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" 1636 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== 1637 | 1638 | has-flag@^3.0.0: 1639 | version "3.0.0" 1640 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1641 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1642 | 1643 | has-flag@^4.0.0: 1644 | version "4.0.0" 1645 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1646 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1647 | 1648 | hashlru@^2.3.0: 1649 | version "2.3.0" 1650 | resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51" 1651 | integrity sha512-0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A== 1652 | 1653 | hasown@^2.0.0: 1654 | version "2.0.2" 1655 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 1656 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1657 | dependencies: 1658 | function-bind "^1.1.2" 1659 | 1660 | homedir-polyfill@^1.0.1: 1661 | version "1.0.3" 1662 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" 1663 | integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== 1664 | dependencies: 1665 | parse-passwd "^1.0.0" 1666 | 1667 | human-signals@^5.0.0: 1668 | version "5.0.0" 1669 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" 1670 | integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== 1671 | 1672 | ieee754@^1.2.1: 1673 | version "1.2.1" 1674 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1675 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1676 | 1677 | ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.1: 1678 | version "5.3.1" 1679 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" 1680 | integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== 1681 | 1682 | import-fresh@^3.2.1: 1683 | version "3.3.0" 1684 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1685 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1686 | dependencies: 1687 | parent-module "^1.0.0" 1688 | resolve-from "^4.0.0" 1689 | 1690 | imurmurhash@^0.1.4: 1691 | version "0.1.4" 1692 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1693 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1694 | 1695 | inflight@^1.0.4: 1696 | version "1.0.6" 1697 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1698 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1699 | dependencies: 1700 | once "^1.3.0" 1701 | wrappy "1" 1702 | 1703 | inherits@2: 1704 | version "2.0.4" 1705 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1706 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1707 | 1708 | ini@^1.3.4: 1709 | version "1.3.8" 1710 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 1711 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 1712 | 1713 | interface-datastore@^8.2.11: 1714 | version "8.2.11" 1715 | resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-8.2.11.tgz#1d555ce6218ab6cba6291fc361debe9713590207" 1716 | integrity sha512-9E0iXehfp/j0UbZ2mvlYB4K9pP7uQBCppfuy8WHs1EHF6wLQrM9+zwyX+8Qt6HnH4GKZRyXX/CNXm6oD4+QYgA== 1717 | dependencies: 1718 | interface-store "^5.0.0" 1719 | uint8arrays "^5.0.2" 1720 | 1721 | interface-store@^5.0.0: 1722 | version "5.1.8" 1723 | resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-5.1.8.tgz#94bf867d165b5c904cccf09adeba215a5b0f459e" 1724 | integrity sha512-7na81Uxkl0vqk0CBPO5PvyTkdaJBaezwUJGsMOz7riPOq0rJt+7W31iaopaMICWea/iykUsvNlPx/Tc+MxC3/w== 1725 | 1726 | is-arrayish@^0.2.1: 1727 | version "0.2.1" 1728 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1729 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1730 | 1731 | is-core-module@^2.12.0, is-core-module@^2.13.0: 1732 | version "2.13.1" 1733 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" 1734 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 1735 | dependencies: 1736 | hasown "^2.0.0" 1737 | 1738 | is-extglob@^2.1.1: 1739 | version "2.1.1" 1740 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1741 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1742 | 1743 | is-fullwidth-code-point@^3.0.0: 1744 | version "3.0.0" 1745 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1746 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1747 | 1748 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 1749 | version "4.0.3" 1750 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1751 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1752 | dependencies: 1753 | is-extglob "^2.1.1" 1754 | 1755 | is-loopback-addr@^2.0.2: 1756 | version "2.0.2" 1757 | resolved "https://registry.yarnpkg.com/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz#70a6668fa3555d47caebdcee045745ab80adf5e4" 1758 | integrity sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg== 1759 | 1760 | is-number@^7.0.0: 1761 | version "7.0.0" 1762 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1763 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1764 | 1765 | is-path-inside@^3.0.3: 1766 | version "3.0.3" 1767 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1768 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1769 | 1770 | is-stream@^3.0.0: 1771 | version "3.0.0" 1772 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" 1773 | integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== 1774 | 1775 | is-windows@^1.0.1: 1776 | version "1.0.2" 1777 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1778 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1779 | 1780 | isexe@^2.0.0: 1781 | version "2.0.0" 1782 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1783 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1784 | 1785 | isomorphic-ws@^5.0.0: 1786 | version "5.0.0" 1787 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" 1788 | integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== 1789 | 1790 | it-first@^3.0.6: 1791 | version "3.0.6" 1792 | resolved "https://registry.yarnpkg.com/it-first/-/it-first-3.0.6.tgz#f532f0f36fe9bf0c291e0162b9d3375d59fe8f05" 1793 | integrity sha512-ExIewyK9kXKNAplg2GMeWfgjUcfC1FnUXz/RPfAvIXby+w7U4b3//5Lic0NV03gXT8O/isj5Nmp6KiY0d45pIQ== 1794 | 1795 | it-foreach@^2.0.6: 1796 | version "2.1.1" 1797 | resolved "https://registry.yarnpkg.com/it-foreach/-/it-foreach-2.1.1.tgz#93e311a1057dd0ff7631f914dc9c2c963f27a4b8" 1798 | integrity sha512-ID4Gxnavk/LVQLQESAQ9hR6dR63Ih6X+8VdxEktX8rpz2dCGAbZpey/eljTNbMfV2UKXHiu6UsneoNBZuac97g== 1799 | dependencies: 1800 | it-peekable "^3.0.0" 1801 | 1802 | it-merge@^3.0.0: 1803 | version "3.0.5" 1804 | resolved "https://registry.yarnpkg.com/it-merge/-/it-merge-3.0.5.tgz#2b0d1d07c825b9d20c4c2889aab8e07322fd803e" 1805 | integrity sha512-2l7+mPf85pyRF5pqi0dKcA54E5Jm/2FyY5GsOaN51Ta0ipC7YZ3szuAsH8wOoB6eKY4XsU4k2X+mzPmFBMayEA== 1806 | dependencies: 1807 | it-pushable "^3.2.3" 1808 | 1809 | it-peekable@^3.0.0: 1810 | version "3.0.5" 1811 | resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-3.0.5.tgz#63b0c750e27e2ba0c1db6d6a3496b7ef51a6547d" 1812 | integrity sha512-JWQOGMt6rKiPcY30zUVMR4g6YxkpueTwHVE7CMs/aGqCf4OydM6w+7ZM3PvmO1e0TocjuR4aL8xyZWR46cTqCQ== 1813 | 1814 | it-pipe@^3.0.1: 1815 | version "3.0.1" 1816 | resolved "https://registry.yarnpkg.com/it-pipe/-/it-pipe-3.0.1.tgz#b25720df82f4c558a8532602b5fbc37bbe4e7ba5" 1817 | integrity sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA== 1818 | dependencies: 1819 | it-merge "^3.0.0" 1820 | it-pushable "^3.1.2" 1821 | it-stream-types "^2.0.1" 1822 | 1823 | it-pushable@^3.1.2, it-pushable@^3.2.3: 1824 | version "3.2.3" 1825 | resolved "https://registry.yarnpkg.com/it-pushable/-/it-pushable-3.2.3.tgz#e2b80aed90cfbcd54b620c0a0785e546d4e5f334" 1826 | integrity sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg== 1827 | dependencies: 1828 | p-defer "^4.0.0" 1829 | 1830 | it-stream-types@^2.0.1: 1831 | version "2.0.1" 1832 | resolved "https://registry.yarnpkg.com/it-stream-types/-/it-stream-types-2.0.1.tgz#69cb4d7e79e707b8257a8997e02751ccb6c3af32" 1833 | integrity sha512-6DmOs5r7ERDbvS4q8yLKENcj6Yecr7QQTqWApbZdfAUTEC947d+PEha7PCqhm//9oxaLYL7TWRekwhoXl2s6fg== 1834 | 1835 | jackspeak@^2.3.6: 1836 | version "2.3.6" 1837 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" 1838 | integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== 1839 | dependencies: 1840 | "@isaacs/cliui" "^8.0.2" 1841 | optionalDependencies: 1842 | "@pkgjs/parseargs" "^0.11.0" 1843 | 1844 | js-tokens@^4.0.0: 1845 | version "4.0.0" 1846 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1847 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1848 | 1849 | js-tokens@^9.0.0: 1850 | version "9.0.0" 1851 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.0.tgz#0f893996d6f3ed46df7f0a3b12a03f5fd84223c1" 1852 | integrity sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ== 1853 | 1854 | js-yaml@^3.14.1: 1855 | version "3.14.1" 1856 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1857 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1858 | dependencies: 1859 | argparse "^1.0.7" 1860 | esprima "^4.0.0" 1861 | 1862 | js-yaml@^4.1.0: 1863 | version "4.1.0" 1864 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1865 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1866 | dependencies: 1867 | argparse "^2.0.1" 1868 | 1869 | jsesc@^2.5.1: 1870 | version "2.5.2" 1871 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1872 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1873 | 1874 | json-buffer@3.0.1: 1875 | version "3.0.1" 1876 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" 1877 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== 1878 | 1879 | json-parse-even-better-errors@^2.3.0: 1880 | version "2.3.1" 1881 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1882 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1883 | 1884 | json-schema-traverse@^0.4.1: 1885 | version "0.4.1" 1886 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1887 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1888 | 1889 | json-stable-stringify-without-jsonify@^1.0.1: 1890 | version "1.0.1" 1891 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1892 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1893 | 1894 | json5@^2.2.3: 1895 | version "2.2.3" 1896 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 1897 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 1898 | 1899 | keyv@^4.5.3: 1900 | version "4.5.4" 1901 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" 1902 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== 1903 | dependencies: 1904 | json-buffer "3.0.1" 1905 | 1906 | levn@^0.4.1: 1907 | version "0.4.1" 1908 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1909 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1910 | dependencies: 1911 | prelude-ls "^1.2.1" 1912 | type-check "~0.4.0" 1913 | 1914 | lines-and-columns@^1.1.6: 1915 | version "1.2.4" 1916 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1917 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1918 | 1919 | local-pkg@^0.5.0: 1920 | version "0.5.0" 1921 | resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" 1922 | integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== 1923 | dependencies: 1924 | mlly "^1.4.2" 1925 | pkg-types "^1.0.3" 1926 | 1927 | locate-path@^6.0.0: 1928 | version "6.0.0" 1929 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1930 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1931 | dependencies: 1932 | p-locate "^5.0.0" 1933 | 1934 | lodash.merge@^4.6.2: 1935 | version "4.6.2" 1936 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1937 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1938 | 1939 | lodash@^4.17.21: 1940 | version "4.17.21" 1941 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1942 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1943 | 1944 | loupe@^2.3.6, loupe@^2.3.7: 1945 | version "2.3.7" 1946 | resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" 1947 | integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== 1948 | dependencies: 1949 | get-func-name "^2.0.1" 1950 | 1951 | lru-cache@^10.2.0: 1952 | version "10.2.2" 1953 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" 1954 | integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== 1955 | 1956 | lz-string@^1.5.0: 1957 | version "1.5.0" 1958 | resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" 1959 | integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== 1960 | 1961 | magic-string@^0.30.10, magic-string@^0.30.5: 1962 | version "0.30.10" 1963 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" 1964 | integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== 1965 | dependencies: 1966 | "@jridgewell/sourcemap-codec" "^1.4.15" 1967 | 1968 | merge-stream@^2.0.0: 1969 | version "2.0.0" 1970 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1971 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1972 | 1973 | merge2@^1.3.0, merge2@^1.4.1: 1974 | version "1.4.1" 1975 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1976 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1977 | 1978 | micromatch@^4.0.4: 1979 | version "4.0.7" 1980 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" 1981 | integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== 1982 | dependencies: 1983 | braces "^3.0.3" 1984 | picomatch "^2.3.1" 1985 | 1986 | mimic-fn@^4.0.0: 1987 | version "4.0.0" 1988 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" 1989 | integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 1990 | 1991 | minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 1992 | version "3.1.2" 1993 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1994 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1995 | dependencies: 1996 | brace-expansion "^1.1.7" 1997 | 1998 | minimatch@^7.4.6: 1999 | version "7.4.6" 2000 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb" 2001 | integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== 2002 | dependencies: 2003 | brace-expansion "^2.0.1" 2004 | 2005 | minimatch@^9.0.1: 2006 | version "9.0.4" 2007 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" 2008 | integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== 2009 | dependencies: 2010 | brace-expansion "^2.0.1" 2011 | 2012 | minimatch@^9.0.4: 2013 | version "9.0.5" 2014 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" 2015 | integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== 2016 | dependencies: 2017 | brace-expansion "^2.0.1" 2018 | 2019 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: 2020 | version "7.1.1" 2021 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.1.tgz#f7f85aff59aa22f110b20e27692465cf3bf89481" 2022 | integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== 2023 | 2024 | mlly@^1.4.2, mlly@^1.7.1: 2025 | version "1.7.1" 2026 | resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" 2027 | integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== 2028 | dependencies: 2029 | acorn "^8.11.3" 2030 | pathe "^1.1.2" 2031 | pkg-types "^1.1.1" 2032 | ufo "^1.5.3" 2033 | 2034 | ms@2.1.2: 2035 | version "2.1.2" 2036 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2037 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2038 | 2039 | multiformats@^13.0.0, multiformats@^13.1.0: 2040 | version "13.1.1" 2041 | resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.1.1.tgz#b22ce4df26330d2cf0d69f5bdcbc9a787095a6e5" 2042 | integrity sha512-JiptvwMmlxlzIlLLwhCi/srf/nk409UL0eUBr0kioRJq15hqqKyg68iftrBvhCRjR6Rw4fkNnSc4ZJXJDuta/Q== 2043 | 2044 | multimatch@^5.0.0: 2045 | version "5.0.0" 2046 | resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" 2047 | integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== 2048 | dependencies: 2049 | "@types/minimatch" "^3.0.3" 2050 | array-differ "^3.0.0" 2051 | array-union "^2.1.0" 2052 | arrify "^2.0.1" 2053 | minimatch "^3.0.4" 2054 | 2055 | murmurhash3js-revisited@^3.0.0: 2056 | version "3.0.0" 2057 | resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869" 2058 | integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== 2059 | 2060 | nanoid@^3.3.7: 2061 | version "3.3.7" 2062 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" 2063 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== 2064 | 2065 | natural-compare@^1.4.0: 2066 | version "1.4.0" 2067 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2068 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 2069 | 2070 | netmask@^2.0.2: 2071 | version "2.0.2" 2072 | resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" 2073 | integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== 2074 | 2075 | npm-run-path@^5.1.0: 2076 | version "5.3.0" 2077 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" 2078 | integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== 2079 | dependencies: 2080 | path-key "^4.0.0" 2081 | 2082 | once@^1.3.0: 2083 | version "1.4.0" 2084 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2085 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 2086 | dependencies: 2087 | wrappy "1" 2088 | 2089 | onetime@^6.0.0: 2090 | version "6.0.0" 2091 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" 2092 | integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== 2093 | dependencies: 2094 | mimic-fn "^4.0.0" 2095 | 2096 | optionator@^0.9.3: 2097 | version "0.9.4" 2098 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" 2099 | integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== 2100 | dependencies: 2101 | deep-is "^0.1.3" 2102 | fast-levenshtein "^2.0.6" 2103 | levn "^0.4.1" 2104 | prelude-ls "^1.2.1" 2105 | type-check "^0.4.0" 2106 | word-wrap "^1.2.5" 2107 | 2108 | p-defer@^4.0.0, p-defer@^4.0.1: 2109 | version "4.0.1" 2110 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-4.0.1.tgz#d12c6d41420785ed0d162dbd86b71ba490f7f99e" 2111 | integrity sha512-Mr5KC5efvAK5VUptYEIopP1bakB85k2IWXaRC0rsh1uwn1L6M0LVml8OIQ4Gudg4oyZakf7FmeRLkMMtZW1i5A== 2112 | 2113 | p-limit@^3.0.2: 2114 | version "3.1.0" 2115 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2116 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2117 | dependencies: 2118 | yocto-queue "^0.1.0" 2119 | 2120 | p-limit@^5.0.0: 2121 | version "5.0.0" 2122 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985" 2123 | integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== 2124 | dependencies: 2125 | yocto-queue "^1.0.0" 2126 | 2127 | p-locate@^5.0.0: 2128 | version "5.0.0" 2129 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2130 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2131 | dependencies: 2132 | p-limit "^3.0.2" 2133 | 2134 | p-queue@^8.0.1: 2135 | version "8.0.1" 2136 | resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-8.0.1.tgz#718b7f83836922ef213ddec263ff4223ce70bef8" 2137 | integrity sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== 2138 | dependencies: 2139 | eventemitter3 "^5.0.1" 2140 | p-timeout "^6.1.2" 2141 | 2142 | p-timeout@^6.1.2: 2143 | version "6.1.2" 2144 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-6.1.2.tgz#22b8d8a78abf5e103030211c5fc6dee1166a6aa5" 2145 | integrity sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== 2146 | 2147 | parent-module@^1.0.0: 2148 | version "1.0.1" 2149 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2150 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2151 | dependencies: 2152 | callsites "^3.0.0" 2153 | 2154 | parse-json@^5.0.0: 2155 | version "5.2.0" 2156 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2157 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2158 | dependencies: 2159 | "@babel/code-frame" "^7.0.0" 2160 | error-ex "^1.3.1" 2161 | json-parse-even-better-errors "^2.3.0" 2162 | lines-and-columns "^1.1.6" 2163 | 2164 | parse-passwd@^1.0.0: 2165 | version "1.0.0" 2166 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 2167 | integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== 2168 | 2169 | path-exists@^4.0.0: 2170 | version "4.0.0" 2171 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2172 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2173 | 2174 | path-is-absolute@^1.0.0: 2175 | version "1.0.1" 2176 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2177 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2178 | 2179 | path-key@^3.1.0: 2180 | version "3.1.1" 2181 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2182 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2183 | 2184 | path-key@^4.0.0: 2185 | version "4.0.0" 2186 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" 2187 | integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 2188 | 2189 | path-parse@^1.0.7: 2190 | version "1.0.7" 2191 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2192 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2193 | 2194 | path-scurry@^1.11.0: 2195 | version "1.11.1" 2196 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" 2197 | integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== 2198 | dependencies: 2199 | lru-cache "^10.2.0" 2200 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0" 2201 | 2202 | path-type@^4.0.0: 2203 | version "4.0.0" 2204 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2205 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2206 | 2207 | pathe@^1.1.1, pathe@^1.1.2: 2208 | version "1.1.2" 2209 | resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" 2210 | integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== 2211 | 2212 | pathval@^1.1.1: 2213 | version "1.1.1" 2214 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" 2215 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== 2216 | 2217 | picocolors@^1.0.0, picocolors@^1.0.1: 2218 | version "1.0.1" 2219 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" 2220 | integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== 2221 | 2222 | picomatch@^2.2.1, picomatch@^2.3.1: 2223 | version "2.3.1" 2224 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2225 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2226 | 2227 | pkg-types@^1.0.3, pkg-types@^1.1.1: 2228 | version "1.1.2" 2229 | resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.1.2.tgz#3e211ecec23516f59323ba058ec21cbc533ff81a" 2230 | integrity sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA== 2231 | dependencies: 2232 | confbox "^0.1.7" 2233 | mlly "^1.7.1" 2234 | pathe "^1.1.2" 2235 | 2236 | please-upgrade-node@^3.2.0: 2237 | version "3.2.0" 2238 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 2239 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== 2240 | dependencies: 2241 | semver-compare "^1.0.0" 2242 | 2243 | postcss@^8.4.38: 2244 | version "8.4.39" 2245 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" 2246 | integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== 2247 | dependencies: 2248 | nanoid "^3.3.7" 2249 | picocolors "^1.0.1" 2250 | source-map-js "^1.2.0" 2251 | 2252 | prelude-ls@^1.2.1: 2253 | version "1.2.1" 2254 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2255 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2256 | 2257 | prettier@^3.0.3: 2258 | version "3.3.2" 2259 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" 2260 | integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== 2261 | 2262 | pretty-format@^29.7.0: 2263 | version "29.7.0" 2264 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" 2265 | integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== 2266 | dependencies: 2267 | "@jest/schemas" "^29.6.3" 2268 | ansi-styles "^5.0.0" 2269 | react-is "^18.0.0" 2270 | 2271 | progress-events@^1.0.0: 2272 | version "1.0.0" 2273 | resolved "https://registry.yarnpkg.com/progress-events/-/progress-events-1.0.0.tgz#34f5e8fdb5dae3561837b22672d1e02277bb2109" 2274 | integrity sha512-zIB6QDrSbPfRg+33FZalluFIowkbV5Xh1xSuetjG+rlC5he6u2dc6VQJ0TbMdlN3R1RHdpOqxEFMKTnQ+itUwA== 2275 | 2276 | protons-runtime@^5.4.0: 2277 | version "5.4.0" 2278 | resolved "https://registry.yarnpkg.com/protons-runtime/-/protons-runtime-5.4.0.tgz#2751ce22cae6c35eebba89acfd9d783419ae3726" 2279 | integrity sha512-XfA++W/WlQOSyjUyuF5lgYBfXZUEMP01Oh1C2dSwZAlF2e/ZrMRPfWonXj6BGM+o8Xciv7w0tsRMKYwYEuQvaw== 2280 | dependencies: 2281 | uint8-varint "^2.0.2" 2282 | uint8arraylist "^2.4.3" 2283 | uint8arrays "^5.0.1" 2284 | 2285 | punycode@^2.1.0: 2286 | version "2.3.1" 2287 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" 2288 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 2289 | 2290 | pvtsutils@^1.3.2: 2291 | version "1.3.5" 2292 | resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" 2293 | integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== 2294 | dependencies: 2295 | tslib "^2.6.1" 2296 | 2297 | pvutils@^1.1.3: 2298 | version "1.1.3" 2299 | resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" 2300 | integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== 2301 | 2302 | queue-microtask@^1.2.2: 2303 | version "1.2.3" 2304 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2305 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2306 | 2307 | race-event@^1.3.0: 2308 | version "1.3.0" 2309 | resolved "https://registry.yarnpkg.com/race-event/-/race-event-1.3.0.tgz#854f34118c31addf877898bd9f8e4dcfac9de7a2" 2310 | integrity sha512-kaLm7axfOnahIqD3jQ4l1e471FIFcEGebXEnhxyLscuUzV8C94xVHtWEqDDXxll7+yu/6lW0w1Ff4HbtvHvOHg== 2311 | 2312 | race-signal@^1.0.2: 2313 | version "1.0.2" 2314 | resolved "https://registry.yarnpkg.com/race-signal/-/race-signal-1.0.2.tgz#e42379fba0cec4ee8dab7c9bbbd4aa6e0d14c25f" 2315 | integrity sha512-o3xNv0iTcIDQCXFlF6fPAMEBRjFxssgGoRqLbg06m+AdzEXXLUmoNOoUHTVz2NoBI8hHwKFKoC6IqyNtWr2bww== 2316 | 2317 | react-is@^18.0.0: 2318 | version "18.3.1" 2319 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" 2320 | integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== 2321 | 2322 | readdirp@^3.6.0: 2323 | version "3.6.0" 2324 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 2325 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 2326 | dependencies: 2327 | picomatch "^2.2.1" 2328 | 2329 | require-directory@^2.1.1: 2330 | version "2.1.1" 2331 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2332 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 2333 | 2334 | require-package-name@^2.0.1: 2335 | version "2.0.1" 2336 | resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9" 2337 | integrity sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q== 2338 | 2339 | resolve-dir@^1.0.0, resolve-dir@^1.0.1: 2340 | version "1.0.1" 2341 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" 2342 | integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== 2343 | dependencies: 2344 | expand-tilde "^2.0.0" 2345 | global-modules "^1.0.0" 2346 | 2347 | resolve-from@^4.0.0: 2348 | version "4.0.0" 2349 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2350 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2351 | 2352 | resolve-from@^5.0.0: 2353 | version "5.0.0" 2354 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2355 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2356 | 2357 | resolve@^1.22.3: 2358 | version "1.22.8" 2359 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" 2360 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 2361 | dependencies: 2362 | is-core-module "^2.13.0" 2363 | path-parse "^1.0.7" 2364 | supports-preserve-symlinks-flag "^1.0.0" 2365 | 2366 | reusify@^1.0.4: 2367 | version "1.0.4" 2368 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2369 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2370 | 2371 | rimraf@^3.0.2: 2372 | version "3.0.2" 2373 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2374 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2375 | dependencies: 2376 | glob "^7.1.3" 2377 | 2378 | rimraf@^5.0.7: 2379 | version "5.0.7" 2380 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.7.tgz#27bddf202e7d89cb2e0381656380d1734a854a74" 2381 | integrity sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg== 2382 | dependencies: 2383 | glob "^10.3.7" 2384 | 2385 | rollup@^4.13.0: 2386 | version "4.18.0" 2387 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.0.tgz#497f60f0c5308e4602cf41136339fbf87d5f5dda" 2388 | integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg== 2389 | dependencies: 2390 | "@types/estree" "1.0.5" 2391 | optionalDependencies: 2392 | "@rollup/rollup-android-arm-eabi" "4.18.0" 2393 | "@rollup/rollup-android-arm64" "4.18.0" 2394 | "@rollup/rollup-darwin-arm64" "4.18.0" 2395 | "@rollup/rollup-darwin-x64" "4.18.0" 2396 | "@rollup/rollup-linux-arm-gnueabihf" "4.18.0" 2397 | "@rollup/rollup-linux-arm-musleabihf" "4.18.0" 2398 | "@rollup/rollup-linux-arm64-gnu" "4.18.0" 2399 | "@rollup/rollup-linux-arm64-musl" "4.18.0" 2400 | "@rollup/rollup-linux-powerpc64le-gnu" "4.18.0" 2401 | "@rollup/rollup-linux-riscv64-gnu" "4.18.0" 2402 | "@rollup/rollup-linux-s390x-gnu" "4.18.0" 2403 | "@rollup/rollup-linux-x64-gnu" "4.18.0" 2404 | "@rollup/rollup-linux-x64-musl" "4.18.0" 2405 | "@rollup/rollup-win32-arm64-msvc" "4.18.0" 2406 | "@rollup/rollup-win32-ia32-msvc" "4.18.0" 2407 | "@rollup/rollup-win32-x64-msvc" "4.18.0" 2408 | fsevents "~2.3.2" 2409 | 2410 | run-parallel@^1.1.9: 2411 | version "1.2.0" 2412 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2413 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2414 | dependencies: 2415 | queue-microtask "^1.2.2" 2416 | 2417 | semver-compare@^1.0.0: 2418 | version "1.0.0" 2419 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 2420 | integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== 2421 | 2422 | semver@^7.5.4, semver@^7.6.0: 2423 | version "7.6.2" 2424 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" 2425 | integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== 2426 | 2427 | shebang-command@^2.0.0: 2428 | version "2.0.0" 2429 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2430 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2431 | dependencies: 2432 | shebang-regex "^3.0.0" 2433 | 2434 | shebang-regex@^3.0.0: 2435 | version "3.0.0" 2436 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2437 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2438 | 2439 | siginfo@^2.0.0: 2440 | version "2.0.0" 2441 | resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" 2442 | integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== 2443 | 2444 | signal-exit@^4.0.1, signal-exit@^4.1.0: 2445 | version "4.1.0" 2446 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 2447 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 2448 | 2449 | slash@^3.0.0: 2450 | version "3.0.0" 2451 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2452 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2453 | 2454 | source-map-js@^1.2.0: 2455 | version "1.2.0" 2456 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" 2457 | integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== 2458 | 2459 | sprintf-js@~1.0.2: 2460 | version "1.0.3" 2461 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2462 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 2463 | 2464 | stackback@0.0.2: 2465 | version "0.0.2" 2466 | resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" 2467 | integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== 2468 | 2469 | starpc@^0.32.14, starpc@^0.32.8: 2470 | version "0.32.15" 2471 | resolved "https://registry.yarnpkg.com/starpc/-/starpc-0.32.15.tgz#c1f4dfed1eded912f185b0cfbe9b4963f2632471" 2472 | integrity sha512-0naGl6a7ETesOpe1VOOQJ3Zo+xZkQxoDRkbq3FZel61Y3YCljQP4mNPHOlgRLtEuiaVkZTJFpwb1QZlGHeLlKQ== 2473 | dependencies: 2474 | "@aptre/it-ws" "^1.0.1" 2475 | "@aptre/protobuf-es-lite" "^0.4.6" 2476 | "@chainsafe/libp2p-yamux" "^6.0.2" 2477 | "@libp2p/interface" "^1.3.1" 2478 | "@libp2p/logger" "^4.0.12" 2479 | event-iterator "^2.0.0" 2480 | isomorphic-ws "^5.0.0" 2481 | it-first "^3.0.6" 2482 | it-pipe "^3.0.1" 2483 | it-pushable "^3.2.3" 2484 | it-stream-types "^2.0.1" 2485 | uint8arraylist "^2.4.7" 2486 | ws "^8.17.0" 2487 | 2488 | std-env@^3.5.0: 2489 | version "3.7.0" 2490 | resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" 2491 | integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== 2492 | 2493 | "string-width-cjs@npm:string-width@^4.2.0": 2494 | version "4.2.3" 2495 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2496 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2497 | dependencies: 2498 | emoji-regex "^8.0.0" 2499 | is-fullwidth-code-point "^3.0.0" 2500 | strip-ansi "^6.0.1" 2501 | 2502 | string-width@^4.1.0, string-width@^4.2.0: 2503 | version "4.2.3" 2504 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2505 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2506 | dependencies: 2507 | emoji-regex "^8.0.0" 2508 | is-fullwidth-code-point "^3.0.0" 2509 | strip-ansi "^6.0.1" 2510 | 2511 | string-width@^5.0.1, string-width@^5.1.2: 2512 | version "5.1.2" 2513 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 2514 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 2515 | dependencies: 2516 | eastasianwidth "^0.2.0" 2517 | emoji-regex "^9.2.2" 2518 | strip-ansi "^7.0.1" 2519 | 2520 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1": 2521 | version "6.0.1" 2522 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2523 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2524 | dependencies: 2525 | ansi-regex "^5.0.1" 2526 | 2527 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2528 | version "6.0.1" 2529 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2530 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2531 | dependencies: 2532 | ansi-regex "^5.0.1" 2533 | 2534 | strip-ansi@^7.0.1: 2535 | version "7.1.0" 2536 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" 2537 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 2538 | dependencies: 2539 | ansi-regex "^6.0.1" 2540 | 2541 | strip-final-newline@^3.0.0: 2542 | version "3.0.0" 2543 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" 2544 | integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== 2545 | 2546 | strip-json-comments@^3.1.1: 2547 | version "3.1.1" 2548 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2549 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2550 | 2551 | strip-literal@^2.0.0: 2552 | version "2.1.0" 2553 | resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-2.1.0.tgz#6d82ade5e2e74f5c7e8739b6c84692bd65f0bd2a" 2554 | integrity sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw== 2555 | dependencies: 2556 | js-tokens "^9.0.0" 2557 | 2558 | supports-color@^5.3.0: 2559 | version "5.5.0" 2560 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2561 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2562 | dependencies: 2563 | has-flag "^3.0.0" 2564 | 2565 | supports-color@^7.1.0: 2566 | version "7.2.0" 2567 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2568 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2569 | dependencies: 2570 | has-flag "^4.0.0" 2571 | 2572 | supports-preserve-symlinks-flag@^1.0.0: 2573 | version "1.0.0" 2574 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2575 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2576 | 2577 | text-table@^0.2.0: 2578 | version "0.2.0" 2579 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2580 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2581 | 2582 | tinybench@^2.5.1: 2583 | version "2.8.0" 2584 | resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.8.0.tgz#30e19ae3a27508ee18273ffed9ac7018949acd7b" 2585 | integrity sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw== 2586 | 2587 | tinypool@^0.8.3: 2588 | version "0.8.4" 2589 | resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.8.4.tgz#e217fe1270d941b39e98c625dcecebb1408c9aa8" 2590 | integrity sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ== 2591 | 2592 | tinyspy@^2.2.0: 2593 | version "2.2.1" 2594 | resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.1.tgz#117b2342f1f38a0dbdcc73a50a454883adf861d1" 2595 | integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== 2596 | 2597 | to-fast-properties@^2.0.0: 2598 | version "2.0.0" 2599 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2600 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 2601 | 2602 | to-regex-range@^5.0.1: 2603 | version "5.0.1" 2604 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2605 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2606 | dependencies: 2607 | is-number "^7.0.0" 2608 | 2609 | ts-api-utils@^1.3.0: 2610 | version "1.3.0" 2611 | resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" 2612 | integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== 2613 | 2614 | tslib@^2.4.0, tslib@^2.6.1: 2615 | version "2.6.3" 2616 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" 2617 | integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== 2618 | 2619 | type-check@^0.4.0, type-check@~0.4.0: 2620 | version "0.4.0" 2621 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2622 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2623 | dependencies: 2624 | prelude-ls "^1.2.1" 2625 | 2626 | type-detect@^4.0.0, type-detect@^4.0.8: 2627 | version "4.0.8" 2628 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2629 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2630 | 2631 | type-fest@^0.20.2: 2632 | version "0.20.2" 2633 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2634 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2635 | 2636 | typescript@^5.2.2: 2637 | version "5.5.3" 2638 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" 2639 | integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== 2640 | 2641 | ufo@^1.5.3: 2642 | version "1.5.3" 2643 | resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" 2644 | integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== 2645 | 2646 | uint8-varint@^2.0.1, uint8-varint@^2.0.2: 2647 | version "2.0.4" 2648 | resolved "https://registry.yarnpkg.com/uint8-varint/-/uint8-varint-2.0.4.tgz#85be52b3849eb30f2c3640a2df8a14364180affb" 2649 | integrity sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw== 2650 | dependencies: 2651 | uint8arraylist "^2.0.0" 2652 | uint8arrays "^5.0.0" 2653 | 2654 | uint8arraylist@^2.0.0, uint8arraylist@^2.4.3, uint8arraylist@^2.4.7, uint8arraylist@^2.4.8: 2655 | version "2.4.8" 2656 | resolved "https://registry.yarnpkg.com/uint8arraylist/-/uint8arraylist-2.4.8.tgz#5a4d17f4defd77799cb38e93fd5db0f0dceddc12" 2657 | integrity sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ== 2658 | dependencies: 2659 | uint8arrays "^5.0.1" 2660 | 2661 | uint8arrays@^5.0.0, uint8arrays@^5.0.1, uint8arrays@^5.0.2, uint8arrays@^5.1.0: 2662 | version "5.1.0" 2663 | resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-5.1.0.tgz#14047c9bdf825d025b7391299436e5e50e7270f1" 2664 | integrity sha512-vA6nFepEmlSKkMBnLBaUMVvAC4G3CTmO58C12y4sq6WPDOR7mOFYOi7GlrQ4djeSbP6JG9Pv9tJDM97PedRSww== 2665 | dependencies: 2666 | multiformats "^13.0.0" 2667 | 2668 | undici-types@~5.26.4: 2669 | version "5.26.5" 2670 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" 2671 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 2672 | 2673 | uri-js@^4.2.2: 2674 | version "4.4.1" 2675 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2676 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2677 | dependencies: 2678 | punycode "^2.1.0" 2679 | 2680 | vite-node@1.6.0: 2681 | version "1.6.0" 2682 | resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.6.0.tgz#2c7e61129bfecc759478fa592754fd9704aaba7f" 2683 | integrity sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw== 2684 | dependencies: 2685 | cac "^6.7.14" 2686 | debug "^4.3.4" 2687 | pathe "^1.1.1" 2688 | picocolors "^1.0.0" 2689 | vite "^5.0.0" 2690 | 2691 | vite@^5.0.0: 2692 | version "5.3.2" 2693 | resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.2.tgz#2f0a8531c71060467ed3e0a205a203f269b6d9c8" 2694 | integrity sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA== 2695 | dependencies: 2696 | esbuild "^0.21.3" 2697 | postcss "^8.4.38" 2698 | rollup "^4.13.0" 2699 | optionalDependencies: 2700 | fsevents "~2.3.3" 2701 | 2702 | vitest@^1.6.0: 2703 | version "1.6.0" 2704 | resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.6.0.tgz#9d5ad4752a3c451be919e412c597126cffb9892f" 2705 | integrity sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA== 2706 | dependencies: 2707 | "@vitest/expect" "1.6.0" 2708 | "@vitest/runner" "1.6.0" 2709 | "@vitest/snapshot" "1.6.0" 2710 | "@vitest/spy" "1.6.0" 2711 | "@vitest/utils" "1.6.0" 2712 | acorn-walk "^8.3.2" 2713 | chai "^4.3.10" 2714 | debug "^4.3.4" 2715 | execa "^8.0.1" 2716 | local-pkg "^0.5.0" 2717 | magic-string "^0.30.5" 2718 | pathe "^1.1.1" 2719 | picocolors "^1.0.0" 2720 | std-env "^3.5.0" 2721 | strip-literal "^2.0.0" 2722 | tinybench "^2.5.1" 2723 | tinypool "^0.8.3" 2724 | vite "^5.0.0" 2725 | vite-node "1.6.0" 2726 | why-is-node-running "^2.2.2" 2727 | 2728 | which@^1.2.14: 2729 | version "1.3.1" 2730 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2731 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 2732 | dependencies: 2733 | isexe "^2.0.0" 2734 | 2735 | which@^2.0.1: 2736 | version "2.0.2" 2737 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2738 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2739 | dependencies: 2740 | isexe "^2.0.0" 2741 | 2742 | why-is-node-running@^2.2.2: 2743 | version "2.2.2" 2744 | resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" 2745 | integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== 2746 | dependencies: 2747 | siginfo "^2.0.0" 2748 | stackback "0.0.2" 2749 | 2750 | word-wrap@^1.2.5: 2751 | version "1.2.5" 2752 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" 2753 | integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== 2754 | 2755 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 2756 | version "7.0.0" 2757 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2758 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2759 | dependencies: 2760 | ansi-styles "^4.0.0" 2761 | string-width "^4.1.0" 2762 | strip-ansi "^6.0.0" 2763 | 2764 | wrap-ansi@^7.0.0: 2765 | version "7.0.0" 2766 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2767 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2768 | dependencies: 2769 | ansi-styles "^4.0.0" 2770 | string-width "^4.1.0" 2771 | strip-ansi "^6.0.0" 2772 | 2773 | wrap-ansi@^8.1.0: 2774 | version "8.1.0" 2775 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" 2776 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 2777 | dependencies: 2778 | ansi-styles "^6.1.0" 2779 | string-width "^5.0.1" 2780 | strip-ansi "^7.0.1" 2781 | 2782 | wrappy@1: 2783 | version "1.0.2" 2784 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2785 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2786 | 2787 | ws@^8.17.0, ws@^8.17.1: 2788 | version "8.17.1" 2789 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" 2790 | integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== 2791 | 2792 | y18n@^5.0.5: 2793 | version "5.0.8" 2794 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2795 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2796 | 2797 | yaml@^1.10.0: 2798 | version "1.10.2" 2799 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 2800 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2801 | 2802 | yargs-parser@^20.2.2: 2803 | version "20.2.9" 2804 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 2805 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 2806 | 2807 | yargs@^16.2.0: 2808 | version "16.2.0" 2809 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 2810 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2811 | dependencies: 2812 | cliui "^7.0.2" 2813 | escalade "^3.1.1" 2814 | get-caller-file "^2.0.5" 2815 | require-directory "^2.1.1" 2816 | string-width "^4.2.0" 2817 | y18n "^5.0.5" 2818 | yargs-parser "^20.2.2" 2819 | 2820 | yocto-queue@^0.1.0: 2821 | version "0.1.0" 2822 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2823 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2824 | 2825 | yocto-queue@^1.0.0: 2826 | version "1.1.1" 2827 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" 2828 | integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== 2829 | --------------------------------------------------------------------------------