From 5433c2bf3aad27d73f59b948b6defb83ff2cb66f Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Thu, 30 May 2024 20:32:25 +0200 Subject: [PATCH 1/4] feat(#224): Added zealy store --- app/app.go | 3 +- go.mod | 55 +++-- go.sum | 342 +++++++++++++------------- proto/cardchain/cardchain/zealy.proto | 9 + testutil/keeper/cardchain.go | 3 + x/cardchain/keeper/keeper.go | 3 + x/cardchain/types/keys.go | 1 + x/cardchain/types/zealy.pb.go | 314 +++++++++++++++++++++++ 8 files changed, 533 insertions(+), 197 deletions(-) create mode 100644 proto/cardchain/cardchain/zealy.proto create mode 100644 x/cardchain/types/zealy.pb.go diff --git a/app/app.go b/app/app.go index 3fdfca00..1674f4d4 100644 --- a/app/app.go +++ b/app/app.go @@ -310,7 +310,7 @@ func New( cardchainmoduletypes.SetsStoreKey, cardchainmoduletypes.SellOffersStoreKey, cardchainmoduletypes.PoolsStoreKey, cardchainmoduletypes.RunningAveragesStoreKey, cardchainmoduletypes.CouncilsStoreKey, cardchainmoduletypes.ImagesStoreKey, cardchainmoduletypes.InternalStoreKey, - cardchainmoduletypes.ServersStoreKey, + cardchainmoduletypes.ServersStoreKey, cardchainmoduletypes.ZealyStoreKey, featureflagmoduletypes.StoreKey, // this line is used by starport scaffolding # stargate/app/storeKey ) @@ -528,6 +528,7 @@ func New( keys[cardchainmoduletypes.RunningAveragesStoreKey], keys[cardchainmoduletypes.ImagesStoreKey], keys[cardchainmoduletypes.ServersStoreKey], + keys[cardchainmoduletypes.ZealyStoreKey], keys[cardchainmoduletypes.InternalStoreKey], app.GetSubspace(cardchainmoduletypes.ModuleName), app.FeatureflagKeeper, diff --git a/go.mod b/go.mod index 7cf98431..6e0f5864 100644 --- a/go.mod +++ b/go.mod @@ -19,17 +19,16 @@ require ( github.com/tendermint/tendermint v0.34.29 github.com/tendermint/tm-db v0.6.7 golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 - google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe - google.golang.org/grpc v1.61.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 + google.golang.org/grpc v1.64.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cloud.google.com/go v0.111.0 // indirect - cloud.google.com/go/compute v1.23.3 // indirect - cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.5 // indirect - cloud.google.com/go/storage v1.30.1 // indirect + cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect + cloud.google.com/go/iam v1.1.6 // indirect + cloud.google.com/go/storage v1.38.0 // indirect cosmossdk.io/math v1.0.0-rc.0 // indirect filippo.io/edwards25519 v1.0.0-rc.1 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -67,25 +66,25 @@ require ( github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/fatih/camelcase v1.0.0 // indirect - github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/validator/v10 v10.4.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/golang/glog v1.1.2 // indirect + github.com/golang/glog v1.2.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.7 // indirect - github.com/google/uuid v1.4.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect @@ -147,21 +146,23 @@ require ( github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/otel v1.19.0 // indirect - go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/trace v1.19.0 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/api v0.149.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect - google.golang.org/protobuf v1.33.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + golang.org/x/crypto v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.18.0 // indirect + golang.org/x/term v0.18.0 // indirect + golang.org/x/text v0.15.0 // indirect + golang.org/x/time v0.5.0 // indirect + google.golang.org/api v0.169.0 // indirect + google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect + google.golang.org/protobuf v1.34.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.7 // indirect diff --git a/go.sum b/go.sum index 4737f10e..5d82ab8c 100644 --- a/go.sum +++ b/go.sum @@ -47,64 +47,64 @@ cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+ cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= -cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= +cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= +cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= +cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/aiplatform v1.58.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= +cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/analytics v0.22.0/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= +cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= +cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= -cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= +cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= +cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= +cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= +cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= +cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/asset v1.17.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= +cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= +cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= +cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= +cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/batch v1.7.0/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= +cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= -cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= +cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -113,35 +113,35 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= -cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= +cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/billing v1.18.0/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= +cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/binaryauthorization v1.8.0/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= +cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= +cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/channel v1.17.4/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= +cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= +cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= +cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= -cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= +cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -151,49 +151,48 @@ cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQH cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/contactcenterinsights v1.12.1/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= +cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/container v1.29.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= +cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= +cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= +cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= +cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= +cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= +cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= +cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataplex v1.14.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= +cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= +cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= +cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= @@ -201,40 +200,40 @@ cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZx cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= +cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/deploy v1.16.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= +cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= -cloud.google.com/go/dialogflow v1.48.0/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= +cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= +cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/documentai v1.23.7/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= +cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= +cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= +cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= +cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= +cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= -cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= +cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= @@ -242,127 +241,127 @@ cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJ cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= +cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= +cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= +cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= +cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/gkemulticloud v1.1.0/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= +cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= -cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= +cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= -cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= +cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= +cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= +cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= +cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= +cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= +cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= -cloud.google.com/go/maps v1.6.2/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= +cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= +cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= +cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= +cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= +cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/monitoring v1.17.0/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= +cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= +cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= +cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= +cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= +cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= +cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= +cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/orgpolicy v1.12.0/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= +cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= +cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= +cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= +cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= +cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= -cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= +cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= -cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= @@ -370,75 +369,75 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3 cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recaptchaenterprise/v2 v2.9.0/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= +cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= +cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/recommender v1.12.0/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= +cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= +cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= +cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= +cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= +cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= +cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= +cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= +cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= +cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/securitycenter v1.24.3/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= +cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= +cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= +cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= -cloud.google.com/go/spanner v1.54.0/go.mod h1:wZvSQVBgngF0Gq86fKup6KIYmN2be7uOKjtK97X+bQU= +cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= -cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= +cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -448,62 +447,62 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= +cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= +cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= +cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= +cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= +cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= +cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/translate v1.10.0/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= +cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= +cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= +cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= +cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= -cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= +cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= +cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= +cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= +cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= +cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= +cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= code.gitea.io/sdk/gitea v0.12.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= @@ -912,14 +911,13 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -1246,11 +1244,11 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= +github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= @@ -1278,8 +1276,9 @@ github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGE github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= @@ -1359,8 +1358,8 @@ github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= @@ -1453,8 +1452,8 @@ github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -1610,8 +1609,8 @@ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= -github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.3.0/go.mod h1:i1DMg/Lu8Sz5yYl25iOdmc5CT5qusaa+zmRWs16741s= github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= @@ -1630,8 +1629,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= @@ -2872,16 +2871,20 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.2 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0/go.mod h1:vHItvsnJtp7ES++nFLLFBzUWny7fJQSvTlxFcqQGUr4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= -go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= go.opentelemetry.io/otel/exporters/jaeger v1.4.1/go.mod h1:ZW7vkOu9nC1CxsD8bHNHCia5JUbwP39vxgd1q4Z5rCI= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= @@ -2896,14 +2899,14 @@ go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/on go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= go.opentelemetry.io/otel/metric v0.32.3/go.mod h1:pgiGmKohxHyTPHGOff+vrtIH39/R9fiO/WoenUQ3kcc= -go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= -go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= -go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= +go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= +go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= @@ -2911,8 +2914,8 @@ go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKu go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= -go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= -go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= @@ -2995,8 +2998,8 @@ golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -3161,8 +3164,8 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3196,8 +3199,8 @@ golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -3217,8 +3220,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -3397,8 +3400,8 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3412,8 +3415,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -3429,8 +3432,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -3440,7 +3443,8 @@ golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -3588,8 +3592,9 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= @@ -3665,8 +3670,8 @@ google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= -google.golang.org/api v0.149.0 h1:b2CqT6kG+zqJIVKRQ3ELJVLN1PwHZ6DJ3dW8yl82rgY= -google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -3677,7 +3682,6 @@ google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3815,13 +3819,13 @@ google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnp google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg= -google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe h1:bQnxqljG/wqi4NTXu2+DJ3n7APcEA882QZ1JvhQAq9o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= +google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 h1:W5Xj/70xIA4x60O/IFyXivR5MGqblAb8R3w26pnD6No= +google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8/go.mod h1:vPrPUTsDCYxXWjP7clS81mZ6/803D8K4iM9Ma27VKas= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 h1:mxSlqyb8ZAHsYDCfiXN1EDdNTdvjUJSLY+OnAUtYNYA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -3873,8 +3877,8 @@ google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -3893,8 +3897,8 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/proto/cardchain/cardchain/zealy.proto b/proto/cardchain/cardchain/zealy.proto new file mode 100644 index 00000000..8d98f87f --- /dev/null +++ b/proto/cardchain/cardchain/zealy.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; +package DecentralCardGame.cardchain.cardchain; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; + +message Zealy { + + string address = 1; +} diff --git a/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go index 974fa4b5..6d1153f0 100644 --- a/testutil/keeper/cardchain.go +++ b/testutil/keeper/cardchain.go @@ -27,6 +27,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { sellOffersStoreKey := sdk.NewKVStoreKey(types.SellOffersStoreKey) poolsStoreKey := sdk.NewKVStoreKey(types.PoolsStoreKey) serversStoreKey := sdk.NewKVStoreKey(types.ServersStoreKey) + zealyStoreKey := sdk.NewKVStoreKey(types.ZealyStoreKey) runningAveragesStoreKey := sdk.NewKVStoreKey(types.RunningAveragesStoreKey) councilsStoreKey := sdk.NewKVStoreKey(types.CouncilsStoreKey) @@ -41,6 +42,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { stateStore.MountStoreWithDB(sellOffersStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(poolsStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(serversStoreKey, sdk.StoreTypeIAVL, db) + stateStore.MountStoreWithDB(zealyStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(councilsStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(runningAveragesStoreKey, sdk.StoreTypeIAVL, db) require.NoError(t, stateStore.LoadLatestVersion()) @@ -65,6 +67,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { councilsStoreKey, runningAveragesStoreKey, serversStoreKey, + zealyStoreKey, internalStoreKey, paramsSubspace, nil, // That's why minting fails diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 64f681e8..aabf319c 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -34,6 +34,7 @@ type Keeper struct { RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] Images gtk.GenericTypeKeeper[*types.Image] + Zealy gtk.GenericTypeKeeper[*types.Zealy] FeatureFlagModuleInstance ffKeeper.ModuleInstance BankKeeper types.BankKeeper @@ -52,6 +53,7 @@ func NewKeeper( runningAveragesStoreKey storetypes.StoreKey, imagesStorekey storetypes.StoreKey, serversStoreKey storetypes.StoreKey, + zealyStoreKey storetypes.StoreKey, internalStoreKey storetypes.StoreKey, ps paramtypes.Subspace, @@ -78,6 +80,7 @@ func NewKeeper( Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), + Zealy: gtk.NewGTK[*types.Zealy](zealyStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Zealy]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/types/keys.go b/x/cardchain/types/keys.go index ba8d6aea..7ccbd5aa 100644 --- a/x/cardchain/types/keys.go +++ b/x/cardchain/types/keys.go @@ -14,6 +14,7 @@ const ( PoolsStoreKey = "Pools" CouncilsStoreKey = "Councils" ServersStoreKey = "Servers" + ZealyStoreKey = "Zealy" InternalStoreKey = "Internal" RunningAveragesStoreKey = "RunningAverages" ImagesStoreKey = "Images" diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go new file mode 100644 index 00000000..c1c3a6ba --- /dev/null +++ b/x/cardchain/types/zealy.pb.go @@ -0,0 +1,314 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/zealy.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type Zealy struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *Zealy) Reset() { *m = Zealy{} } +func (m *Zealy) String() string { return proto.CompactTextString(m) } +func (*Zealy) ProtoMessage() {} +func (*Zealy) Descriptor() ([]byte, []int) { + return fileDescriptor_1558e1909559da0f, []int{0} +} +func (m *Zealy) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Zealy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Zealy.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Zealy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Zealy.Merge(m, src) +} +func (m *Zealy) XXX_Size() int { + return m.Size() +} +func (m *Zealy) XXX_DiscardUnknown() { + xxx_messageInfo_Zealy.DiscardUnknown(m) +} + +var xxx_messageInfo_Zealy proto.InternalMessageInfo + +func (m *Zealy) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func init() { + proto.RegisterType((*Zealy)(nil), "DecentralCardGame.cardchain.cardchain.Zealy") +} + +func init() { proto.RegisterFile("cardchain/cardchain/zealy.proto", fileDescriptor_1558e1909559da0f) } + +var fileDescriptor_1558e1909559da0f = []byte{ + // 160 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xaa, 0x52, 0x13, 0x73, 0x2a, 0xf5, 0x0a, 0x8a, + 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, 0x13, + 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x0a, 0x11, 0x2c, 0x25, 0x45, 0x2e, 0xd6, 0x28, + 0x90, 0x2e, 0x21, 0x09, 0x2e, 0xf6, 0xc4, 0x94, 0x94, 0xa2, 0xd4, 0xe2, 0x62, 0x09, 0x46, 0x05, + 0x46, 0x0d, 0xce, 0x20, 0x18, 0xd7, 0x29, 0xe8, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, + 0x1f, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, + 0x18, 0xa2, 0x2c, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x31, 0xac, + 0xd3, 0x77, 0x86, 0xbb, 0xab, 0x02, 0xc9, 0x8d, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, + 0x47, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x82, 0x34, 0xe7, 0xc7, 0x00, 0x00, 0x00, +} + +func (m *Zealy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Zealy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Zealy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintZealy(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintZealy(dAtA []byte, offset int, v uint64) int { + offset -= sovZealy(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Zealy) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovZealy(uint64(l)) + } + return n +} + +func sovZealy(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozZealy(x uint64) (n int) { + return sovZealy(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Zealy) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Zealy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Zealy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthZealy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthZealy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipZealy(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthZealy + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipZealy(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowZealy + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowZealy + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowZealy + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthZealy + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupZealy + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthZealy + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthZealy = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowZealy = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupZealy = fmt.Errorf("proto: unexpected end of group") +) From 99039d84de06325bbeae6cc07b891a26146b9a04 Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 2 Jun 2024 13:24:30 +0200 Subject: [PATCH 2/4] feat(#224): Added zealy registration --- docs/static/openapi.yml | 2 + go.sum | 132 ---- proto/cardchain/cardchain/genesis.proto | 2 + proto/cardchain/cardchain/tx.proto | 10 +- proto/cardchain/cardchain/zealy.proto | 1 + x/cardchain/client/cli/tx.go | 1 + .../client/cli/tx_connect_zealy_account.go | 42 ++ x/cardchain/genesis.go | 199 ++--- x/cardchain/keeper/keeper.go | 3 +- .../msg_server_connect_zealy_account.go | 39 + x/cardchain/keeper/zealy.go | 47 ++ x/cardchain/module_simulation.go | 15 + .../simulation/connect_zealy_account.go | 29 + x/cardchain/types/codec.go | 4 + x/cardchain/types/genesis.pb.go | 145 +++- .../types/message_connect_zealy_account.go | 46 ++ .../message_connect_zealy_account_test.go | 40 + x/cardchain/types/tx.pb.go | 692 ++++++++++++++---- x/cardchain/types/zealy.pb.go | 66 +- 19 files changed, 1081 insertions(+), 434 deletions(-) create mode 100644 x/cardchain/client/cli/tx_connect_zealy_account.go create mode 100644 x/cardchain/keeper/msg_server_connect_zealy_account.go create mode 100644 x/cardchain/keeper/zealy.go create mode 100644 x/cardchain/simulation/connect_zealy_account.go create mode 100644 x/cardchain/types/message_connect_zealy_account.go create mode 100644 x/cardchain/types/message_connect_zealy_account_test.go diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 37db7911..2c81ee84 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -69073,6 +69073,8 @@ definitions: type: object DecentralCardGame.cardchain.cardchain.MsgConfirmMatchResponse: type: object + DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse: + type: object DecentralCardGame.cardchain.cardchain.MsgCreateCouncilResponse: type: object DecentralCardGame.cardchain.cardchain.MsgCreateSellOfferResponse: diff --git a/go.sum b/go.sum index 5d82ab8c..3f4778cd 100644 --- a/go.sum +++ b/go.sum @@ -51,60 +51,44 @@ cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= -cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= -cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -113,35 +97,27 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= -cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= -cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -151,117 +127,86 @@ cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQH cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= -cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= -cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= -cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= @@ -270,174 +215,130 @@ cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= -cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= -cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= -cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= -cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE= -cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= -cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= -cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -451,58 +352,43 @@ cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkp cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= -cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= code.gitea.io/sdk/gitea v0.12.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= @@ -690,13 +576,11 @@ github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= -github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= @@ -868,7 +752,6 @@ github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= @@ -917,7 +800,6 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -1086,7 +968,6 @@ github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU8 github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= github.com/cosmos/cosmos-sdk v0.46.15 h1:50QSEO4ZU9QUHJ8Ul9N/o/hn/IE5dL7DwL/OY1wcoMg= github.com/cosmos/cosmos-sdk v0.46.15/go.mod h1:9MRixWsgoJ2UmVsCRRePtENFPP3cM+gTC5azEpxgllo= -github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1/go.mod h1:JUMM2MxF9wuwzRWZJjb8BjXsn1BmPmdBd3a75pIct4I= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -1244,11 +1125,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= @@ -1558,7 +1437,6 @@ github.com/google/go-containerregistry v0.1.2/go.mod h1:GPivBPgdAyd2SU+vf6EpsgOt github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM= -github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-replayers/grpcreplay v0.1.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= github.com/google/go-replayers/httpreplay v0.1.0/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= @@ -1717,7 +1595,6 @@ github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoP github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/api v1.15.3/go.mod h1:/g/qgcoBcEXALCNZgRRisyTW0nY86++L0KbeAMXYCeY= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -1781,7 +1658,6 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod h1:fHzc09UnyJyqyW+bFuq864eh+wC7dj65aXmXLRe5to0= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= @@ -2496,7 +2372,6 @@ github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiB github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= -github.com/sagikazarmark/crypt v0.8.0/go.mod h1:TmKwZAo97S4Fy4sfMH/HX/cQP5D+ijra2NyLpNNmttY= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= @@ -2791,7 +2666,6 @@ github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= @@ -2834,18 +2708,14 @@ go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3C go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= -go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= -go.etcd.io/etcd/client/v2 v2.305.5/go.mod h1:zQjKllfqfBVyVStbt4FaosoX2iYd8fV/GRy/PbowgP4= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= -go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= @@ -3682,7 +3552,6 @@ google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3823,7 +3692,6 @@ google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJ google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 h1:W5Xj/70xIA4x60O/IFyXivR5MGqblAb8R3w26pnD6No= google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8/go.mod h1:vPrPUTsDCYxXWjP7clS81mZ6/803D8K4iM9Ma27VKas= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 h1:mxSlqyb8ZAHsYDCfiXN1EDdNTdvjUJSLY+OnAUtYNYA= google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index cbabbdf8..4c09a3ac 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -12,6 +12,7 @@ import "cardchain/cardchain/running_average.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/image.proto"; import "cardchain/cardchain/server.proto"; +import "cardchain/cardchain/zealy.proto"; import "cosmos/base/v1beta1/coin.proto"; // this line is used by starport scaffolding # genesis/proto/import @@ -33,5 +34,6 @@ message GenesisState { repeated Image images = 14; repeated Server Servers = 15; TimeStamp lastCardModified = 16; + repeated Zealy zealys = 17; // this line is used by starport scaffolding # genesis/proto/state } diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index 4b966cc0..57fb870b 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -60,6 +60,7 @@ service Msg { rpc ChangeAlias (MsgChangeAlias ) returns (MsgChangeAliasResponse ); rpc InviteEarlyAccess (MsgInviteEarlyAccess ) returns (MsgInviteEarlyAccessResponse ); rpc DisinviteEarlyAccess (MsgDisinviteEarlyAccess) returns (MsgDisinviteEarlyAccessResponse); + rpc ConnectZealyAccount (MsgConnectZealyAccount ) returns (MsgConnectZealyAccountResponse ); } message MsgCreateuser { string creator = 1; @@ -76,7 +77,7 @@ message MsgBuyCardScheme { cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coin"]; /* - string bid = 2; + string bid = 2; */} message MsgBuyCardSchemeResponse { @@ -423,3 +424,10 @@ message MsgDisinviteEarlyAccess { message MsgDisinviteEarlyAccessResponse {} +message MsgConnectZealyAccount { + string creator = 1; + string zealyId = 2; +} + +message MsgConnectZealyAccountResponse {} + diff --git a/proto/cardchain/cardchain/zealy.proto b/proto/cardchain/cardchain/zealy.proto index 8d98f87f..d803f0c8 100644 --- a/proto/cardchain/cardchain/zealy.proto +++ b/proto/cardchain/cardchain/zealy.proto @@ -6,4 +6,5 @@ option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; message Zealy { string address = 1; + string zealyId = 2; } diff --git a/x/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go index 561ded93..ba60a1a4 100644 --- a/x/cardchain/client/cli/tx.go +++ b/x/cardchain/client/cli/tx.go @@ -72,6 +72,7 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdChangeAlias()) cmd.AddCommand(CmdInviteEarlyAccess()) cmd.AddCommand(CmdDisinviteEarlyAccess()) + cmd.AddCommand(CmdConnectZealyAccount()) // this line is used by starport scaffolding # 1 return cmd diff --git a/x/cardchain/client/cli/tx_connect_zealy_account.go b/x/cardchain/client/cli/tx_connect_zealy_account.go new file mode 100644 index 00000000..c57cc94f --- /dev/null +++ b/x/cardchain/client/cli/tx_connect_zealy_account.go @@ -0,0 +1,42 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdConnectZealyAccount() *cobra.Command { + cmd := &cobra.Command{ + Use: "connect-zealy-account [zealy-id]", + Short: "Broadcast message connectZealyAccount", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argZealyId := args[0] + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgConnectZealyAccount( + clientCtx.GetFromAddress().String(), + argZealyId, + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/genesis.go b/x/cardchain/genesis.go index b0bdc023..a6552e3b 100644 --- a/x/cardchain/genesis.go +++ b/x/cardchain/genesis.go @@ -1,112 +1,117 @@ package cardchain import ( - "fmt" + "fmt" - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/keywords" - sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/keywords" + sdk "github.com/cosmos/cosmos-sdk/types" ) // InitGenesis initializes the capability module's state from a provided genesis // state. func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { - // this line is used by starport scaffolding # genesis/module/init - for id := range genState.Users { - address, _ := sdk.AccAddressFromBech32(genState.Addresses[id]) - k.SetUser(ctx, address, *genState.Users[id]) - } - for id, match := range genState.Matches { - k.Matches.Set(ctx, uint64(id), match) - } - for id, council := range genState.Councils { - k.Councils.Set(ctx, uint64(id), council) - } - for id, sellOffer := range genState.SellOffers { - k.SellOffers.Set(ctx, uint64(id), sellOffer) - } - for id, image := range genState.Images { - k.Images.Set(ctx, uint64(id), image) - } - for id, server := range genState.Servers { - k.Servers.Set(ctx, uint64(id), server) - } - for id, pool := range genState.Pools { - k.Pools.Set(ctx, k.Pools.KeyWords[id], pool) - } - for idx, average := range genState.RunningAverages { - k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) - } - if genState.CardAuctionPrice.Denom != "" { - k.SetCardAuctionPrice(ctx, genState.CardAuctionPrice) - } - if genState.LastCardModified != nil { - k.SetLastCardModified(ctx, *genState.LastCardModified) - } - k.Logger(ctx).Info("reading cards with id:") - for currId, record := range genState.CardRecords { - _, err := keywords.Unmarshal(record.Content) - if err != nil { - k.Logger(ctx).Error(fmt.Sprintf("%d :\n\t%s\n\t%s\n-----", currId, err.Error(), record.Content)) - } + // this line is used by starport scaffolding # genesis/module/init + for id := range genState.Users { + address, _ := sdk.AccAddressFromBech32(genState.Addresses[id]) + k.SetUser(ctx, address, *genState.Users[id]) + } + for id, match := range genState.Matches { + k.Matches.Set(ctx, uint64(id), match) + } + for id, council := range genState.Councils { + k.Councils.Set(ctx, uint64(id), council) + } + for id, sellOffer := range genState.SellOffers { + k.SellOffers.Set(ctx, uint64(id), sellOffer) + } + for id, image := range genState.Images { + k.Images.Set(ctx, uint64(id), image) + } + for id, server := range genState.Servers { + k.Servers.Set(ctx, uint64(id), server) + } + for id, pool := range genState.Pools { + k.Pools.Set(ctx, k.Pools.KeyWords[id], pool) + } + for idx, average := range genState.RunningAverages { + k.RunningAverages.Set(ctx, k.RunningAverages.KeyWords[idx], average) + } + if genState.CardAuctionPrice.Denom != "" { + k.SetCardAuctionPrice(ctx, genState.CardAuctionPrice) + } + if genState.LastCardModified != nil { + k.SetLastCardModified(ctx, *genState.LastCardModified) + } + for _, zealy := range genState.Zealys { + k.SetZealy(ctx, zealy.ZealyId, *zealy) + } + k.Logger(ctx).Info("reading cards with id:") + for currId, record := range genState.CardRecords { + _, err := keywords.Unmarshal(record.Content) + if err != nil { + k.Logger(ctx).Error(fmt.Sprintf("%d :\n\t%s\n\t%s\n-----", currId, err.Error(), record.Content)) + } - k.Cards.Set(ctx, uint64(currId), record) - } - k.Logger(ctx).Info("Params", genState.Params) - if genState.Params.AirDropValue.Denom == "" { - defaultParams := types.DefaultParams() - genState.Params.AirDropValue = defaultParams.AirDropValue - genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight - } - if genState.Params.MatchWorkerDelay == 0 { - genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay - } - k.SetParams(ctx, genState.Params) - for id, set := range genState.Sets { - if set.Status == types.CStatus_active || set.Status == types.CStatus_finalized { - set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) - set.Rarities = k.GetCardRaritiesInSet(ctx, set) - } - k.Sets.Set(ctx, uint64(id), set) - } + k.Cards.Set(ctx, uint64(currId), record) + } + k.Logger(ctx).Info("Params", genState.Params) + if genState.Params.AirDropValue.Denom == "" { + defaultParams := types.DefaultParams() + genState.Params.AirDropValue = defaultParams.AirDropValue + genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight + } + if genState.Params.MatchWorkerDelay == 0 { + genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay + } + k.SetParams(ctx, genState.Params) + for id, set := range genState.Sets { + if set.Status == types.CStatus_active || set.Status == types.CStatus_finalized { + set.ContributorsDistribution = k.GetContributorDistribution(ctx, *set) + set.Rarities = k.GetCardRaritiesInSet(ctx, set) + } + k.Sets.Set(ctx, uint64(id), set) + } } // ExportGenesis returns the capability module's exported genesis. func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { - // this line is used by starport scaffolding # genesis/module/export - params := k.GetParams(ctx) - // params := types.DefaultParams() - cardAuctionPrice := k.GetCardAuctionPrice(ctx) - lastCardModified := k.GetLastCardModified(ctx) - sellOffers := k.SellOffers.GetAll(ctx) - pools := k.Pools.GetAll(ctx) - records := k.Cards.GetAll(ctx) - matches := k.Matches.GetAll(ctx) - councils := k.Councils.GetAll(ctx) - runningAverages := k.RunningAverages.GetAll(ctx) - sets := k.Sets.GetAll(ctx) - images := k.Images.GetAll(ctx) - servers := k.Servers.GetAll(ctx) - users, accAddresses := k.GetAllUsers(ctx) - var addresses []string - for _, addr := range accAddresses { - addresses = append(addresses, addr.String()) - } - return &types.GenesisState{ - Params: params, - CardRecords: records, - Users: users, - Matches: matches, - Sets: sets, - SellOffers: sellOffers, - Pools: pools, - Councils: councils, - Addresses: addresses, - CardAuctionPrice: cardAuctionPrice, - Images: images, - RunningAverages: runningAverages, - Servers: servers, - LastCardModified: &lastCardModified, - } + // this line is used by starport scaffolding # genesis/module/export + params := k.GetParams(ctx) + // params := types.DefaultParams() + cardAuctionPrice := k.GetCardAuctionPrice(ctx) + lastCardModified := k.GetLastCardModified(ctx) + sellOffers := k.SellOffers.GetAll(ctx) + pools := k.Pools.GetAll(ctx) + records := k.Cards.GetAll(ctx) + matches := k.Matches.GetAll(ctx) + councils := k.Councils.GetAll(ctx) + runningAverages := k.RunningAverages.GetAll(ctx) + sets := k.Sets.GetAll(ctx) + images := k.Images.GetAll(ctx) + servers := k.Servers.GetAll(ctx) + users, accAddresses := k.GetAllUsers(ctx) + zealys, _ := k.GetAllZealys(ctx) + var addresses []string + for _, addr := range accAddresses { + addresses = append(addresses, addr.String()) + } + return &types.GenesisState{ + Params: params, + CardRecords: records, + Users: users, + Matches: matches, + Sets: sets, + SellOffers: sellOffers, + Pools: pools, + Councils: councils, + Addresses: addresses, + CardAuctionPrice: cardAuctionPrice, + Images: images, + RunningAverages: runningAverages, + Servers: servers, + LastCardModified: &lastCardModified, + Zealys: zealys, + } } diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index aabf319c..6c265c0f 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -22,6 +22,7 @@ import ( type Keeper struct { cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. UsersStoreKey storetypes.StoreKey + zealyStoreKey storetypes.StoreKey InternalStoreKey storetypes.StoreKey paramstore paramtypes.Subspace @@ -68,6 +69,7 @@ func NewKeeper( return &Keeper{ cdc: cdc, UsersStoreKey: usersStoreKey, + zealyStoreKey: zealyStoreKey, InternalStoreKey: internalStoreKey, paramstore: ps, @@ -80,7 +82,6 @@ func NewKeeper( Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), - Zealy: gtk.NewGTK[*types.Zealy](zealyStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Zealy]), FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), BankKeeper: bankKeeper, diff --git a/x/cardchain/keeper/msg_server_connect_zealy_account.go b/x/cardchain/keeper/msg_server_connect_zealy_account.go new file mode 100644 index 00000000..b7ab7888 --- /dev/null +++ b/x/cardchain/keeper/msg_server_connect_zealy_account.go @@ -0,0 +1,39 @@ +package keeper + +import ( + "context" + sdkerrors "cosmossdk.io/errors" + "github.com/cosmos/cosmos-sdk/types/errors" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) ConnectZealyAccount(goCtx context.Context, msg *types.MsgConnectZealyAccount) (*types.MsgConnectZealyAccountResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + _, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, msg.Creator) + } + + _, err = k.GetZealy(ctx, msg.ZealyId) + if err == nil { + return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "ZealyId `%s` is already registered", msg.ZealyId) + } + + iterator := k.GetZealyIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gotten types.Zealy + k.cdc.MustUnmarshal(iterator.Value(), &gotten) + + if gotten.Address == msg.Creator { + return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "User `%s` has already registered a zealyId", msg.Creator) + } + } + + k.SetZealy(ctx, msg.ZealyId, types.Zealy{Address: msg.Creator, ZealyId: msg.ZealyId}) + + return &types.MsgConnectZealyAccountResponse{}, nil +} diff --git a/x/cardchain/keeper/zealy.go b/x/cardchain/keeper/zealy.go new file mode 100644 index 00000000..04f9051b --- /dev/null +++ b/x/cardchain/keeper/zealy.go @@ -0,0 +1,47 @@ +package keeper + +import ( + "fmt" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// SetZealy Sets a zealy id and +func (k Keeper) SetZealy(ctx sdk.Context, zealyId string, zealy types.Zealy) { + store := ctx.KVStore(k.zealyStoreKey) + store.Set([]byte(zealyId), k.cdc.MustMarshal(&zealy)) +} + +// GetZealy Gets a user from store +func (k Keeper) GetZealy(ctx sdk.Context, zealyId string) (zealy types.Zealy, err error) { + store := ctx.KVStore(k.zealyStoreKey) + bz := store.Get([]byte(zealyId)) + + if bz == nil { + err = fmt.Errorf("zealyId '%s' not in store", zealyId) + } else { + k.cdc.MustUnmarshal(bz, &zealy) + } + return +} + +// GetZealyIterator Returns an iterator for all users +func (k Keeper) GetZealyIterator(ctx sdk.Context) sdk.Iterator { + store := ctx.KVStore(k.zealyStoreKey) + return sdk.KVStorePrefixIterator(store, nil) +} + +// GetAllZealys Gets all users from store +func (k Keeper) GetAllZealys(ctx sdk.Context) (allZealys []*types.Zealy, allZealyIds []string) { + iterator := k.GetZealyIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gotten types.Zealy + k.cdc.MustUnmarshal(iterator.Value(), &gotten) + + allZealys = append(allZealys, &gotten) + allZealyIds = append(allZealyIds, string(iterator.Key())) + } + return +} diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go index 2974582a..dae5899c 100644 --- a/x/cardchain/module_simulation.go +++ b/x/cardchain/module_simulation.go @@ -208,6 +208,10 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgDisinviteEarlyAccess int = 100 + opWeightMsgConnectZealyAccount = "op_weight_msg_connect_zealy_account" + // TODO: Determine the simulation weight value + defaultWeightMsgConnectZealyAccount int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -714,6 +718,17 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgDisinviteEarlyAccess(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgConnectZealyAccount int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgConnectZealyAccount, &weightMsgConnectZealyAccount, nil, + func(_ *rand.Rand) { + weightMsgConnectZealyAccount = defaultWeightMsgConnectZealyAccount + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgConnectZealyAccount, + cardchainsimulation.SimulateMsgConnectZealyAccount(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations diff --git a/x/cardchain/simulation/connect_zealy_account.go b/x/cardchain/simulation/connect_zealy_account.go new file mode 100644 index 00000000..fd011dbc --- /dev/null +++ b/x/cardchain/simulation/connect_zealy_account.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgConnectZealyAccount( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgConnectZealyAccount{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the ConnectZealyAccount simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "ConnectZealyAccount simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 0f6b6794..d7ac0ac9 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -56,6 +56,7 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgChangeAlias{}, "cardchain/ChangeAlias", nil) cdc.RegisterConcrete(&MsgInviteEarlyAccess{}, "cardchain/InviteEarlyAccess", nil) cdc.RegisterConcrete(&MsgDisinviteEarlyAccess{}, "cardchain/DisinviteEarlyAccess", nil) + cdc.RegisterConcrete(&MsgConnectZealyAccount{}, "cardchain/ConnectZealyAccount", nil) // this line is used by starport scaffolding # 2 } @@ -201,6 +202,9 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgDisinviteEarlyAccess{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgConnectZealyAccount{}, + ) // this line is used by starport scaffolding # 3 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 68205b9d..3151738a 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -41,6 +41,7 @@ type GenesisState struct { Images []*Image `protobuf:"bytes,14,rep,name=images,proto3" json:"images,omitempty"` Servers []*Server `protobuf:"bytes,15,rep,name=Servers,proto3" json:"Servers,omitempty"` LastCardModified *TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` + Zealys []*Zealy `protobuf:"bytes,17,rep,name=zealys,proto3" json:"zealys,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -167,6 +168,13 @@ func (m *GenesisState) GetLastCardModified() *TimeStamp { return nil } +func (m *GenesisState) GetZealys() []*Zealy { + if m != nil { + return m.Zealys + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "DecentralCardGame.cardchain.cardchain.GenesisState") } @@ -174,46 +182,47 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 613 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x4d, 0x6b, 0x14, 0x31, - 0x18, 0xc7, 0x77, 0x6d, 0xbb, 0xed, 0x66, 0xab, 0x2d, 0xc1, 0x43, 0x2c, 0x3a, 0x1d, 0x45, 0x71, - 0x7d, 0xe9, 0x8c, 0xad, 0x08, 0x9e, 0x84, 0xbe, 0x60, 0x51, 0x29, 0x96, 0xac, 0x5e, 0x54, 0x28, - 0xd9, 0x4c, 0x3a, 0x0d, 0xce, 0x4c, 0x96, 0x3c, 0xd9, 0xa2, 0x1f, 0x42, 0xf0, 0x63, 0xf5, 0xd8, - 0xa3, 0x78, 0x28, 0xd2, 0x7e, 0x11, 0x49, 0x32, 0xdd, 0x5d, 0xed, 0x50, 0xa6, 0xa7, 0x0d, 0xfb, - 0x3c, 0xbf, 0x5f, 0xc2, 0x3c, 0xff, 0x04, 0xdd, 0xe5, 0x4c, 0x27, 0xfc, 0x80, 0xc9, 0x22, 0x1e, - 0xaf, 0x52, 0x51, 0x08, 0x90, 0x10, 0x0d, 0xb4, 0x32, 0x0a, 0x3f, 0xd8, 0x12, 0x5c, 0x14, 0x46, - 0xb3, 0x6c, 0x93, 0xe9, 0x64, 0x9b, 0xe5, 0x22, 0x1a, 0xb5, 0x8e, 0x57, 0x4b, 0x37, 0x53, 0x95, - 0x2a, 0x47, 0xc4, 0x76, 0xe5, 0xe1, 0xa5, 0xb0, 0xca, 0x3f, 0x60, 0x9a, 0xe5, 0xa5, 0x7e, 0x29, - 0xa8, 0xea, 0xb0, 0xab, 0xcb, 0xea, 0x43, 0x10, 0xba, 0xac, 0x2f, 0x57, 0xd5, 0x73, 0x66, 0xf8, - 0x41, 0xd9, 0x70, 0xa7, 0xaa, 0x01, 0x84, 0x29, 0xcb, 0xf7, 0xab, 0xcb, 0x59, 0xb6, 0xa7, 0xf6, - 0xf7, 0x47, 0xbb, 0x3c, 0xaa, 0xea, 0xd2, 0xc3, 0xa2, 0x90, 0x45, 0xba, 0xc7, 0x0e, 0x85, 0x66, - 0xa9, 0x28, 0x5b, 0x2b, 0x3f, 0x29, 0x57, 0xc3, 0x82, 0xcb, 0xec, 0xb2, 0x33, 0xcb, 0x7c, 0xec, - 0x08, 0xab, 0x0f, 0xa5, 0x0f, 0x47, 0x07, 0x0a, 0xb8, 0x82, 0x5c, 0x41, 0xdc, 0x67, 0x20, 0xe2, - 0xc3, 0xd5, 0xbe, 0x30, 0x6c, 0x35, 0xe6, 0x4a, 0x16, 0xbe, 0x7e, 0xef, 0xc7, 0x1c, 0x9a, 0xdf, - 0xf6, 0x73, 0xec, 0x19, 0x66, 0x04, 0x7e, 0x87, 0x5a, 0xfe, 0xbb, 0x93, 0x66, 0xd8, 0xec, 0x76, - 0xd6, 0x56, 0xa2, 0x5a, 0x73, 0x8d, 0x76, 0x1d, 0xb4, 0x31, 0x7d, 0x74, 0xb2, 0xdc, 0xa0, 0xa5, - 0x02, 0xef, 0xa0, 0x8e, 0xed, 0xa0, 0x82, 0x2b, 0x9d, 0x00, 0xb9, 0x16, 0x4e, 0x75, 0x3b, 0x6b, - 0x4f, 0x6a, 0x1a, 0x6d, 0x91, 0x4e, 0xf2, 0x78, 0x1d, 0xcd, 0xd8, 0x89, 0x02, 0x99, 0xba, 0x92, - 0xe8, 0x23, 0x08, 0x4d, 0x3d, 0x89, 0x6f, 0xa3, 0x36, 0x4b, 0x12, 0x2d, 0x00, 0x04, 0x90, 0xe9, - 0x70, 0xaa, 0xdb, 0xa6, 0xe3, 0x3f, 0xf0, 0x6b, 0x34, 0xeb, 0x22, 0x21, 0x80, 0xb4, 0xdc, 0x16, - 0x4f, 0x6b, 0x6e, 0xb1, 0x63, 0x29, 0x7a, 0x0e, 0xe3, 0x57, 0x68, 0x1a, 0x84, 0x01, 0x32, 0xeb, - 0x24, 0x8f, 0x6b, 0x4a, 0x7a, 0xc2, 0x50, 0xc7, 0xe1, 0x5d, 0x84, 0x6c, 0xb4, 0xde, 0xdb, 0x64, - 0x01, 0x99, 0x73, 0x96, 0x67, 0xb5, 0x2d, 0x25, 0x48, 0x27, 0x1c, 0x38, 0x46, 0x33, 0x03, 0xa5, - 0x32, 0x20, 0x6d, 0x27, 0xbb, 0x15, 0xf9, 0x5c, 0x44, 0x36, 0x17, 0x51, 0x99, 0x8b, 0x68, 0x53, - 0xc9, 0x82, 0xfa, 0x3e, 0xfc, 0x19, 0x2d, 0x5a, 0xe7, 0xfa, 0x90, 0x1b, 0xa9, 0x8a, 0x5d, 0x2d, - 0xb9, 0x20, 0x9d, 0xb0, 0xd9, 0x6d, 0x6f, 0xc4, 0x76, 0xc4, 0xbf, 0x4f, 0x96, 0x1f, 0xa6, 0xd2, - 0x1c, 0x0c, 0xfb, 0x11, 0x57, 0x79, 0x5c, 0xa6, 0xcc, 0xff, 0xac, 0x40, 0xf2, 0x35, 0x36, 0xdf, - 0x07, 0x02, 0xbc, 0xf1, 0x82, 0x08, 0xbf, 0x45, 0x73, 0x65, 0xd2, 0x81, 0xcc, 0xbb, 0x03, 0x45, - 0x75, 0x43, 0xe1, 0x31, 0x3a, 0xe2, 0xf1, 0x1e, 0x5a, 0xa0, 0xfe, 0x82, 0xad, 0xfb, 0xfb, 0x05, - 0xe4, 0xba, 0x53, 0xbe, 0xa8, 0xa9, 0xfc, 0x97, 0xa6, 0xff, 0xdb, 0xf0, 0x16, 0x6a, 0xb9, 0x3b, - 0x07, 0xe4, 0xc6, 0x95, 0x32, 0xf1, 0xc6, 0x42, 0xb4, 0x64, 0xf1, 0x36, 0x9a, 0xed, 0xb9, 0x8b, - 0x09, 0x64, 0xc1, 0x69, 0x56, 0x6a, 0xcf, 0xd3, 0x52, 0xf4, 0x9c, 0xc6, 0x5f, 0xd0, 0x62, 0xc6, - 0xc0, 0x58, 0x66, 0x47, 0x25, 0x72, 0x5f, 0x8a, 0x84, 0x2c, 0xba, 0xab, 0x5a, 0x37, 0x21, 0x1f, - 0x64, 0x2e, 0x7a, 0x86, 0xe5, 0x03, 0x7a, 0xc1, 0xb4, 0x41, 0x8f, 0x4e, 0x83, 0xe6, 0xf1, 0x69, - 0xd0, 0xfc, 0x73, 0x1a, 0x34, 0x7f, 0x9e, 0x05, 0x8d, 0xe3, 0xb3, 0xa0, 0xf1, 0xeb, 0x2c, 0x68, - 0x7c, 0x7a, 0x39, 0x31, 0xee, 0x0b, 0xfb, 0xc4, 0x9b, 0xa3, 0xe7, 0xe7, 0xdb, 0xc4, 0x53, 0xe4, - 0x42, 0xd0, 0x6f, 0xb9, 0xa7, 0xe6, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x09, 0xbc, 0x2f, - 0x1b, 0x45, 0x06, 0x00, 0x00, + // 634 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xdf, 0x4e, 0x13, 0x41, + 0x14, 0xc6, 0x5b, 0x81, 0x42, 0xa7, 0x28, 0x38, 0xf1, 0x62, 0x24, 0xba, 0x54, 0xa3, 0xb1, 0xfe, + 0x61, 0x57, 0x30, 0x26, 0x5e, 0x99, 0xf0, 0x27, 0x12, 0x35, 0x44, 0x32, 0xd5, 0x1b, 0x34, 0x21, + 0xd3, 0xdd, 0xc3, 0x32, 0x71, 0x77, 0xa7, 0x99, 0x33, 0x25, 0xe2, 0x53, 0xf8, 0x58, 0x5c, 0x92, + 0x78, 0x63, 0xbc, 0x20, 0x06, 0x5e, 0xc4, 0xcc, 0xec, 0xd2, 0x56, 0xd9, 0x90, 0xe5, 0xaa, 0x93, + 0x9e, 0xef, 0xfb, 0xcd, 0xcc, 0x9e, 0xef, 0x0c, 0xb9, 0x17, 0x0a, 0x1d, 0x85, 0xfb, 0x42, 0x66, + 0xc1, 0x68, 0x15, 0x43, 0x06, 0x28, 0xd1, 0xef, 0x6b, 0x65, 0x14, 0x7d, 0xb8, 0x01, 0x21, 0x64, + 0x46, 0x8b, 0x64, 0x5d, 0xe8, 0x68, 0x53, 0xa4, 0xe0, 0x0f, 0xa5, 0xa3, 0xd5, 0xc2, 0xad, 0x58, + 0xc5, 0xca, 0x39, 0x02, 0xbb, 0xca, 0xcd, 0x0b, 0xed, 0x32, 0x7e, 0x5f, 0x68, 0x91, 0x16, 0xf8, + 0x05, 0xaf, 0x4c, 0x61, 0x57, 0x97, 0xd5, 0x07, 0x08, 0xba, 0xa8, 0x2f, 0x96, 0xd5, 0x53, 0x61, + 0xc2, 0xfd, 0x42, 0x70, 0xb7, 0x4c, 0x80, 0x60, 0x8a, 0xf2, 0x83, 0xf2, 0x72, 0x92, 0xec, 0xaa, + 0xbd, 0xbd, 0xe1, 0x2e, 0x8f, 0xcb, 0x54, 0x7a, 0x90, 0x65, 0x32, 0x8b, 0x77, 0xc5, 0x01, 0x68, + 0x11, 0x43, 0x21, 0x2d, 0xfd, 0xa4, 0xa1, 0x1a, 0x64, 0xa1, 0x4c, 0x2e, 0x3b, 0xb3, 0x4c, 0x47, + 0x8c, 0x76, 0xf9, 0xa1, 0xf4, 0xc1, 0xe5, 0xd7, 0xfe, 0x0e, 0x22, 0x39, 0x1c, 0x7e, 0x37, 0x85, + 0xa9, 0xc2, 0xa0, 0x27, 0x10, 0x82, 0x83, 0xe5, 0x1e, 0x18, 0xb1, 0x1c, 0x84, 0x4a, 0x66, 0x79, + 0xfd, 0xfe, 0xcf, 0x19, 0x32, 0xbb, 0x99, 0x37, 0xba, 0x6b, 0x84, 0x01, 0xfa, 0x9e, 0x34, 0xf2, + 0xc6, 0xb0, 0x7a, 0xbb, 0xde, 0x69, 0xad, 0x2c, 0xf9, 0x95, 0x1a, 0xef, 0x6f, 0x3b, 0xd3, 0xda, + 0xe4, 0xd1, 0xc9, 0x62, 0x8d, 0x17, 0x08, 0xba, 0x45, 0x5a, 0x56, 0xc1, 0x21, 0x54, 0x3a, 0x42, + 0x76, 0xad, 0x3d, 0xd1, 0x69, 0xad, 0x3c, 0xad, 0x48, 0xb4, 0x45, 0x3e, 0xee, 0xa7, 0xab, 0x64, + 0xca, 0xb6, 0x1c, 0xd9, 0xc4, 0x95, 0x40, 0x9f, 0x10, 0x34, 0xcf, 0x9d, 0xf4, 0x0e, 0x69, 0x8a, + 0x28, 0xd2, 0x80, 0x08, 0xc8, 0x26, 0xdb, 0x13, 0x9d, 0x26, 0x1f, 0xfd, 0x41, 0xdf, 0x90, 0x69, + 0x97, 0x19, 0x40, 0xd6, 0x70, 0x5b, 0x3c, 0xab, 0xb8, 0xc5, 0x96, 0x75, 0xf1, 0x73, 0x33, 0x7d, + 0x4d, 0x26, 0x11, 0x0c, 0xb2, 0x69, 0x07, 0x79, 0x52, 0x11, 0xd2, 0x05, 0xc3, 0x9d, 0x8f, 0x6e, + 0x13, 0x62, 0xb3, 0xf7, 0xc1, 0x46, 0x0f, 0xd9, 0x8c, 0xa3, 0x3c, 0xaf, 0x4c, 0x29, 0x8c, 0x7c, + 0x8c, 0x41, 0x03, 0x32, 0xd5, 0x57, 0x2a, 0x41, 0xd6, 0x74, 0xb0, 0xdb, 0x7e, 0x9e, 0x0b, 0xdf, + 0xe6, 0xc2, 0x2f, 0x72, 0xe1, 0xaf, 0x2b, 0x99, 0xf1, 0x5c, 0x47, 0x3f, 0x93, 0x79, 0xcb, 0x5c, + 0x1d, 0x84, 0x46, 0xaa, 0x6c, 0x5b, 0xcb, 0x10, 0x58, 0xab, 0x5d, 0xef, 0x34, 0xd7, 0x02, 0xdb, + 0xe2, 0xdf, 0x27, 0x8b, 0x8f, 0x62, 0x69, 0xf6, 0x07, 0x3d, 0x3f, 0x54, 0x69, 0x50, 0xa4, 0x2c, + 0xff, 0x59, 0xc2, 0xe8, 0x6b, 0x60, 0x0e, 0xfb, 0x80, 0x39, 0xf1, 0x02, 0x88, 0xbe, 0x23, 0x33, + 0xc5, 0x28, 0x20, 0x9b, 0x75, 0x07, 0xf2, 0xab, 0x86, 0x22, 0xb7, 0xf1, 0xa1, 0x9f, 0xee, 0x92, + 0x39, 0x9e, 0x4f, 0xe0, 0x6a, 0x3e, 0x80, 0xc8, 0xae, 0x3b, 0xe4, 0xcb, 0x8a, 0xc8, 0x7f, 0xdd, + 0xfc, 0x7f, 0x1a, 0xdd, 0x20, 0x0d, 0x37, 0x94, 0xc8, 0x6e, 0x5c, 0x29, 0x13, 0x6f, 0xad, 0x89, + 0x17, 0x5e, 0xba, 0x49, 0xa6, 0xbb, 0x6e, 0x72, 0x91, 0xcd, 0x39, 0xcc, 0x52, 0xe5, 0x7e, 0x5a, + 0x17, 0x3f, 0x77, 0xd3, 0x2f, 0x64, 0x3e, 0x11, 0x68, 0xac, 0x67, 0x4b, 0x45, 0x72, 0x4f, 0x42, + 0xc4, 0xe6, 0xdd, 0xa8, 0x56, 0x4d, 0xc8, 0x47, 0x99, 0x42, 0xd7, 0x88, 0xb4, 0xcf, 0x2f, 0x90, + 0xec, 0x65, 0xdd, 0xf3, 0x81, 0xec, 0xe6, 0x95, 0x2e, 0xbb, 0x63, 0x4d, 0xbc, 0xf0, 0xae, 0xf1, + 0xa3, 0x53, 0xaf, 0x7e, 0x7c, 0xea, 0xd5, 0xff, 0x9c, 0x7a, 0xf5, 0x1f, 0x67, 0x5e, 0xed, 0xf8, + 0xcc, 0xab, 0xfd, 0x3a, 0xf3, 0x6a, 0x3b, 0xaf, 0xc6, 0x42, 0x73, 0x81, 0x1c, 0xac, 0x0f, 0xdf, + 0xb0, 0x6f, 0x63, 0xef, 0x99, 0x8b, 0x52, 0xaf, 0xe1, 0x1e, 0xac, 0x17, 0x7f, 0x03, 0x00, 0x00, + 0xff, 0xff, 0xae, 0x6a, 0x8d, 0xa2, 0xac, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -236,6 +245,22 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.Zealys) > 0 { + for iNdEx := len(m.Zealys) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Zealys[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } if m.LastCardModified != nil { { size, err := m.LastCardModified.MarshalToSizedBuffer(dAtA[:i]) @@ -513,6 +538,12 @@ func (m *GenesisState) Size() (n int) { l = m.LastCardModified.Size() n += 2 + l + sovGenesis(uint64(l)) } + if len(m.Zealys) > 0 { + for _, e := range m.Zealys { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1026,6 +1057,40 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Zealys", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Zealys = append(m.Zealys, &Zealy{}) + if err := m.Zealys[len(m.Zealys)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/cardchain/types/message_connect_zealy_account.go b/x/cardchain/types/message_connect_zealy_account.go new file mode 100644 index 00000000..5555f84e --- /dev/null +++ b/x/cardchain/types/message_connect_zealy_account.go @@ -0,0 +1,46 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgConnectZealyAccount = "connect_zealy_account" + +var _ sdk.Msg = &MsgConnectZealyAccount{} + +func NewMsgConnectZealyAccount(creator string, zealyId string) *MsgConnectZealyAccount { + return &MsgConnectZealyAccount{ + Creator: creator, + ZealyId: zealyId, + } +} + +func (msg *MsgConnectZealyAccount) Route() string { + return RouterKey +} + +func (msg *MsgConnectZealyAccount) Type() string { + return TypeMsgConnectZealyAccount +} + +func (msg *MsgConnectZealyAccount) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgConnectZealyAccount) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgConnectZealyAccount) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_connect_zealy_account_test.go b/x/cardchain/types/message_connect_zealy_account_test.go new file mode 100644 index 00000000..25be52f1 --- /dev/null +++ b/x/cardchain/types/message_connect_zealy_account_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgConnectZealyAccount_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgConnectZealyAccount + err error + }{ + { + name: "invalid address", + msg: MsgConnectZealyAccount{ + Creator: "invalid_address", + }, + err: sdkerrors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgConnectZealyAccount{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index c90de918..9bdff0fd 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -4142,6 +4142,94 @@ func (m *MsgDisinviteEarlyAccessResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgDisinviteEarlyAccessResponse proto.InternalMessageInfo +type MsgConnectZealyAccount struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *MsgConnectZealyAccount) Reset() { *m = MsgConnectZealyAccount{} } +func (m *MsgConnectZealyAccount) String() string { return proto.CompactTextString(m) } +func (*MsgConnectZealyAccount) ProtoMessage() {} +func (*MsgConnectZealyAccount) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{86} +} +func (m *MsgConnectZealyAccount) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgConnectZealyAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgConnectZealyAccount.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgConnectZealyAccount) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgConnectZealyAccount.Merge(m, src) +} +func (m *MsgConnectZealyAccount) XXX_Size() int { + return m.Size() +} +func (m *MsgConnectZealyAccount) XXX_DiscardUnknown() { + xxx_messageInfo_MsgConnectZealyAccount.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgConnectZealyAccount proto.InternalMessageInfo + +func (m *MsgConnectZealyAccount) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgConnectZealyAccount) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +type MsgConnectZealyAccountResponse struct { +} + +func (m *MsgConnectZealyAccountResponse) Reset() { *m = MsgConnectZealyAccountResponse{} } +func (m *MsgConnectZealyAccountResponse) String() string { return proto.CompactTextString(m) } +func (*MsgConnectZealyAccountResponse) ProtoMessage() {} +func (*MsgConnectZealyAccountResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{87} +} +func (m *MsgConnectZealyAccountResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgConnectZealyAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgConnectZealyAccountResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgConnectZealyAccountResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgConnectZealyAccountResponse.Merge(m, src) +} +func (m *MsgConnectZealyAccountResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgConnectZealyAccountResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgConnectZealyAccountResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgConnectZealyAccountResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateuser)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuser") proto.RegisterType((*MsgCreateuserResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuserResponse") @@ -4229,167 +4317,173 @@ func init() { proto.RegisterType((*MsgInviteEarlyAccessResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgInviteEarlyAccessResponse") proto.RegisterType((*MsgDisinviteEarlyAccess)(nil), "DecentralCardGame.cardchain.cardchain.MsgDisinviteEarlyAccess") proto.RegisterType((*MsgDisinviteEarlyAccessResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgDisinviteEarlyAccessResponse") + proto.RegisterType((*MsgConnectZealyAccount)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccount") + proto.RegisterType((*MsgConnectZealyAccountResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgConnectZealyAccountResponse") } func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2476 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xe1, 0x6f, 0x1c, 0x47, - 0x15, 0xf7, 0xe6, 0x6c, 0xd7, 0x99, 0x24, 0x6e, 0xbb, 0x75, 0xd3, 0xcb, 0x36, 0x3d, 0xbb, 0x4b, - 0x5b, 0xf2, 0x85, 0xbb, 0xc6, 0x69, 0x93, 0x38, 0x21, 0xa4, 0x77, 0x67, 0xc7, 0x0d, 0x91, 0x9b, - 0x70, 0xe7, 0xb6, 0xb4, 0x54, 0xa0, 0xf5, 0xde, 0xf8, 0xbc, 0xf2, 0xdd, 0xce, 0x31, 0x3b, 0x67, - 0xd7, 0x95, 0x90, 0x90, 0x90, 0x10, 0x95, 0x22, 0x40, 0x08, 0x24, 0x04, 0x12, 0x0a, 0x1f, 0xf8, - 0x52, 0x89, 0x4f, 0x20, 0xf1, 0x2f, 0xf4, 0x63, 0x3f, 0x21, 0xc4, 0x87, 0x82, 0x92, 0x2f, 0xfc, - 0x19, 0x68, 0xdf, 0xcc, 0xce, 0xce, 0xec, 0xed, 0x9d, 0x6f, 0xd6, 0x91, 0x90, 0xb8, 0x99, 0x9d, - 0xdf, 0x7b, 0x6f, 0x66, 0xde, 0x9b, 0xf7, 0xde, 0x2f, 0x35, 0xba, 0xe8, 0x7b, 0xb4, 0xe3, 0xef, - 0x79, 0x41, 0x58, 0x4b, 0x7f, 0xb1, 0x4f, 0xab, 0x03, 0x4a, 0x18, 0xb1, 0x5f, 0x5f, 0xc7, 0x3e, - 0x0e, 0x19, 0xf5, 0x7a, 0x4d, 0x8f, 0x76, 0x36, 0xbd, 0x3e, 0xae, 0xca, 0x55, 0xe9, 0x2f, 0x67, - 0xa9, 0x4b, 0xba, 0x04, 0x10, 0xb5, 0xf8, 0x17, 0x07, 0x3b, 0xaf, 0xe6, 0x89, 0xf6, 0xc9, 0x30, - 0xf4, 0x83, 0x9e, 0x58, 0xb2, 0x9c, 0xb7, 0xa4, 0xef, 0x31, 0x7f, 0x4f, 0x2c, 0x58, 0xc9, 0x5b, - 0x70, 0x40, 0x58, 0x10, 0x76, 0xc5, 0x8a, 0x4a, 0xae, 0x16, 0x8f, 0x76, 0xe4, 0x77, 0x12, 0xf5, - 0x49, 0x54, 0xdb, 0xf1, 0x22, 0x5c, 0x3b, 0xb8, 0xbc, 0x83, 0x99, 0x77, 0xb9, 0xe6, 0x93, 0x20, - 0xe4, 0xdf, 0xdd, 0x8f, 0xd0, 0xb9, 0xad, 0xa8, 0xdb, 0xa4, 0xd8, 0x63, 0x78, 0x18, 0x61, 0x6a, - 0x97, 0xd1, 0x33, 0x7e, 0x3c, 0x22, 0xb4, 0x6c, 0xad, 0x58, 0x97, 0x4e, 0xb7, 0x92, 0x61, 0xfc, - 0x25, 0xc4, 0x87, 0xef, 0x47, 0x98, 0x96, 0x4f, 0xf1, 0x2f, 0x62, 0x68, 0x2f, 0xa1, 0x39, 0xaf, - 0x17, 0x78, 0x51, 0xb9, 0x04, 0xf3, 0x7c, 0xe0, 0xbe, 0x84, 0x5e, 0xd4, 0x44, 0xb7, 0x70, 0x34, - 0x20, 0x61, 0x84, 0xdd, 0xdf, 0x5a, 0xe8, 0xb9, 0xad, 0xa8, 0xdb, 0x18, 0x1e, 0xc5, 0xc7, 0xda, - 0xf6, 0xf7, 0x70, 0x1f, 0x4f, 0xd0, 0xfb, 0x09, 0x2a, 0xed, 0x04, 0x1d, 0xd0, 0x79, 0x66, 0xf5, - 0x42, 0x95, 0x6f, 0xa8, 0x1a, 0x6f, 0xa8, 0x2a, 0x36, 0x54, 0x6d, 0x92, 0x20, 0x6c, 0xd4, 0xbe, - 0xfc, 0x7a, 0x79, 0xe6, 0x8b, 0xff, 0x2c, 0x7f, 0xb3, 0x1b, 0xb0, 0xbd, 0xe1, 0x4e, 0xd5, 0x27, - 0xfd, 0x9a, 0xd8, 0x3d, 0xff, 0xbf, 0x6f, 0x45, 0x9d, 0xfd, 0x1a, 0x3b, 0x1a, 0xe0, 0x08, 0x00, - 0xad, 0x58, 0xec, 0x8d, 0x85, 0x5f, 0x3c, 0x5a, 0x9e, 0xf9, 0xdf, 0xa3, 0xe5, 0x19, 0x77, 0x15, - 0x95, 0xb3, 0x56, 0x25, 0x26, 0xdb, 0xe7, 0xd1, 0x7c, 0x7c, 0xa8, 0x77, 0x3b, 0x60, 0xdc, 0x6c, - 0x4b, 0x8c, 0xdc, 0x87, 0x16, 0x3a, 0xb3, 0x15, 0x75, 0x3f, 0x20, 0x0c, 0xc7, 0xa8, 0x09, 0xbb, - 0x48, 0x25, 0x9c, 0x52, 0x25, 0xd8, 0xf7, 0xd0, 0xc2, 0x01, 0x61, 0x78, 0xfb, 0x68, 0x80, 0xe1, - 0xf8, 0x16, 0x57, 0x6b, 0xd5, 0xa9, 0xdc, 0xae, 0xfa, 0x81, 0x80, 0xb5, 0xa4, 0x00, 0xf7, 0x16, - 0x7a, 0x41, 0xb1, 0x46, 0x5a, 0xff, 0x06, 0x5a, 0xf4, 0x02, 0xda, 0xa1, 0x64, 0xd0, 0xec, 0x79, - 0x41, 0x1f, 0xf3, 0x5d, 0x2c, 0xb4, 0x32, 0xb3, 0xee, 0xdf, 0x2d, 0x64, 0x6f, 0x45, 0xdd, 0xb6, - 0x77, 0x00, 0xf8, 0x26, 0x09, 0x19, 0x0e, 0x59, 0x81, 0x4d, 0xc5, 0x08, 0x0e, 0x86, 0x3d, 0x9d, - 0x6d, 0x25, 0xc3, 0xd8, 0x55, 0x42, 0xc2, 0x70, 0x54, 0x9e, 0xe5, 0xae, 0x02, 0x83, 0x58, 0x8e, - 0x47, 0x59, 0x10, 0xb1, 0xf2, 0x1c, 0x4c, 0x8b, 0x91, 0xfd, 0x1a, 0x3a, 0xb7, 0xe3, 0xf5, 0xbc, - 0xd0, 0xc7, 0xf5, 0xd0, 0xdf, 0x23, 0xb4, 0x3c, 0x0f, 0x76, 0xeb, 0x93, 0xee, 0x3a, 0x72, 0x46, - 0xad, 0x36, 0xde, 0xfc, 0x8f, 0xd0, 0xb3, 0x5b, 0x51, 0x77, 0x9b, 0x7a, 0x61, 0xb4, 0x8b, 0x69, - 0xc1, 0xdb, 0x74, 0xd0, 0x02, 0xc5, 0x3e, 0x0e, 0x0e, 0x30, 0x15, 0x3b, 0x94, 0x63, 0xf7, 0x02, - 0x7a, 0x29, 0xa3, 0x40, 0x46, 0xc4, 0x43, 0x0b, 0x94, 0xaf, 0x93, 0xd0, 0x63, 0x78, 0x9b, 0x14, - 0x54, 0xbe, 0x89, 0xe6, 0xbd, 0x3e, 0x19, 0x8a, 0x43, 0x3f, 0xcd, 0x03, 0xe2, 0xdf, 0x5f, 0x4f, - 0x1f, 0x10, 0x02, 0x2e, 0x2c, 0x55, 0xad, 0x91, 0x96, 0xfe, 0x18, 0xde, 0x8b, 0x7a, 0xa7, 0x53, - 0xa7, 0xec, 0x90, 0xd0, 0xfd, 0x02, 0x66, 0x2e, 0xa1, 0xb9, 0xa0, 0xef, 0x75, 0xb1, 0x70, 0x0d, - 0x3e, 0x88, 0xe5, 0xec, 0x0e, 0x7b, 0xbd, 0x3a, 0x65, 0x70, 0x70, 0x0b, 0xad, 0x64, 0x28, 0xde, - 0x91, 0x54, 0xa5, 0xb4, 0xe5, 0x07, 0x70, 0x68, 0xcd, 0x3d, 0x2f, 0xec, 0xe2, 0x3a, 0x77, 0x98, - 0xe3, 0xad, 0x59, 0xd7, 0xac, 0x59, 0x57, 0x5c, 0xaf, 0xa4, 0xba, 0x9e, 0x38, 0x03, 0x55, 0xb8, - 0xd4, 0x7b, 0x19, 0x0c, 0x6a, 0xe1, 0x6e, 0x10, 0x31, 0x4c, 0xef, 0x10, 0xda, 0xe4, 0xaf, 0xfa, - 0x78, 0xed, 0xee, 0x32, 0x7a, 0x25, 0x17, 0x22, 0x65, 0xfe, 0xd3, 0x42, 0x8b, 0xb0, 0x62, 0x40, - 0x28, 0xdb, 0x8a, 0x53, 0xc0, 0xe4, 0x97, 0x18, 0xb2, 0x84, 0x3c, 0xda, 0x64, 0x68, 0xbb, 0xe8, - 0xec, 0xa0, 0xe7, 0x1d, 0xe1, 0x4e, 0x7c, 0x69, 0x51, 0xbd, 0x5c, 0x5a, 0x29, 0x5d, 0x9a, 0x6d, - 0x69, 0x73, 0x99, 0x35, 0x8d, 0xf2, 0xec, 0xc8, 0x9a, 0x86, 0xfd, 0x2e, 0x7a, 0x86, 0x0c, 0x99, - 0x4f, 0xfa, 0x18, 0x22, 0x72, 0x71, 0xb5, 0x3a, 0xe5, 0xa3, 0x74, 0x9f, 0xa3, 0x5a, 0x09, 0xdc, - 0x5d, 0x45, 0xe7, 0xf5, 0x7d, 0xc9, 0xc0, 0x54, 0x76, 0x61, 0x69, 0xbb, 0x70, 0xdf, 0x03, 0x4c, - 0x7d, 0x40, 0x82, 0x30, 0xc1, 0xc4, 0xf0, 0x89, 0xd9, 0x09, 0x22, 0x8f, 0xaf, 0x12, 0xe9, 0x49, - 0x8e, 0xdd, 0x15, 0x54, 0xc9, 0x97, 0x27, 0x8f, 0xff, 0x0f, 0x16, 0x3a, 0x2b, 0x93, 0x55, 0x1b, - 0x4f, 0x72, 0x24, 0x1b, 0xcd, 0x86, 0x5e, 0x1f, 0x0b, 0x25, 0xf0, 0x7b, 0x9c, 0x13, 0xd9, 0x2b, - 0xe8, 0x4c, 0xc4, 0x08, 0x3d, 0xfa, 0x90, 0x06, 0x4c, 0xbe, 0x08, 0xea, 0x54, 0x7c, 0x19, 0xf1, - 0xd3, 0x48, 0x83, 0x9d, 0x21, 0x23, 0x34, 0x2a, 0xcf, 0xad, 0x94, 0x2e, 0x9d, 0x6e, 0x69, 0x73, - 0xee, 0x79, 0xb4, 0xa4, 0xda, 0x26, 0x8d, 0xfe, 0x08, 0xfc, 0xbf, 0xde, 0x81, 0x4b, 0xdb, 0x26, - 0x93, 0xcd, 0x5e, 0x42, 0x73, 0x11, 0x66, 0xd2, 0x63, 0xf8, 0x40, 0x89, 0xd1, 0x92, 0x96, 0xd7, - 0xb8, 0xf7, 0xab, 0xa2, 0xa5, 0xd6, 0x77, 0xc0, 0x51, 0xef, 0x04, 0xa1, 0xd7, 0x0b, 0x3e, 0xc3, - 0x05, 0x94, 0xba, 0x65, 0xb8, 0x5e, 0x45, 0x82, 0x94, 0xdd, 0x44, 0xcf, 0xf3, 0x14, 0xdc, 0x20, - 0x24, 0x0e, 0x94, 0x07, 0x9e, 0xbf, 0x6f, 0x2c, 0xbe, 0x89, 0x2e, 0x8c, 0x08, 0x31, 0xce, 0x06, - 0x3f, 0x84, 0x33, 0x6f, 0xe1, 0x3e, 0xe1, 0x59, 0xe5, 0x0e, 0x25, 0xfd, 0xa7, 0x79, 0xc0, 0x15, - 0x74, 0x31, 0x4f, 0xbe, 0x3c, 0x09, 0x0f, 0xbd, 0x9c, 0x7e, 0x4f, 0x9d, 0xa1, 0xa8, 0x19, 0x36, - 0x9a, 0x8d, 0x4b, 0x30, 0xe1, 0x9e, 0xf0, 0xdb, 0x7d, 0x1d, 0x7d, 0x63, 0x82, 0x0a, 0x69, 0xc9, - 0x27, 0x3c, 0x18, 0x3b, 0x1d, 0x65, 0x4d, 0x31, 0x67, 0xcb, 0x33, 0x42, 0x84, 0xe6, 0xa8, 0x74, - 0xa9, 0xff, 0x73, 0x5e, 0x94, 0x24, 0xee, 0xdf, 0xeb, 0xdd, 0xdf, 0xdd, 0x9d, 0xf8, 0x12, 0xd8, - 0x68, 0x36, 0x3e, 0x64, 0xa1, 0x1b, 0x7e, 0xdb, 0x1b, 0x68, 0x6e, 0x40, 0x03, 0x1f, 0x17, 0xcd, - 0x8c, 0x1c, 0xed, 0x5e, 0x84, 0x4a, 0x23, 0x63, 0x8a, 0xb4, 0xf4, 0x5d, 0x84, 0xd2, 0x02, 0x72, - 0x82, 0x81, 0xf1, 0xab, 0x90, 0x80, 0xe5, 0x19, 0xa9, 0x53, 0xee, 0x12, 0x6c, 0x59, 0x48, 0x92, - 0xf2, 0x1f, 0xc0, 0x2c, 0xbf, 0xb0, 0x69, 0x0e, 0xe2, 0x78, 0x3d, 0x7c, 0x3f, 0x19, 0x89, 0x52, - 0xdf, 0xc7, 0xa0, 0x2f, 0x4d, 0xbc, 0xc5, 0x6e, 0x3d, 0x37, 0xdd, 0x0b, 0xcd, 0x19, 0xd9, 0x52, - 0xf3, 0xf7, 0xa1, 0x41, 0xa8, 0x77, 0x3a, 0xed, 0xf8, 0xa9, 0x2c, 0xac, 0x17, 0x1e, 0xda, 0xa4, - 0x29, 0x81, 0x81, 0xeb, 0x40, 0x91, 0xaf, 0x49, 0x96, 0x5a, 0xff, 0xc2, 0xfb, 0x92, 0x36, 0x66, - 0x70, 0xec, 0x1e, 0x0d, 0xd8, 0x51, 0xb1, 0xfa, 0x86, 0x9b, 0x53, 0x52, 0xcd, 0xb9, 0x8b, 0xe6, - 0x29, 0x48, 0x84, 0x2c, 0xb0, 0xb8, 0x7a, 0x79, 0xca, 0x84, 0x9a, 0x9a, 0xd2, 0x12, 0x02, 0xc4, - 0x1e, 0x34, 0x33, 0xe5, 0x1e, 0xd6, 0x61, 0x0b, 0xdc, 0x43, 0x8f, 0x2d, 0x4b, 0xc6, 0x6d, 0x41, - 0x68, 0xd0, 0xa4, 0x48, 0x0d, 0xbf, 0xb4, 0xf8, 0x47, 0xd2, 0xef, 0x07, 0x2c, 0xf3, 0xf1, 0xb8, - 0xfc, 0xcc, 0x57, 0xa5, 0xf9, 0x59, 0xa0, 0x2e, 0xa2, 0xd3, 0xa2, 0x31, 0x96, 0xa7, 0x96, 0x4e, - 0xd8, 0x15, 0x84, 0xa2, 0x61, 0xb7, 0x8b, 0x23, 0x16, 0x90, 0x50, 0xe4, 0x50, 0x65, 0xc6, 0x75, - 0xd1, 0xca, 0x38, 0x7b, 0xa4, 0xd1, 0xff, 0xe0, 0x46, 0xb7, 0xf0, 0x01, 0xf6, 0x7a, 0xd3, 0x1b, - 0x7d, 0x2f, 0x63, 0xf4, 0xf4, 0xcd, 0x99, 0xb4, 0x20, 0xdd, 0xe5, 0x79, 0x34, 0x1f, 0x61, 0x9f, - 0x62, 0x59, 0x24, 0xf0, 0x91, 0xbe, 0xfb, 0xd9, 0xcc, 0xee, 0xc5, 0xee, 0x72, 0x0d, 0x97, 0xbb, - 0xbb, 0x07, 0x69, 0xb3, 0x85, 0x23, 0xe6, 0x51, 0x76, 0xfc, 0xad, 0x6b, 0x0a, 0x4f, 0x65, 0x15, - 0xbe, 0x0c, 0xe9, 0x53, 0x17, 0x26, 0x35, 0x5d, 0x17, 0x69, 0xeb, 0x90, 0xec, 0xa7, 0x8e, 0x11, - 0x17, 0xb5, 0xd4, 0x8b, 0xef, 0x62, 0x42, 0x05, 0xfc, 0x06, 0x7a, 0x6d, 0x12, 0x52, 0x6a, 0x78, - 0xcc, 0x5b, 0xa1, 0x26, 0x09, 0x77, 0x03, 0xda, 0x2f, 0x5e, 0x09, 0x2b, 0x15, 0x6c, 0xe9, 0x44, - 0x15, 0xac, 0xfd, 0x3d, 0x84, 0xe2, 0x06, 0x9b, 0x97, 0xc6, 0x50, 0x2d, 0x9f, 0x99, 0x3a, 0x7a, - 0xdb, 0x41, 0xd8, 0xed, 0xe1, 0xb8, 0x21, 0x6f, 0x29, 0x42, 0x92, 0xe6, 0x42, 0xd9, 0xa3, 0xdc, - 0xff, 0x06, 0xdc, 0x65, 0x1b, 0xb3, 0x07, 0x94, 0xec, 0x06, 0xbd, 0x82, 0xb4, 0x82, 0xb8, 0x45, - 0x5d, 0x8c, 0xd4, 0xb1, 0x0d, 0x0f, 0xfb, 0xfd, 0x01, 0x0e, 0xa7, 0xab, 0xb3, 0xe2, 0x36, 0x3c, - 0x5d, 0x28, 0x75, 0xe9, 0x93, 0xee, 0x55, 0x78, 0xd2, 0x33, 0x52, 0xb5, 0x20, 0x03, 0xd3, 0xa2, - 0xb2, 0x05, 0x0d, 0x47, 0x32, 0x74, 0x19, 0x14, 0x18, 0x49, 0x5f, 0xfc, 0x14, 0x2d, 0xd2, 0xba, - 0xf1, 0x52, 0xa6, 0x1b, 0xe7, 0x85, 0x47, 0x8e, 0x56, 0x79, 0x4a, 0x7b, 0x50, 0x02, 0xb6, 0x31, - 0x8b, 0xff, 0xa7, 0x94, 0xec, 0xa6, 0x89, 0x28, 0xd3, 0x04, 0x94, 0x46, 0x9a, 0x00, 0x51, 0x0c, - 0x8e, 0x68, 0xca, 0x14, 0xfa, 0xfc, 0xfb, 0xb1, 0x8d, 0xee, 0xd8, 0x3a, 0x74, 0x42, 0x9b, 0xab, - 0x8a, 0x96, 0x5a, 0x37, 0x13, 0x4f, 0x7c, 0x3f, 0xc2, 0xf4, 0x43, 0xbc, 0x13, 0x05, 0x0c, 0x4f, - 0x0e, 0xc5, 0x43, 0xbe, 0x28, 0xa1, 0x07, 0xc5, 0x30, 0xf5, 0x45, 0x45, 0x90, 0xd4, 0xb2, 0x05, - 0x94, 0x95, 0xf8, 0xd8, 0x08, 0x48, 0x97, 0x7a, 0x83, 0xbd, 0xa3, 0xc9, 0xaf, 0xd7, 0x4e, 0xb2, - 0x4c, 0x68, 0x4a, 0x27, 0xdc, 0x57, 0xa0, 0x6e, 0xce, 0x8a, 0x93, 0xda, 0x86, 0x90, 0x1e, 0xb7, - 0x86, 0x3d, 0x16, 0x4c, 0xc1, 0xd9, 0x6d, 0xa2, 0xb9, 0x03, 0x20, 0xab, 0x4e, 0x15, 0x0d, 0x7a, - 0x8e, 0x17, 0xf9, 0x54, 0x53, 0x2b, 0x4d, 0x7a, 0xc4, 0x5b, 0xcf, 0x38, 0x6e, 0xa6, 0x78, 0xed, - 0xa0, 0x4b, 0xa7, 0xf5, 0xe4, 0x88, 0xc5, 0x30, 0xfd, 0xd2, 0x10, 0xf7, 0x9b, 0x0c, 0x63, 0xef, - 0x13, 0x8b, 0xd6, 0xb1, 0xbf, 0x2f, 0x9a, 0x7d, 0x75, 0x2a, 0x5d, 0xd1, 0x80, 0x15, 0x73, 0xea, - 0x0a, 0x98, 0x72, 0xdf, 0x84, 0x48, 0x90, 0x16, 0x4e, 0xd1, 0xc1, 0xb7, 0x81, 0x26, 0xe2, 0x6e, - 0xf5, 0x9e, 0x37, 0x91, 0xde, 0x1d, 0xdb, 0x2b, 0x40, 0x97, 0x5d, 0x4a, 0xbb, 0x6c, 0x41, 0x04, - 0xa5, 0x42, 0x33, 0x2d, 0xa9, 0xe0, 0x6a, 0x7a, 0x81, 0x17, 0x4d, 0x56, 0xc7, 0xb9, 0xea, 0x53, - 0x2a, 0x57, 0xcd, 0x5b, 0x52, 0x45, 0x82, 0x52, 0x50, 0xc5, 0x7b, 0xbf, 0x1b, 0x1e, 0x04, 0x0c, - 0x6f, 0x78, 0xb4, 0x77, 0x54, 0xf7, 0x7d, 0x1c, 0x45, 0x93, 0xfb, 0x8f, 0x61, 0x4a, 0x92, 0xf3, - 0x36, 0x87, 0x47, 0xf8, 0x88, 0x14, 0x25, 0xd6, 0x80, 0x71, 0x0b, 0xa2, 0xe0, 0x84, 0x8a, 0x5e, - 0x45, 0xcb, 0x63, 0x04, 0x25, 0xba, 0x56, 0xff, 0xf6, 0x26, 0x2a, 0x6d, 0x45, 0x5d, 0xfb, 0xa7, - 0x16, 0x42, 0x0a, 0xf1, 0xff, 0xd6, 0x94, 0xde, 0xad, 0x71, 0xfa, 0xce, 0xb7, 0x8b, 0xa0, 0xa4, - 0x03, 0x7d, 0x6e, 0xa1, 0x73, 0xfa, 0x3f, 0x03, 0x5c, 0x9b, 0x5e, 0x9e, 0x06, 0x74, 0x6e, 0x17, - 0x04, 0x4a, 0x5b, 0x3e, 0x43, 0x0b, 0xf2, 0x49, 0x58, 0x9d, 0x5e, 0x58, 0x82, 0x71, 0x6e, 0x98, - 0x63, 0xa4, 0xee, 0x5f, 0x59, 0xe8, 0xd9, 0x2c, 0xeb, 0xbe, 0x36, 0xbd, 0xbc, 0x0c, 0xd4, 0xa9, - 0x17, 0x86, 0x4a, 0x8b, 0x7e, 0x6e, 0xa1, 0xb3, 0x1a, 0x17, 0x7e, 0x75, 0x7a, 0x99, 0x2a, 0xce, - 0xf9, 0x4e, 0x31, 0x9c, 0x66, 0x88, 0xc6, 0x8b, 0x1b, 0x18, 0xa2, 0xe2, 0x4c, 0x0c, 0xc9, 0x63, - 0xbe, 0x21, 0x5c, 0x14, 0xde, 0xdb, 0x20, 0x5c, 0x52, 0x94, 0x49, 0xb8, 0x8c, 0x12, 0xde, 0x70, - 0x16, 0x1a, 0xdd, 0x6d, 0x70, 0x16, 0x2a, 0xce, 0xe4, 0x2c, 0xf2, 0x18, 0x70, 0xfb, 0xf7, 0x16, - 0xb2, 0x73, 0xf8, 0x6f, 0x83, 0xdd, 0x8d, 0xa2, 0x9d, 0xf5, 0x93, 0xa0, 0xa5, 0x69, 0x3f, 0xb3, - 0xd0, 0x19, 0x95, 0x45, 0x7f, 0xdb, 0x44, 0xaa, 0x84, 0x39, 0xb7, 0x0a, 0xc1, 0xa4, 0x15, 0x7f, - 0xb4, 0xd0, 0x0b, 0x79, 0xfc, 0xb5, 0x81, 0xd8, 0x1c, 0xb8, 0xb3, 0x71, 0x22, 0xb8, 0xb4, 0xee, - 0x27, 0xe8, 0x74, 0xca, 0x74, 0x5f, 0x31, 0x7d, 0xc1, 0xdb, 0x98, 0x39, 0x37, 0x0b, 0x80, 0x34, - 0x37, 0xd6, 0x58, 0xeb, 0xab, 0x46, 0x51, 0x21, 0x71, 0x26, 0x6e, 0x9c, 0x47, 0x65, 0x83, 0xaf, - 0xa8, 0x44, 0xb6, 0x81, 0xaf, 0x28, 0x30, 0x13, 0x5f, 0xc9, 0x21, 0xbd, 0xed, 0x87, 0x16, 0x5a, - 0xcc, 0x50, 0xde, 0xd7, 0x8d, 0x92, 0x99, 0x82, 0x74, 0xde, 0x29, 0x8a, 0x94, 0xe6, 0xfc, 0xce, - 0x42, 0xcf, 0x8f, 0xf2, 0xde, 0x37, 0x4d, 0xe2, 0x21, 0x03, 0x76, 0x9a, 0x27, 0x00, 0x4b, 0xbb, - 0xbe, 0xb0, 0x50, 0x79, 0x2c, 0x1f, 0xde, 0x30, 0xd6, 0x30, 0x22, 0xc3, 0xf9, 0xee, 0xc9, 0x65, - 0xe8, 0xf1, 0x9f, 0x43, 0x99, 0xdf, 0x32, 0xf3, 0xd8, 0x0c, 0xdc, 0x28, 0xfe, 0xc7, 0x53, 0xea, - 0x50, 0x6e, 0x64, 0xf9, 0xf4, 0x35, 0xf3, 0x88, 0x16, 0x50, 0x93, 0x72, 0x63, 0x0c, 0x75, 0x6e, - 0x1f, 0xa2, 0x67, 0x12, 0xde, 0xfc, 0xb2, 0x71, 0x21, 0xe7, 0xac, 0x19, 0x43, 0xb4, 0xa3, 0xc8, - 0x32, 0xea, 0x6b, 0xa6, 0x8e, 0x50, 0xe8, 0x28, 0xc6, 0xb0, 0xee, 0x60, 0x51, 0x96, 0x73, 0x5f, - 0x2b, 0x52, 0x36, 0x70, 0x97, 0xa9, 0x17, 0x86, 0x6a, 0x55, 0xba, 0xce, 0xc5, 0x5f, 0x33, 0x12, - 0x9a, 0x02, 0x4d, 0xaa, 0xf4, 0x5c, 0x8e, 0x1e, 0x6c, 0xd1, 0x09, 0x7a, 0x03, 0x5b, 0x34, 0xa0, - 0x89, 0x2d, 0xb9, 0x5c, 0x3b, 0xd8, 0xa2, 0x33, 0xed, 0xd7, 0x4c, 0x23, 0x21, 0xa9, 0x7d, 0x6e, - 0x17, 0x04, 0x4a, 0x5b, 0xfe, 0x6c, 0xa1, 0x17, 0xf3, 0x29, 0x79, 0x13, 0xd1, 0x79, 0x02, 0x9c, - 0xcd, 0x13, 0x0a, 0xd0, 0x6c, 0xcc, 0x67, 0xe0, 0x6f, 0x9b, 0x84, 0x4d, 0x8e, 0x00, 0x13, 0x1b, - 0x27, 0x52, 0xe9, 0x90, 0x8c, 0x33, 0x44, 0xfa, 0x75, 0x13, 0xd9, 0x2a, 0xd2, 0x24, 0x19, 0xe7, - 0xf3, 0xed, 0xf6, 0x5f, 0x2d, 0x74, 0x61, 0x3c, 0xdb, 0x6e, 0x94, 0x57, 0xc7, 0x08, 0x71, 0xee, - 0x3d, 0x05, 0x21, 0x7a, 0x87, 0xa2, 0x52, 0xf7, 0x26, 0x1d, 0x8a, 0x82, 0x33, 0xea, 0x50, 0x72, - 0x68, 0x74, 0xb8, 0xc7, 0x0c, 0x89, 0x7e, 0xdd, 0x28, 0xde, 0x15, 0xa4, 0xc9, 0x3d, 0xe6, 0x33, - 0xee, 0xf0, 0xa8, 0x67, 0xf9, 0x76, 0x83, 0x47, 0x3d, 0x03, 0x35, 0x79, 0xd4, 0xc7, 0xf1, 0xf1, - 0x71, 0x85, 0x92, 0xc7, 0xb9, 0xdf, 0x32, 0xef, 0xd7, 0x55, 0xcb, 0x36, 0x4e, 0x04, 0xd7, 0x8a, - 0xd0, 0x51, 0xe6, 0xfd, 0xa6, 0xd1, 0x3d, 0xe8, 0x60, 0x93, 0x22, 0x74, 0x2c, 0x13, 0x0f, 0xfe, - 0xad, 0xf1, 0xf0, 0x57, 0x4d, 0xa5, 0x9a, 0x77, 0xe0, 0x79, 0xe4, 0x7c, 0xe2, 0xdf, 0x2a, 0x35, - 0x6f, 0xe6, 0xdf, 0x0a, 0xd2, 0xd0, 0xbf, 0x73, 0x58, 0x7c, 0xfb, 0x37, 0x16, 0x7a, 0x6e, 0x84, - 0xc3, 0xbf, 0x61, 0x2c, 0x56, 0x62, 0x9d, 0x46, 0x71, 0xac, 0x96, 0x9f, 0x75, 0xaa, 0xdf, 0x20, - 0x3f, 0x6b, 0x40, 0x93, 0xfc, 0x9c, 0xcb, 0xf2, 0xc7, 0x2d, 0x77, 0xca, 0xf0, 0x5f, 0x31, 0x0b, - 0x5f, 0xfe, 0x22, 0xde, 0x2c, 0x00, 0xd2, 0xc8, 0x2b, 0x85, 0x8d, 0x7f, 0xcb, 0xd4, 0xfb, 0x62, - 0x94, 0x09, 0x79, 0x35, 0x4a, 0xd2, 0x43, 0xb3, 0xad, 0x52, 0xf4, 0x6f, 0x1b, 0x73, 0x50, 0x31, - 0xcc, 0xa4, 0xd9, 0xce, 0xa1, 0xf3, 0xe1, 0x61, 0x19, 0x25, 0xf3, 0x0d, 0xce, 0x76, 0x04, 0x6c, - 0xf2, 0xb0, 0x8c, 0xfd, 0x07, 0x00, 0xfb, 0x4f, 0x16, 0x5a, 0xca, 0xa5, 0xff, 0x4d, 0x68, 0xcb, - 0x1c, 0xbc, 0x73, 0xe7, 0x64, 0xf8, 0xc4, 0xc0, 0x46, 0xeb, 0xcb, 0xc7, 0x15, 0xeb, 0xab, 0xc7, - 0x15, 0xeb, 0xbf, 0x8f, 0x2b, 0xd6, 0xaf, 0x9f, 0x54, 0x66, 0xbe, 0x7a, 0x52, 0x99, 0xf9, 0xd7, - 0x93, 0xca, 0xcc, 0xc7, 0xd7, 0x95, 0xff, 0x88, 0x6a, 0x44, 0x57, 0xad, 0x29, 0xff, 0x2a, 0xe1, - 0x53, 0xf5, 0x4f, 0x2c, 0x8e, 0x06, 0x38, 0xda, 0x99, 0x87, 0xbf, 0x41, 0xb8, 0xf2, 0xff, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x74, 0x52, 0xb5, 0x13, 0x86, 0x31, 0x00, 0x00, + // 2531 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5b, 0xd1, 0x6f, 0x1c, 0x47, + 0x19, 0xf7, 0xfa, 0x6c, 0xc7, 0x1e, 0x27, 0x6e, 0xbb, 0x75, 0xd3, 0xcb, 0x36, 0x3d, 0xbb, 0x4b, + 0x5b, 0xf2, 0xc2, 0x1d, 0x76, 0xda, 0xc4, 0x4e, 0x30, 0xe9, 0xdd, 0xd9, 0x71, 0x43, 0x70, 0x13, + 0xf6, 0xdc, 0x96, 0x86, 0x0a, 0xb4, 0xde, 0x1b, 0x9f, 0x57, 0xbe, 0xdb, 0x39, 0x66, 0xe7, 0xec, + 0x3a, 0x12, 0x12, 0x12, 0x12, 0xa2, 0x52, 0x04, 0x08, 0x81, 0x84, 0x40, 0x42, 0xe1, 0x81, 0x97, + 0x4a, 0xbc, 0x21, 0xf1, 0x2f, 0xf4, 0xb1, 0xbc, 0x20, 0xc4, 0x43, 0x40, 0xc9, 0x0b, 0x7f, 0x06, + 0xda, 0x99, 0xd9, 0xd9, 0x99, 0xbd, 0xbd, 0xf5, 0xcd, 0x3a, 0x52, 0xa5, 0xde, 0xec, 0xce, 0xef, + 0xfb, 0xbe, 0x99, 0xfd, 0xbe, 0xf9, 0xbe, 0xef, 0x37, 0x31, 0xb8, 0xec, 0xb9, 0xb8, 0xed, 0x1d, + 0xb8, 0x7e, 0x50, 0x4b, 0x7e, 0x91, 0xcf, 0xaa, 0x7d, 0x8c, 0x08, 0x32, 0xdf, 0xda, 0x84, 0x1e, + 0x0c, 0x08, 0x76, 0xbb, 0x4d, 0x17, 0xb7, 0xb7, 0xdd, 0x1e, 0xac, 0x8a, 0x59, 0xc9, 0x2f, 0x6b, + 0xb1, 0x83, 0x3a, 0x88, 0x22, 0x6a, 0xd1, 0x2f, 0x06, 0xb6, 0xde, 0xc8, 0x12, 0xed, 0xa1, 0x41, + 0xe0, 0xf9, 0x5d, 0x3e, 0x65, 0x29, 0x6b, 0x4a, 0xcf, 0x25, 0xde, 0x01, 0x9f, 0xb0, 0x9c, 0x35, + 0xe1, 0x08, 0x11, 0x3f, 0xe8, 0xf0, 0x19, 0x95, 0x4c, 0x2d, 0x2e, 0x6e, 0x8b, 0xf7, 0x28, 0xec, + 0xa1, 0xb0, 0xb6, 0xe7, 0x86, 0xb0, 0x76, 0xb4, 0xb2, 0x07, 0x89, 0xbb, 0x52, 0xf3, 0x90, 0x1f, + 0xb0, 0xf7, 0xf6, 0x27, 0xe0, 0xc2, 0x4e, 0xd8, 0x69, 0x62, 0xe8, 0x12, 0x38, 0x08, 0x21, 0x36, + 0xcb, 0xe0, 0x9c, 0x17, 0x8d, 0x10, 0x2e, 0x1b, 0xcb, 0xc6, 0x95, 0x39, 0x27, 0x1e, 0x46, 0x6f, + 0x02, 0x78, 0xfc, 0x61, 0x08, 0x71, 0x79, 0x92, 0xbd, 0xe1, 0x43, 0x73, 0x11, 0x4c, 0xbb, 0x5d, + 0xdf, 0x0d, 0xcb, 0x25, 0xfa, 0x9c, 0x0d, 0xec, 0x57, 0xc1, 0x2b, 0x8a, 0x68, 0x07, 0x86, 0x7d, + 0x14, 0x84, 0xd0, 0xfe, 0xad, 0x01, 0x5e, 0xdc, 0x09, 0x3b, 0x8d, 0xc1, 0x49, 0xb4, 0xad, 0x2d, + 0xef, 0x00, 0xf6, 0x60, 0x8e, 0xde, 0x4f, 0x41, 0x69, 0xcf, 0x6f, 0x53, 0x9d, 0xf3, 0xab, 0x97, + 0xaa, 0x6c, 0x41, 0xd5, 0x68, 0x41, 0x55, 0xbe, 0xa0, 0x6a, 0x13, 0xf9, 0x41, 0xa3, 0xf6, 0xe5, + 0x93, 0xa5, 0x89, 0x2f, 0xfe, 0xb3, 0xf4, 0xf5, 0x8e, 0x4f, 0x0e, 0x06, 0x7b, 0x55, 0x0f, 0xf5, + 0x6a, 0x7c, 0xf5, 0xec, 0x7f, 0xdf, 0x08, 0xdb, 0x87, 0x35, 0x72, 0xd2, 0x87, 0x21, 0x05, 0x38, + 0x91, 0xd8, 0x1b, 0xb3, 0xbf, 0x78, 0xbc, 0x34, 0xf1, 0xbf, 0xc7, 0x4b, 0x13, 0xf6, 0x2a, 0x28, + 0xa7, 0xad, 0x8a, 0x4d, 0x36, 0x2f, 0x82, 0x99, 0x68, 0x53, 0xef, 0xb4, 0xa9, 0x71, 0x53, 0x0e, + 0x1f, 0xd9, 0x8f, 0x0c, 0x30, 0xbf, 0x13, 0x76, 0x3e, 0x42, 0x04, 0x46, 0xa8, 0x9c, 0x55, 0x24, + 0x12, 0x26, 0x65, 0x09, 0xe6, 0x5d, 0x30, 0x7b, 0x84, 0x08, 0xdc, 0x3d, 0xe9, 0x43, 0xba, 0x7d, + 0x0b, 0xab, 0xb5, 0xea, 0x58, 0x6e, 0x57, 0xfd, 0x88, 0xc3, 0x1c, 0x21, 0xc0, 0xde, 0x00, 0x2f, + 0x4b, 0xd6, 0x08, 0xeb, 0xdf, 0x06, 0x0b, 0xae, 0x8f, 0xdb, 0x18, 0xf5, 0x9b, 0x5d, 0xd7, 0xef, + 0x41, 0xb6, 0x8a, 0x59, 0x27, 0xf5, 0xd4, 0xfe, 0x9b, 0x01, 0xcc, 0x9d, 0xb0, 0xd3, 0x72, 0x8f, + 0x28, 0xbe, 0x89, 0x02, 0x02, 0x03, 0x52, 0x60, 0x51, 0x11, 0x82, 0x81, 0xe9, 0x9a, 0xce, 0x3b, + 0xf1, 0x30, 0x72, 0x95, 0x00, 0x11, 0x18, 0x96, 0xa7, 0x98, 0xab, 0xd0, 0x41, 0x24, 0xc7, 0xc5, + 0xc4, 0x0f, 0x49, 0x79, 0x9a, 0x3e, 0xe6, 0x23, 0xf3, 0x4d, 0x70, 0x61, 0xcf, 0xed, 0xba, 0x81, + 0x07, 0xeb, 0x81, 0x77, 0x80, 0x70, 0x79, 0x86, 0xda, 0xad, 0x3e, 0xb4, 0x37, 0x81, 0x35, 0x6c, + 0xb5, 0xf6, 0xe2, 0x7f, 0x04, 0x5e, 0xd8, 0x09, 0x3b, 0xbb, 0xd8, 0x0d, 0xc2, 0x7d, 0x88, 0x0b, + 0x7e, 0x4d, 0x0b, 0xcc, 0x62, 0xe8, 0x41, 0xff, 0x08, 0x62, 0xbe, 0x42, 0x31, 0xb6, 0x2f, 0x81, + 0x57, 0x53, 0x0a, 0x44, 0x44, 0x3c, 0x32, 0xa8, 0xf2, 0x4d, 0x14, 0xb8, 0x04, 0xee, 0xa2, 0x82, + 0xca, 0xb7, 0xc1, 0x8c, 0xdb, 0x43, 0x03, 0xbe, 0xe9, 0x73, 0x2c, 0x20, 0xfe, 0xfd, 0x64, 0xfc, + 0x80, 0xe0, 0x70, 0x6e, 0xa9, 0x6c, 0x8d, 0xb0, 0xf4, 0xc7, 0xf4, 0xbc, 0xa8, 0xb7, 0xdb, 0x75, + 0x4c, 0x8e, 0x11, 0x3e, 0x2c, 0x60, 0xe6, 0x22, 0x98, 0xf6, 0x7b, 0x6e, 0x07, 0x72, 0xd7, 0x60, + 0x83, 0x48, 0xce, 0xfe, 0xa0, 0xdb, 0xad, 0x63, 0x42, 0x37, 0x6e, 0xd6, 0x89, 0x87, 0xfc, 0x1c, + 0x49, 0x54, 0x0a, 0x5b, 0x7e, 0x40, 0x37, 0xad, 0x79, 0xe0, 0x06, 0x1d, 0x58, 0x67, 0x0e, 0x73, + 0xba, 0x35, 0x9b, 0x8a, 0x35, 0x9b, 0x92, 0xeb, 0x95, 0x64, 0xd7, 0xe3, 0x7b, 0x20, 0x0b, 0x17, + 0x7a, 0x57, 0xa8, 0x41, 0x0e, 0xec, 0xf8, 0x21, 0x81, 0xf8, 0x36, 0xc2, 0x4d, 0x76, 0xaa, 0x8f, + 0xd6, 0x6e, 0x2f, 0x81, 0xd7, 0x33, 0x21, 0x42, 0xe6, 0x3f, 0x0d, 0xb0, 0x40, 0x67, 0xf4, 0x11, + 0x26, 0x3b, 0x51, 0x0a, 0xc8, 0x3f, 0x89, 0x69, 0x96, 0x10, 0x5b, 0x1b, 0x0f, 0x4d, 0x1b, 0x9c, + 0xef, 0x77, 0xdd, 0x13, 0xd8, 0x8e, 0x3e, 0x5a, 0x58, 0x2f, 0x97, 0x96, 0x4b, 0x57, 0xa6, 0x1c, + 0xe5, 0x59, 0x6a, 0x4e, 0xa3, 0x3c, 0x35, 0x34, 0xa7, 0x61, 0xbe, 0x0f, 0xce, 0xa1, 0x01, 0xf1, + 0x50, 0x0f, 0xd2, 0x88, 0x5c, 0x58, 0xad, 0x8e, 0x79, 0x28, 0xdd, 0x63, 0x28, 0x27, 0x86, 0xdb, + 0xab, 0xe0, 0xa2, 0xba, 0x2e, 0x11, 0x98, 0xd2, 0x2a, 0x0c, 0x65, 0x15, 0xf6, 0x07, 0x14, 0x53, + 0xef, 0x23, 0x3f, 0x88, 0x31, 0x11, 0x3c, 0x37, 0x3b, 0xd1, 0xc8, 0x63, 0xb3, 0x78, 0x7a, 0x12, + 0x63, 0x7b, 0x19, 0x54, 0xb2, 0xe5, 0x89, 0xed, 0xff, 0x83, 0x01, 0xce, 0x8b, 0x64, 0xd5, 0x82, + 0x79, 0x8e, 0x64, 0x82, 0xa9, 0xc0, 0xed, 0x41, 0xae, 0x84, 0xfe, 0x1e, 0xe5, 0x44, 0xe6, 0x32, + 0x98, 0x0f, 0x09, 0xc2, 0x27, 0x1f, 0x63, 0x9f, 0x88, 0x13, 0x41, 0x7e, 0x14, 0x7d, 0x8c, 0xe8, + 0x68, 0xc4, 0xfe, 0xde, 0x80, 0x20, 0x1c, 0x96, 0xa7, 0x97, 0x4b, 0x57, 0xe6, 0x1c, 0xe5, 0x99, + 0x7d, 0x11, 0x2c, 0xca, 0xb6, 0x09, 0xa3, 0x3f, 0xa1, 0xfe, 0x5f, 0x6f, 0xd3, 0x8f, 0xb6, 0x8b, + 0xf2, 0xcd, 0x5e, 0x04, 0xd3, 0x21, 0x24, 0xc2, 0x63, 0xd8, 0x40, 0x8a, 0xd1, 0x92, 0x92, 0xd7, + 0x98, 0xf7, 0xcb, 0xa2, 0x85, 0xd6, 0xf7, 0xa8, 0xa3, 0xde, 0xf6, 0x03, 0xb7, 0xeb, 0x3f, 0x84, + 0x05, 0x94, 0xda, 0x65, 0xfa, 0x79, 0x25, 0x09, 0x42, 0x76, 0x13, 0xbc, 0xc4, 0x52, 0x70, 0x03, + 0xa1, 0x28, 0x50, 0xee, 0xbb, 0xde, 0xa1, 0xb6, 0xf8, 0x26, 0xb8, 0x34, 0x24, 0x44, 0x3b, 0x1b, + 0xfc, 0x90, 0xee, 0xb9, 0x03, 0x7b, 0x88, 0x65, 0x95, 0xdb, 0x18, 0xf5, 0x9e, 0xe7, 0x06, 0x57, + 0xc0, 0xe5, 0x2c, 0xf9, 0x62, 0x27, 0x5c, 0xf0, 0x5a, 0xf2, 0x3e, 0x71, 0x86, 0xa2, 0x66, 0x98, + 0x60, 0x2a, 0x2a, 0xc1, 0xb8, 0x7b, 0xd2, 0xdf, 0xf6, 0x5b, 0xe0, 0x6b, 0x39, 0x2a, 0x84, 0x25, + 0x9f, 0xb2, 0x60, 0x6c, 0xb7, 0xa5, 0x39, 0xc5, 0x9c, 0x2d, 0xcb, 0x08, 0x1e, 0x9a, 0xc3, 0xd2, + 0x85, 0xfe, 0xcf, 0x59, 0x51, 0x12, 0xbb, 0x7f, 0xb7, 0x7b, 0x6f, 0x7f, 0x3f, 0xf7, 0x24, 0x30, + 0xc1, 0x54, 0xb4, 0xc9, 0x5c, 0x37, 0xfd, 0x6d, 0x6e, 0x81, 0xe9, 0x3e, 0xf6, 0x3d, 0x58, 0x34, + 0x33, 0x32, 0xb4, 0x7d, 0x99, 0x56, 0x1a, 0x29, 0x53, 0x84, 0xa5, 0xef, 0x03, 0x90, 0x14, 0x90, + 0x39, 0x06, 0x46, 0xa7, 0x42, 0x0c, 0x16, 0x7b, 0x24, 0x3f, 0xb2, 0x17, 0xe9, 0x92, 0xb9, 0x24, + 0x21, 0xff, 0x3e, 0x7d, 0xca, 0x3e, 0xd8, 0x38, 0x1b, 0x71, 0xba, 0x1e, 0xb6, 0x9e, 0x94, 0x44, + 0xa1, 0xef, 0x01, 0xd5, 0x97, 0x24, 0xde, 0x62, 0x5f, 0x3d, 0x33, 0xdd, 0x73, 0xcd, 0x29, 0xd9, + 0x42, 0xf3, 0xf7, 0x69, 0x83, 0x50, 0x6f, 0xb7, 0x5b, 0xd1, 0x51, 0x59, 0x58, 0x2f, 0x3d, 0x68, + 0xe3, 0xa6, 0x84, 0x0e, 0x6c, 0x8b, 0x16, 0xf9, 0x8a, 0x64, 0xa1, 0xf5, 0x2f, 0xac, 0x2f, 0x69, + 0x41, 0x42, 0xb7, 0xdd, 0xc5, 0x3e, 0x39, 0x29, 0x56, 0xdf, 0x30, 0x73, 0x4a, 0xb2, 0x39, 0x77, + 0xc0, 0x0c, 0xa6, 0x12, 0x69, 0x16, 0x58, 0x58, 0x5d, 0x19, 0x33, 0xa1, 0x26, 0xa6, 0x38, 0x5c, + 0x00, 0x5f, 0x83, 0x62, 0xa6, 0x58, 0xc3, 0x26, 0x5d, 0x02, 0xf3, 0xd0, 0x53, 0xcb, 0x92, 0x51, + 0x4b, 0xe0, 0x1a, 0x14, 0x29, 0x42, 0xc3, 0x2f, 0x0d, 0xf6, 0x12, 0xf5, 0x7a, 0x3e, 0x49, 0xbd, + 0x3c, 0x2d, 0x3f, 0xb3, 0x59, 0x49, 0x7e, 0xe6, 0xa8, 0xcb, 0x60, 0x8e, 0x37, 0xc6, 0x62, 0xd7, + 0x92, 0x07, 0x66, 0x05, 0x80, 0x70, 0xd0, 0xe9, 0xc0, 0x90, 0xf8, 0x28, 0xe0, 0x39, 0x54, 0x7a, + 0x62, 0xdb, 0x60, 0x79, 0x94, 0x3d, 0xc2, 0xe8, 0xbf, 0x33, 0xa3, 0x1d, 0x78, 0x04, 0xdd, 0xee, + 0xf8, 0x46, 0xdf, 0x4d, 0x19, 0x3d, 0x7e, 0x73, 0x26, 0x2c, 0x48, 0x56, 0x79, 0x11, 0xcc, 0x84, + 0xd0, 0xc3, 0x50, 0x14, 0x09, 0x6c, 0xa4, 0xae, 0x7e, 0x2a, 0xb5, 0x7a, 0xbe, 0xba, 0x4c, 0xc3, + 0xc5, 0xea, 0xee, 0xd2, 0xb4, 0xe9, 0xc0, 0x90, 0xb8, 0x98, 0x9c, 0xfe, 0xd5, 0x15, 0x85, 0x93, + 0x69, 0x85, 0xaf, 0xd1, 0xf4, 0xa9, 0x0a, 0x13, 0x9a, 0xd6, 0x78, 0xda, 0x3a, 0x46, 0x87, 0x89, + 0x63, 0x44, 0x45, 0x2d, 0x76, 0xa3, 0x6f, 0x91, 0x53, 0x01, 0xbf, 0x0d, 0xde, 0xcc, 0x43, 0x0a, + 0x0d, 0x4f, 0x59, 0x2b, 0xd4, 0x44, 0xc1, 0xbe, 0x8f, 0x7b, 0xc5, 0x2b, 0x61, 0xa9, 0x82, 0x2d, + 0x9d, 0xa9, 0x82, 0x35, 0xbf, 0x07, 0x40, 0xd4, 0x60, 0xb3, 0xd2, 0x98, 0x56, 0xcb, 0xf3, 0x63, + 0x47, 0x6f, 0xcb, 0x0f, 0x3a, 0x5d, 0x18, 0x35, 0xe4, 0x8e, 0x24, 0x24, 0x6e, 0x2e, 0xa4, 0x35, + 0x8a, 0xf5, 0x6f, 0xd1, 0x6f, 0xd9, 0x82, 0xe4, 0x3e, 0x46, 0xfb, 0x7e, 0xb7, 0x20, 0xad, 0xc0, + 0xbf, 0xa2, 0x2a, 0x46, 0xe8, 0xd8, 0xa5, 0x07, 0xfb, 0xbd, 0x3e, 0x0c, 0xc6, 0xab, 0xb3, 0xa2, + 0x36, 0x3c, 0x99, 0x28, 0x74, 0xa9, 0x0f, 0xed, 0x6b, 0xf4, 0x48, 0x4f, 0x49, 0x55, 0x82, 0x8c, + 0x9a, 0x16, 0x96, 0x0d, 0xda, 0x70, 0xc4, 0x43, 0x9b, 0xd0, 0x02, 0x23, 0xee, 0x8b, 0x9f, 0xa3, + 0x45, 0x4a, 0x37, 0x5e, 0x4a, 0x75, 0xe3, 0xac, 0xf0, 0xc8, 0xd0, 0x2a, 0x76, 0xe9, 0x80, 0x96, + 0x80, 0x2d, 0x48, 0xa2, 0xff, 0xa4, 0x92, 0x5d, 0x37, 0x11, 0xa5, 0x9a, 0x80, 0xd2, 0x50, 0x13, + 0xc0, 0x8b, 0xc1, 0x21, 0x4d, 0xa9, 0x42, 0x9f, 0xbd, 0x3f, 0xb5, 0xd1, 0x1d, 0x59, 0x87, 0xe6, + 0xb4, 0xb9, 0xb2, 0x68, 0xa1, 0x75, 0x3b, 0xf6, 0xc4, 0x0f, 0x43, 0x88, 0x3f, 0x86, 0x7b, 0xa1, + 0x4f, 0x60, 0x7e, 0x28, 0x1e, 0xb3, 0x49, 0x31, 0x3d, 0xc8, 0x87, 0x89, 0x2f, 0x4a, 0x82, 0x84, + 0x96, 0x1d, 0x4a, 0x59, 0xf1, 0x97, 0x0d, 0x1f, 0x75, 0xb0, 0xdb, 0x3f, 0x38, 0xc9, 0x3f, 0xbd, + 0xf6, 0xe2, 0x69, 0x5c, 0x53, 0xf2, 0xc0, 0x7e, 0x9d, 0xd6, 0xcd, 0x69, 0x71, 0x42, 0xdb, 0x80, + 0xa6, 0xc7, 0x9d, 0x41, 0x97, 0xf8, 0x63, 0x70, 0x76, 0xdb, 0x60, 0xfa, 0x88, 0x92, 0x55, 0x93, + 0x45, 0x83, 0x9e, 0xe1, 0x79, 0x3e, 0x55, 0xd4, 0x0a, 0x93, 0x1e, 0xb3, 0xd6, 0x33, 0x8a, 0x9b, + 0x31, 0x4e, 0x3b, 0xda, 0xa5, 0xe3, 0x7a, 0xbc, 0xc5, 0x7c, 0x98, 0xbc, 0x69, 0xf0, 0xef, 0x1b, + 0x0f, 0x23, 0xef, 0xe3, 0x93, 0x36, 0xa1, 0x77, 0xc8, 0x9b, 0x7d, 0xf9, 0x51, 0x32, 0xa3, 0x41, + 0x67, 0x4c, 0xcb, 0x33, 0xe8, 0x23, 0xfb, 0x9b, 0x34, 0x12, 0x84, 0x85, 0x63, 0x74, 0xf0, 0x2d, + 0x4a, 0x13, 0x31, 0xb7, 0xfa, 0xc0, 0xcd, 0xa5, 0x77, 0x47, 0xf6, 0x0a, 0xb4, 0xcb, 0x2e, 0x25, + 0x5d, 0x36, 0x27, 0x82, 0x12, 0xa1, 0xa9, 0x96, 0x94, 0x73, 0x35, 0x5d, 0xdf, 0x0d, 0xf3, 0xd5, + 0x31, 0xae, 0x7a, 0x52, 0xe6, 0xaa, 0x59, 0x4b, 0x2a, 0x49, 0x90, 0x0a, 0xaa, 0x68, 0xed, 0x77, + 0x82, 0x23, 0x9f, 0xc0, 0x2d, 0x17, 0x77, 0x4f, 0xea, 0x9e, 0x07, 0xc3, 0x30, 0xbf, 0xff, 0x18, + 0x24, 0x24, 0x39, 0x6b, 0x73, 0x58, 0x84, 0x0f, 0x49, 0x91, 0x62, 0x8d, 0x32, 0x6e, 0x7e, 0xe8, + 0x9f, 0x51, 0xd1, 0x1b, 0x60, 0x69, 0x84, 0x20, 0xa1, 0xeb, 0xbb, 0x6c, 0xad, 0x28, 0x08, 0xa0, + 0x47, 0x1e, 0x40, 0x97, 0x4e, 0x40, 0x83, 0x5c, 0xa2, 0xb7, 0x0c, 0xce, 0x3d, 0x8c, 0x66, 0xf2, + 0xcf, 0x34, 0xe7, 0xc4, 0x43, 0x7e, 0x8e, 0x66, 0x48, 0x8b, 0xf5, 0xad, 0xfe, 0x63, 0x05, 0x94, + 0x76, 0xc2, 0x8e, 0xf9, 0x53, 0x03, 0x00, 0xe9, 0xa2, 0xe1, 0x9d, 0x31, 0xa3, 0x49, 0xb9, 0x43, + 0xb0, 0xbe, 0x55, 0x04, 0x25, 0x1c, 0xf6, 0x73, 0x03, 0x5c, 0x50, 0xaf, 0x1d, 0xae, 0x8f, 0x2f, + 0x4f, 0x01, 0x5a, 0xb7, 0x0a, 0x02, 0x85, 0x2d, 0x0f, 0xc1, 0xac, 0x38, 0x82, 0x56, 0xc7, 0x17, + 0x16, 0x63, 0xac, 0x1b, 0xfa, 0x18, 0xa1, 0xfb, 0x57, 0x06, 0x78, 0x21, 0xcd, 0xf2, 0xaf, 0x8f, + 0x2f, 0x2f, 0x05, 0xb5, 0xea, 0x85, 0xa1, 0xc2, 0xa2, 0x9f, 0x1b, 0xe0, 0xbc, 0xc2, 0xbd, 0x5f, + 0x1b, 0x5f, 0xa6, 0x8c, 0xb3, 0xbe, 0x5d, 0x0c, 0xa7, 0x18, 0xa2, 0xf0, 0xf0, 0x1a, 0x86, 0xc8, + 0x38, 0x1d, 0x43, 0xb2, 0x98, 0x76, 0x1a, 0x2e, 0x12, 0xcf, 0xae, 0x11, 0x2e, 0x09, 0x4a, 0x27, + 0x5c, 0x86, 0x09, 0x76, 0xba, 0x17, 0x0a, 0xbd, 0xae, 0xb1, 0x17, 0x32, 0x4e, 0x67, 0x2f, 0xb2, + 0x18, 0x77, 0xf3, 0xf7, 0x06, 0x30, 0x33, 0xf8, 0x76, 0x8d, 0xd5, 0x0d, 0xa3, 0xad, 0xcd, 0xb3, + 0xa0, 0x85, 0x69, 0x3f, 0x33, 0xc0, 0xbc, 0xcc, 0xda, 0xbf, 0xab, 0x23, 0x55, 0xc0, 0xac, 0x8d, + 0x42, 0x30, 0x61, 0xc5, 0x1f, 0x0d, 0xf0, 0x72, 0x16, 0x5f, 0xae, 0x21, 0x36, 0x03, 0x6e, 0x6d, + 0x9d, 0x09, 0x2e, 0xac, 0xfb, 0x09, 0x98, 0x4b, 0x98, 0xf5, 0xab, 0xba, 0x27, 0x78, 0x0b, 0x12, + 0xeb, 0x66, 0x01, 0x90, 0xe2, 0xc6, 0x0a, 0x4b, 0x7e, 0x4d, 0x2b, 0x2a, 0x04, 0x4e, 0xc7, 0x8d, + 0xb3, 0xa8, 0x73, 0xea, 0x2b, 0x32, 0x71, 0xae, 0xe1, 0x2b, 0x12, 0x4c, 0xc7, 0x57, 0x32, 0x48, + 0x76, 0xf3, 0x91, 0x01, 0x16, 0x52, 0x14, 0xfb, 0x9a, 0x56, 0x32, 0x93, 0x90, 0xd6, 0x7b, 0x45, + 0x91, 0xc2, 0x9c, 0xdf, 0x19, 0xe0, 0xa5, 0x61, 0x9e, 0xfd, 0xa6, 0x4e, 0x3c, 0xa4, 0xc0, 0x56, + 0xf3, 0x0c, 0x60, 0x61, 0xd7, 0x17, 0x06, 0x28, 0x8f, 0xe4, 0xdf, 0x1b, 0xda, 0x1a, 0x86, 0x64, + 0x58, 0xdf, 0x39, 0xbb, 0x0c, 0x35, 0xfe, 0x33, 0x28, 0xfa, 0x0d, 0x3d, 0x8f, 0x4d, 0xc1, 0xb5, + 0xe2, 0x7f, 0x34, 0x85, 0x4f, 0xcb, 0x8d, 0x34, 0x7f, 0xbf, 0xae, 0x1f, 0xd1, 0x1c, 0xaa, 0x53, + 0x6e, 0x8c, 0xa0, 0xea, 0xcd, 0x63, 0x70, 0x2e, 0xe6, 0xe9, 0x57, 0xb4, 0x0b, 0x39, 0x6b, 0x5d, + 0x1b, 0xa2, 0x6c, 0x45, 0x9a, 0xc1, 0x5f, 0xd7, 0x75, 0x84, 0x42, 0x5b, 0x31, 0x82, 0xe5, 0xa7, + 0x16, 0xa5, 0x39, 0xfe, 0xf5, 0x22, 0x65, 0x03, 0x73, 0x99, 0x7a, 0x61, 0xa8, 0x52, 0xa5, 0xab, + 0xdc, 0xff, 0x75, 0x2d, 0xa1, 0x09, 0x50, 0xa7, 0x4a, 0xcf, 0xbc, 0x13, 0xa0, 0xb6, 0xa8, 0x17, + 0x02, 0x1a, 0xb6, 0x28, 0x40, 0x1d, 0x5b, 0x32, 0xb9, 0x7d, 0x6a, 0x8b, 0xca, 0xec, 0x5f, 0xd7, + 0x8d, 0x84, 0xb8, 0xf6, 0xb9, 0x55, 0x10, 0x28, 0x6c, 0xf9, 0xb3, 0x01, 0x5e, 0xc9, 0xbe, 0x02, + 0xd0, 0x11, 0x9d, 0x25, 0xc0, 0xda, 0x3e, 0xa3, 0x00, 0xc5, 0xc6, 0x6c, 0xc6, 0xff, 0x96, 0x4e, + 0xd8, 0x64, 0x08, 0xd0, 0xb1, 0x31, 0x97, 0xba, 0xa7, 0xc9, 0x38, 0x45, 0xdc, 0xaf, 0xe9, 0xc8, + 0x96, 0x91, 0x3a, 0xc9, 0x38, 0x9b, 0xdf, 0x37, 0xff, 0x6a, 0x80, 0x4b, 0xa3, 0xd9, 0x7d, 0xad, + 0xbc, 0x3a, 0x42, 0x88, 0x75, 0xf7, 0x39, 0x08, 0x51, 0x3b, 0x14, 0xf9, 0xaa, 0x40, 0xa7, 0x43, + 0x91, 0x70, 0x5a, 0x1d, 0x4a, 0x06, 0x6d, 0x4f, 0xbf, 0x63, 0x8a, 0xb4, 0x5f, 0xd3, 0x8a, 0x77, + 0x09, 0xa9, 0xf3, 0x1d, 0xb3, 0x19, 0x7e, 0x7a, 0xa8, 0xa7, 0xf9, 0x7d, 0x8d, 0x43, 0x3d, 0x05, + 0xd5, 0x39, 0xd4, 0x47, 0xf1, 0xff, 0x51, 0x85, 0x92, 0xc5, 0xf1, 0x6f, 0xe8, 0xf7, 0xeb, 0xb2, + 0x65, 0x5b, 0x67, 0x82, 0x2b, 0x45, 0xe8, 0x30, 0xd3, 0x7f, 0x53, 0xeb, 0x3b, 0xa8, 0x60, 0x9d, + 0x22, 0x74, 0x24, 0xf3, 0x4f, 0xfd, 0x5b, 0xe1, 0xfd, 0xaf, 0xe9, 0x4a, 0xd5, 0xef, 0xc0, 0xb3, + 0x2e, 0x03, 0x62, 0xff, 0x96, 0xaf, 0x02, 0xf4, 0xfc, 0x5b, 0x42, 0x6a, 0xfa, 0x77, 0xc6, 0xad, + 0x81, 0xf9, 0x1b, 0x03, 0xbc, 0x38, 0x74, 0x67, 0x70, 0x43, 0x5b, 0xac, 0xc0, 0x5a, 0x8d, 0xe2, + 0x58, 0x25, 0x3f, 0xab, 0x57, 0x0b, 0x1a, 0xf9, 0x59, 0x01, 0xea, 0xe4, 0xe7, 0xcc, 0x5b, 0x85, + 0xa8, 0xe5, 0x4e, 0x6e, 0x14, 0xae, 0xea, 0x85, 0x2f, 0x3b, 0x11, 0x6f, 0x16, 0x00, 0x29, 0xe4, + 0x95, 0xc4, 0xfe, 0xbf, 0xa3, 0xeb, 0x7d, 0x11, 0x4a, 0x87, 0xbc, 0x1a, 0xbe, 0x14, 0xa0, 0xcd, + 0xb6, 0x7c, 0x25, 0xf0, 0xae, 0x36, 0x07, 0x15, 0xc1, 0x74, 0x9a, 0xed, 0x8c, 0xeb, 0x03, 0x7a, + 0xb0, 0x0c, 0x5f, 0x1e, 0x68, 0xec, 0xed, 0x10, 0x58, 0xe7, 0x60, 0x19, 0x79, 0xe1, 0x60, 0xfe, + 0xc9, 0x00, 0x8b, 0x99, 0xd7, 0x0d, 0x3a, 0xb4, 0x65, 0x06, 0xde, 0xba, 0x7d, 0x36, 0xbc, 0x92, + 0x2f, 0xb2, 0xee, 0x28, 0x36, 0xb4, 0x12, 0x75, 0x1a, 0xae, 0x93, 0x2f, 0x72, 0xee, 0x34, 0x1a, + 0xce, 0x97, 0x4f, 0x2b, 0xc6, 0x57, 0x4f, 0x2b, 0xc6, 0x7f, 0x9f, 0x56, 0x8c, 0x5f, 0x3f, 0xab, + 0x4c, 0x7c, 0xf5, 0xac, 0x32, 0xf1, 0xaf, 0x67, 0x95, 0x89, 0x07, 0x6b, 0xd2, 0x3f, 0x29, 0x1b, + 0x52, 0x55, 0x6b, 0x8a, 0xbf, 0xd1, 0xf8, 0x4c, 0xfe, 0x83, 0x93, 0x93, 0x3e, 0x0c, 0xf7, 0x66, + 0xe8, 0x5f, 0x64, 0x5c, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x5a, 0xa1, 0xc1, 0x94, + 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4448,6 +4542,7 @@ type MsgClient interface { ChangeAlias(ctx context.Context, in *MsgChangeAlias, opts ...grpc.CallOption) (*MsgChangeAliasResponse, error) InviteEarlyAccess(ctx context.Context, in *MsgInviteEarlyAccess, opts ...grpc.CallOption) (*MsgInviteEarlyAccessResponse, error) DisinviteEarlyAccess(ctx context.Context, in *MsgDisinviteEarlyAccess, opts ...grpc.CallOption) (*MsgDisinviteEarlyAccessResponse, error) + ConnectZealyAccount(ctx context.Context, in *MsgConnectZealyAccount, opts ...grpc.CallOption) (*MsgConnectZealyAccountResponse, error) } type msgClient struct { @@ -4845,6 +4940,15 @@ func (c *msgClient) DisinviteEarlyAccess(ctx context.Context, in *MsgDisinviteEa return out, nil } +func (c *msgClient) ConnectZealyAccount(ctx context.Context, in *MsgConnectZealyAccount, opts ...grpc.CallOption) (*MsgConnectZealyAccountResponse, error) { + out := new(MsgConnectZealyAccountResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ConnectZealyAccount", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { Createuser(context.Context, *MsgCreateuser) (*MsgCreateuserResponse, error) @@ -4891,6 +4995,7 @@ type MsgServer interface { ChangeAlias(context.Context, *MsgChangeAlias) (*MsgChangeAliasResponse, error) InviteEarlyAccess(context.Context, *MsgInviteEarlyAccess) (*MsgInviteEarlyAccessResponse, error) DisinviteEarlyAccess(context.Context, *MsgDisinviteEarlyAccess) (*MsgDisinviteEarlyAccessResponse, error) + ConnectZealyAccount(context.Context, *MsgConnectZealyAccount) (*MsgConnectZealyAccountResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -5026,6 +5131,9 @@ func (*UnimplementedMsgServer) InviteEarlyAccess(ctx context.Context, req *MsgIn func (*UnimplementedMsgServer) DisinviteEarlyAccess(ctx context.Context, req *MsgDisinviteEarlyAccess) (*MsgDisinviteEarlyAccessResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DisinviteEarlyAccess not implemented") } +func (*UnimplementedMsgServer) ConnectZealyAccount(ctx context.Context, req *MsgConnectZealyAccount) (*MsgConnectZealyAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConnectZealyAccount not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -5805,6 +5913,24 @@ func _Msg_DisinviteEarlyAccess_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Msg_ConnectZealyAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgConnectZealyAccount) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ConnectZealyAccount(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/ConnectZealyAccount", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ConnectZealyAccount(ctx, req.(*MsgConnectZealyAccount)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "DecentralCardGame.cardchain.cardchain.Msg", HandlerType: (*MsgServer)(nil), @@ -5981,6 +6107,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "DisinviteEarlyAccess", Handler: _Msg_DisinviteEarlyAccess_Handler, }, + { + MethodName: "ConnectZealyAccount", + Handler: _Msg_ConnectZealyAccount_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -8887,6 +9017,66 @@ func (m *MsgDisinviteEarlyAccessResponse) MarshalToSizedBuffer(dAtA []byte) (int return len(dAtA) - i, nil } +func (m *MsgConnectZealyAccount) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgConnectZealyAccount) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgConnectZealyAccount) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgConnectZealyAccountResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgConnectZealyAccountResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgConnectZealyAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -10161,6 +10351,32 @@ func (m *MsgDisinviteEarlyAccessResponse) Size() (n int) { return n } +func (m *MsgConnectZealyAccount) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgConnectZealyAccountResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -18269,6 +18485,170 @@ func (m *MsgDisinviteEarlyAccessResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgConnectZealyAccount) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgConnectZealyAccount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgConnectZealyAccount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgConnectZealyAccountResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgConnectZealyAccountResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgConnectZealyAccountResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/zealy.pb.go b/x/cardchain/types/zealy.pb.go index c1c3a6ba..9be91a0e 100644 --- a/x/cardchain/types/zealy.pb.go +++ b/x/cardchain/types/zealy.pb.go @@ -24,6 +24,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Zealy struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + ZealyId string `protobuf:"bytes,2,opt,name=zealyId,proto3" json:"zealyId,omitempty"` } func (m *Zealy) Reset() { *m = Zealy{} } @@ -66,6 +67,13 @@ func (m *Zealy) GetAddress() string { return "" } +func (m *Zealy) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + func init() { proto.RegisterType((*Zealy)(nil), "DecentralCardGame.cardchain.cardchain.Zealy") } @@ -73,17 +81,18 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/zealy.proto", fileDescriptor_1558e1909559da0f) } var fileDescriptor_1558e1909559da0f = []byte{ - // 160 bytes of a gzipped FileDescriptorProto + // 172 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0x4e, 0x2c, 0x4a, 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xaa, 0x52, 0x13, 0x73, 0x2a, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, 0x13, - 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x0a, 0x11, 0x2c, 0x25, 0x45, 0x2e, 0xd6, 0x28, + 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0x0a, 0x11, 0x2c, 0x25, 0x6b, 0x2e, 0xd6, 0x28, 0x90, 0x2e, 0x21, 0x09, 0x2e, 0xf6, 0xc4, 0x94, 0x94, 0xa2, 0xd4, 0xe2, 0x62, 0x09, 0x46, 0x05, - 0x46, 0x0d, 0xce, 0x20, 0x18, 0xd7, 0x29, 0xe8, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, - 0x1f, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, - 0x18, 0xa2, 0x2c, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x31, 0xac, - 0xd3, 0x77, 0x86, 0xbb, 0xab, 0x02, 0xc9, 0x8d, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, - 0x47, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x82, 0x34, 0xe7, 0xc7, 0x00, 0x00, 0x00, + 0x46, 0x0d, 0xce, 0x20, 0x18, 0x17, 0x24, 0x03, 0x36, 0xd8, 0x33, 0x45, 0x82, 0x09, 0x22, 0x03, + 0xe5, 0x3a, 0x05, 0x9d, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, + 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x45, 0x7a, + 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x86, 0x43, 0xf4, 0x9d, 0xe1, 0x2e, + 0xae, 0x40, 0x72, 0x7d, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0xf9, 0xc6, 0x80, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x60, 0x21, 0x6b, 0x02, 0xe1, 0x00, 0x00, 0x00, } func (m *Zealy) Marshal() (dAtA []byte, err error) { @@ -106,6 +115,13 @@ func (m *Zealy) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintZealy(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0x12 + } if len(m.Address) > 0 { i -= len(m.Address) copy(dAtA[i:], m.Address) @@ -137,6 +153,10 @@ func (m *Zealy) Size() (n int) { if l > 0 { n += 1 + l + sovZealy(uint64(l)) } + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovZealy(uint64(l)) + } return n } @@ -207,6 +227,38 @@ func (m *Zealy) Unmarshal(dAtA []byte) error { } m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowZealy + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthZealy + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthZealy + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipZealy(dAtA[iNdEx:]) From 41c27c1a8a83dec14faedf453d571ac17ae2456e Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 2 Jun 2024 13:33:25 +0200 Subject: [PATCH 3/4] feat(#224): Added zealy query --- docs/static/openapi.yml | 42 ++ proto/cardchain/cardchain/query.proto | 40 +- x/cardchain/client/cli/query.go | 2 + .../client/cli/query_q_account_from_zealy.go | 46 ++ .../keeper/query_q_account_from_zealy.go | 25 + x/cardchain/keeper/zealy.go | 10 +- x/cardchain/types/query.pb.go | 635 ++++++++++++++---- x/cardchain/types/query.pb.gw.go | 101 +++ 8 files changed, 756 insertions(+), 145 deletions(-) create mode 100644 x/cardchain/client/cli/query_q_account_from_zealy.go create mode 100644 x/cardchain/keeper/query_q_account_from_zealy.go diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 2c81ee84..9612365e 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -32971,6 +32971,43 @@ paths: additionalProperties: {} tags: - Query + /DecentralCardGame/Cardchain/cardchain/q_account_from_zealy/{zealyId}: + get: + summary: Queries a list of QAccountFromZealy items. + operationId: DecentralCardGameCardchainCardchainQAccountFromZealy + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: zealyId + in: path + required: true + type: string + tags: + - Query /DecentralCardGame/Cardchain/cardchain/q_card/{cardId}: get: summary: Queries a list of QCard items. @@ -69437,6 +69474,11 @@ definitions: type: string format: uint64 description: QueryParamsResponse is response type for the Query/Params RPC method. + DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyResponse: + type: object + properties: + address: + type: string DecentralCardGame.cardchain.cardchain.QueryQCardContentResponse: type: object properties: diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index d7ce30fd..8a77650d 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -126,6 +126,12 @@ service Query { option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_card_contents/{cardIds}"; } + + // Queries a list of QAccountFromZealy items. + rpc QAccountFromZealy (QueryQAccountFromZealyRequest) returns (QueryQAccountFromZealyResponse) { + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_account_from_zealy/{zealyId}"; + + } } // QueryParamsRequest is request type for the Query/Params RPC method. message QueryParamsRequest {} @@ -173,18 +179,18 @@ message QueryQVotingResultsResponse { } message QueryQCardsRequest { - string owner = 1; - repeated Status statuses = 2; - repeated CardType cardTypes = 3; - repeated CardClass classes = 4; - string sortBy = 5; - string nameContains = 6; - string keywordsContains = 7; - string notesContains = 8; - bool onlyStarterCard = 9; - bool onlyBalanceAnchors = 10; - repeated CardRarity rarities = 11; - bool multiClassOnly = 12; + string owner = 1; + repeated Status statuses = 2; + repeated CardType cardTypes = 3; + repeated CardClass classes = 4; + string sortBy = 5; + string nameContains = 6; + string keywordsContains = 7; + string notesContains = 8; + bool onlyStarterCard = 9; + bool onlyBalanceAnchors = 10; + repeated CardRarity rarities = 11; + bool multiClassOnly = 12; } message QueryQCardsResponse { @@ -226,7 +232,6 @@ message QueryQMatchesResponse { repeated Match matches = 2; } - /* message QueryQSellOffersRequest { message Query { @@ -286,7 +291,6 @@ message QueryRarityDistributionResponse { repeated uint32 wanted = 2; } - // this line is used by starport scaffolding # 3 message QueryQCardContentsRequest { repeated uint64 cardIds = 1; @@ -296,3 +300,11 @@ message QueryQCardContentsResponse { repeated QueryQCardContentResponse cards = 1; } +message QueryQAccountFromZealyRequest { + string zealyId = 1; +} + +message QueryQAccountFromZealyResponse { + string address = 1; +} + diff --git a/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go index 643172a5..13885fb3 100644 --- a/x/cardchain/client/cli/query.go +++ b/x/cardchain/client/cli/query.go @@ -57,6 +57,8 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdQCardContents()) + cmd.AddCommand(CmdQAccountFromZealy()) + // this line is used by starport scaffolding # 1 return cmd diff --git a/x/cardchain/client/cli/query_q_account_from_zealy.go b/x/cardchain/client/cli/query_q_account_from_zealy.go new file mode 100644 index 00000000..e3f9a997 --- /dev/null +++ b/x/cardchain/client/cli/query_q_account_from_zealy.go @@ -0,0 +1,46 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdQAccountFromZealy() *cobra.Command { + cmd := &cobra.Command{ + Use: "q-account-from-zealy [zealy-id]", + Short: "Query q_account_from_zealy", + Args: cobra.ExactArgs(1), + RunE: func(cmd *cobra.Command, args []string) (err error) { + reqZealyId := args[0] + + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + + params := &types.QueryQAccountFromZealyRequest{ + + ZealyId: reqZealyId, + } + + res, err := queryClient.QAccountFromZealy(cmd.Context(), params) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/keeper/query_q_account_from_zealy.go b/x/cardchain/keeper/query_q_account_from_zealy.go new file mode 100644 index 00000000..fb82d509 --- /dev/null +++ b/x/cardchain/keeper/query_q_account_from_zealy.go @@ -0,0 +1,25 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) QAccountFromZealy(goCtx context.Context, req *types.QueryQAccountFromZealyRequest) (*types.QueryQAccountFromZealyResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + zealy, err := k.GetZealy(ctx, req.ZealyId) + if err != nil { + return nil, err + } + + return &types.QueryQAccountFromZealyResponse{Address: zealy.Address}, nil +} diff --git a/x/cardchain/keeper/zealy.go b/x/cardchain/keeper/zealy.go index 04f9051b..45800953 100644 --- a/x/cardchain/keeper/zealy.go +++ b/x/cardchain/keeper/zealy.go @@ -7,32 +7,32 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -// SetZealy Sets a zealy id and +// SetZealy Sets a zealy id func (k Keeper) SetZealy(ctx sdk.Context, zealyId string, zealy types.Zealy) { store := ctx.KVStore(k.zealyStoreKey) store.Set([]byte(zealyId), k.cdc.MustMarshal(&zealy)) } -// GetZealy Gets a user from store +// GetZealy Gets a zealy from store func (k Keeper) GetZealy(ctx sdk.Context, zealyId string) (zealy types.Zealy, err error) { store := ctx.KVStore(k.zealyStoreKey) bz := store.Get([]byte(zealyId)) if bz == nil { - err = fmt.Errorf("zealyId '%s' not in store", zealyId) + err = fmt.Errorf("zealyId `%s` not in store", zealyId) } else { k.cdc.MustUnmarshal(bz, &zealy) } return } -// GetZealyIterator Returns an iterator for all users +// GetZealyIterator Returns an iterator for all zealys func (k Keeper) GetZealyIterator(ctx sdk.Context) sdk.Iterator { store := ctx.KVStore(k.zealyStoreKey) return sdk.KVStorePrefixIterator(store, nil) } -// GetAllZealys Gets all users from store +// GetAllZealys Gets all zealys from store func (k Keeper) GetAllZealys(ctx sdk.Context) (allZealys []*types.Zealy, allZealyIds []string) { iterator := k.GetZealyIterator(ctx) for ; iterator.Valid(); iterator.Next() { diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 5ec13ef5..76859832 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -1631,6 +1631,94 @@ func (m *QueryQCardContentsResponse) GetCards() []*QueryQCardContentResponse { return nil } +type QueryQAccountFromZealyRequest struct { + ZealyId string `protobuf:"bytes,1,opt,name=zealyId,proto3" json:"zealyId,omitempty"` +} + +func (m *QueryQAccountFromZealyRequest) Reset() { *m = QueryQAccountFromZealyRequest{} } +func (m *QueryQAccountFromZealyRequest) String() string { return proto.CompactTextString(m) } +func (*QueryQAccountFromZealyRequest) ProtoMessage() {} +func (*QueryQAccountFromZealyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{30} +} +func (m *QueryQAccountFromZealyRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQAccountFromZealyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQAccountFromZealyRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryQAccountFromZealyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQAccountFromZealyRequest.Merge(m, src) +} +func (m *QueryQAccountFromZealyRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryQAccountFromZealyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQAccountFromZealyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQAccountFromZealyRequest proto.InternalMessageInfo + +func (m *QueryQAccountFromZealyRequest) GetZealyId() string { + if m != nil { + return m.ZealyId + } + return "" +} + +type QueryQAccountFromZealyResponse struct { + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +} + +func (m *QueryQAccountFromZealyResponse) Reset() { *m = QueryQAccountFromZealyResponse{} } +func (m *QueryQAccountFromZealyResponse) String() string { return proto.CompactTextString(m) } +func (*QueryQAccountFromZealyResponse) ProtoMessage() {} +func (*QueryQAccountFromZealyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e1bdbfeb9d7f6cfd, []int{31} +} +func (m *QueryQAccountFromZealyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQAccountFromZealyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQAccountFromZealyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryQAccountFromZealyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQAccountFromZealyResponse.Merge(m, src) +} +func (m *QueryQAccountFromZealyResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryQAccountFromZealyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQAccountFromZealyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQAccountFromZealyResponse proto.InternalMessageInfo + +func (m *QueryQAccountFromZealyResponse) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + func init() { proto.RegisterType((*QueryParamsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryParamsRequest") proto.RegisterType((*QueryParamsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryParamsResponse") @@ -1662,137 +1750,144 @@ func init() { proto.RegisterType((*QueryRarityDistributionResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryRarityDistributionResponse") proto.RegisterType((*QueryQCardContentsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentsRequest") proto.RegisterType((*QueryQCardContentsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardContentsResponse") + proto.RegisterType((*QueryQAccountFromZealyRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyRequest") + proto.RegisterType((*QueryQAccountFromZealyResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQAccountFromZealyResponse") } func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 1999 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x5f, 0x6f, 0x1b, 0xc7, - 0x11, 0xf7, 0xd1, 0x14, 0x25, 0xae, 0x2c, 0xd5, 0x99, 0xba, 0x2e, 0xcb, 0xba, 0xb4, 0xba, 0x70, - 0x5a, 0x35, 0x89, 0x79, 0xb6, 0xe2, 0xc8, 0xb2, 0xe3, 0xc8, 0xd6, 0x1f, 0x3b, 0x51, 0x1a, 0xc5, - 0xce, 0xa9, 0xc9, 0x43, 0xfb, 0x20, 0x1c, 0xc9, 0xb5, 0x74, 0x08, 0x79, 0x4b, 0xdf, 0x2e, 0xed, - 0x10, 0x02, 0x1f, 0xda, 0x4f, 0x50, 0xb4, 0x9f, 0xa3, 0x28, 0xd0, 0x16, 0xed, 0x53, 0xd1, 0x57, - 0x03, 0x7d, 0x09, 0xd0, 0x16, 0x48, 0xf3, 0xe0, 0x16, 0x76, 0xdf, 0xf3, 0x15, 0x8a, 0x9d, 0xdd, - 0xbd, 0x3f, 0x14, 0x2d, 0xdc, 0xd1, 0x4f, 0xba, 0x9d, 0x9d, 0x99, 0x9d, 0x3f, 0xbf, 0x9d, 0x9d, - 0xa1, 0xc8, 0xc5, 0xb6, 0x1f, 0x75, 0xda, 0x87, 0x7e, 0x10, 0xba, 0xc9, 0xd7, 0xa3, 0x01, 0x8b, - 0x86, 0xcd, 0x7e, 0xc4, 0x25, 0x87, 0xd7, 0xb7, 0x59, 0x9b, 0x85, 0x32, 0xf2, 0xbb, 0x5b, 0x7e, - 0xd4, 0x79, 0xdf, 0xef, 0xb1, 0x66, 0xcc, 0x98, 0x7c, 0xd5, 0xcf, 0x1d, 0xf0, 0x03, 0x8e, 0x12, - 0xae, 0xfa, 0xd2, 0xc2, 0xf5, 0x0b, 0x07, 0x9c, 0x1f, 0x74, 0x99, 0xeb, 0xf7, 0x03, 0xd7, 0x0f, - 0x43, 0x2e, 0x7d, 0x19, 0xf0, 0x50, 0x98, 0xdd, 0x37, 0xda, 0x5c, 0xf4, 0xb8, 0x70, 0x5b, 0xbe, - 0x60, 0xfa, 0x4c, 0xf7, 0xf1, 0xd5, 0x16, 0x93, 0xfe, 0x55, 0xb7, 0xef, 0x1f, 0x04, 0x21, 0x32, - 0x1b, 0xde, 0xa5, 0x49, 0x76, 0xf6, 0xfd, 0xc8, 0xef, 0x89, 0x93, 0x38, 0x1e, 0x73, 0x19, 0x84, - 0x07, 0x86, 0xa3, 0x31, 0x89, 0x43, 0x7d, 0x9d, 0xb4, 0x3f, 0x10, 0x2c, 0x32, 0xfb, 0x13, 0x63, - 0xd5, 0xf3, 0x65, 0xfb, 0xd0, 0x30, 0xfc, 0x60, 0x12, 0x83, 0x60, 0xd2, 0x6c, 0x5f, 0x9a, 0xbc, - 0xdd, 0xed, 0xee, 0xf3, 0x87, 0x0f, 0xe3, 0x53, 0x7e, 0x38, 0xd1, 0x4a, 0x3e, 0x08, 0xdb, 0x41, - 0xf7, 0x24, 0x57, 0x05, 0x8b, 0x1e, 0xc7, 0x4a, 0x2e, 0x4c, 0xe2, 0x90, 0x5f, 0xe8, 0x5d, 0x7a, - 0x8e, 0xc0, 0x27, 0x2a, 0xdc, 0x0f, 0x30, 0x7e, 0x1e, 0x7b, 0x34, 0x60, 0x42, 0xd2, 0x16, 0xf9, - 0x76, 0x86, 0x2a, 0xfa, 0x3c, 0x14, 0x0c, 0x7e, 0x4a, 0x2a, 0x3a, 0xce, 0x35, 0x67, 0xc9, 0x59, - 0x9e, 0x5f, 0xb9, 0xdc, 0xcc, 0x85, 0x88, 0xa6, 0x56, 0xb3, 0x59, 0x7e, 0xfa, 0xec, 0xe2, 0x29, - 0xcf, 0xa8, 0xa0, 0x6f, 0x92, 0xd7, 0xf0, 0x8c, 0x4f, 0x94, 0xa8, 0x39, 0x18, 0xce, 0x93, 0x8a, - 0x12, 0xdb, 0xe9, 0xe0, 0x09, 0x55, 0xcf, 0xac, 0xe8, 0x0a, 0xa9, 0x25, 0xcc, 0x5b, 0x3c, 0x94, - 0x2c, 0x94, 0x93, 0x65, 0xca, 0xb1, 0xcc, 0x0e, 0xf9, 0xde, 0x04, 0x19, 0xe3, 0x4a, 0x8d, 0xcc, - 0xb6, 0x35, 0xc9, 0x9c, 0x64, 0x97, 0x00, 0xa4, 0x7c, 0xe8, 0x8b, 0xc3, 0x5a, 0x09, 0xc9, 0xf8, - 0x4d, 0x2f, 0x5b, 0x5b, 0x3f, 0x15, 0x2c, 0xb2, 0xe7, 0xd6, 0xc8, 0xac, 0xdf, 0xe9, 0x44, 0x4c, - 0x08, 0xab, 0xc2, 0x2c, 0xe9, 0x05, 0x52, 0x4f, 0x4e, 0xc6, 0x10, 0xec, 0x84, 0x0f, 0xb9, 0x0d, - 0xee, 0xf3, 0x12, 0xf9, 0xfe, 0xc4, 0x6d, 0x63, 0xda, 0x2f, 0xc8, 0x59, 0xe5, 0xc1, 0xc6, 0xa0, - 0xad, 0x40, 0xff, 0x20, 0x0a, 0xda, 0x4c, 0x1f, 0xb0, 0xe9, 0xaa, 0x00, 0x7e, 0xfd, 0xec, 0xe2, - 0x8f, 0x0f, 0x02, 0x79, 0x38, 0x68, 0x35, 0xdb, 0xbc, 0xe7, 0x9a, 0x8b, 0xa3, 0xff, 0x5c, 0x16, - 0x9d, 0xcf, 0x5d, 0x39, 0xec, 0x33, 0xd1, 0xdc, 0xe2, 0x41, 0xe8, 0x1d, 0x53, 0x04, 0x0d, 0x42, - 0xfc, 0xb6, 0x0c, 0x1e, 0xb3, 0x3d, 0x26, 0x45, 0xad, 0xb4, 0x74, 0x7a, 0xb9, 0xec, 0xa5, 0x28, - 0xb0, 0x44, 0xe6, 0x95, 0x8c, 0xf8, 0x78, 0xd0, 0x6b, 0xb1, 0xa8, 0x76, 0x1a, 0x23, 0x9a, 0x26, - 0xc1, 0x25, 0xb2, 0x80, 0x40, 0x67, 0x96, 0xa7, 0x8c, 0x3c, 0x59, 0x22, 0xbc, 0x41, 0xce, 0x2a, - 0x38, 0xdf, 0x57, 0x68, 0xb6, 0x8c, 0x33, 0xc8, 0x78, 0x8c, 0x0e, 0x3f, 0x22, 0x8b, 0x06, 0xd4, - 0x96, 0xb3, 0x82, 0x9c, 0x63, 0x54, 0xa5, 0xb3, 0xeb, 0x0b, 0xa9, 0xa2, 0xb6, 0xcb, 0x3b, 0xc1, - 0xc3, 0x80, 0x75, 0x6a, 0xb3, 0x5a, 0xe7, 0x38, 0x3d, 0x49, 0xc1, 0x67, 0x78, 0xed, 0x3d, 0x26, - 0x06, 0x5d, 0x19, 0xe3, 0xfb, 0x97, 0x8e, 0x4d, 0xc1, 0xd8, 0xb6, 0x49, 0x41, 0x8b, 0xbc, 0xa6, - 0x34, 0x66, 0x36, 0x0d, 0xe6, 0xaf, 0xe5, 0xc4, 0x7c, 0x56, 0xf1, 0x71, 0x75, 0xf4, 0x9b, 0xb2, - 0xb9, 0x7a, 0x08, 0x03, 0x6b, 0x1a, 0x9c, 0x23, 0x33, 0xfc, 0x49, 0xc8, 0x22, 0x83, 0x29, 0xbd, - 0x80, 0x1d, 0x32, 0x27, 0xa4, 0x2f, 0x07, 0x82, 0xe9, 0xa4, 0x2d, 0xe6, 0xbe, 0x7b, 0x7b, 0x28, - 0xe6, 0xc5, 0xe2, 0xb0, 0x4b, 0xaa, 0x6a, 0xf7, 0x67, 0x0a, 0x25, 0xb5, 0xd3, 0xa8, 0xcb, 0xcd, - 0xa9, 0x6b, 0xcb, 0xc8, 0x79, 0x89, 0x06, 0xf8, 0x90, 0xcc, 0xb6, 0xbb, 0xbe, 0x50, 0x86, 0x95, - 0x51, 0xd9, 0x95, 0x02, 0xca, 0xb6, 0x94, 0xa4, 0x67, 0x15, 0xa8, 0x9b, 0x2c, 0x78, 0x24, 0x37, - 0x87, 0x08, 0x95, 0xaa, 0x67, 0x56, 0x40, 0xc9, 0x99, 0xd0, 0xef, 0x31, 0x75, 0x87, 0xfd, 0x20, - 0x14, 0x08, 0x8f, 0xaa, 0x97, 0xa1, 0x29, 0x70, 0x7c, 0xce, 0x86, 0x4f, 0x78, 0xd4, 0x11, 0x31, - 0xdf, 0x2c, 0xf2, 0x1d, 0xa3, 0x2b, 0x08, 0x87, 0x5c, 0xb2, 0x84, 0x71, 0x0e, 0x19, 0xb3, 0x44, - 0x58, 0x26, 0xdf, 0xe2, 0x61, 0x77, 0xb8, 0x27, 0xfd, 0x48, 0xb2, 0x48, 0x99, 0x5b, 0xab, 0x2e, - 0x39, 0xcb, 0x73, 0xde, 0x38, 0x19, 0x9a, 0x04, 0x14, 0x69, 0xd3, 0xef, 0xfa, 0x61, 0x9b, 0x6d, - 0x84, 0xed, 0x43, 0x1e, 0x89, 0x1a, 0x41, 0xe6, 0x09, 0x3b, 0xb0, 0x4b, 0xe6, 0x22, 0x3f, 0x0a, - 0x64, 0xc0, 0x44, 0x6d, 0x1e, 0x83, 0x76, 0xb5, 0x40, 0xd0, 0x3c, 0x25, 0x3a, 0xf4, 0x62, 0x15, - 0xea, 0xfe, 0xf4, 0x06, 0x5d, 0x19, 0x60, 0x34, 0xef, 0x87, 0xdd, 0x61, 0xed, 0x0c, 0x1e, 0x3d, - 0x46, 0xa5, 0x6f, 0x9b, 0xaa, 0x6e, 0x01, 0x67, 0xc0, 0x7e, 0x41, 0x03, 0x42, 0x7c, 0x14, 0x08, - 0x55, 0x0c, 0x55, 0x45, 0x48, 0x08, 0xb4, 0x69, 0x51, 0xba, 0xab, 0xee, 0x77, 0xaa, 0xf6, 0xe1, - 0x7d, 0x8f, 0x8b, 0xae, 0x5d, 0xd2, 0x65, 0x72, 0x56, 0xf3, 0xef, 0x31, 0x99, 0xc2, 0xb4, 0x60, - 0x32, 0xe6, 0xd5, 0x0b, 0x7a, 0x93, 0x9c, 0xb7, 0x9c, 0xa6, 0x20, 0x58, 0xfe, 0x25, 0x32, 0x1f, - 0x17, 0x89, 0x58, 0x2a, 0x4d, 0xa2, 0xd7, 0xc8, 0x39, 0xe3, 0x8a, 0x2e, 0x11, 0x56, 0x52, 0xf9, - 0xa2, 0x29, 0xb1, 0x5c, 0x42, 0xa0, 0x5f, 0x97, 0xac, 0xd8, 0xae, 0x2e, 0x56, 0x56, 0xec, 0x12, - 0x59, 0x90, 0x41, 0x8f, 0x09, 0xe9, 0xf7, 0xfa, 0xdb, 0xfc, 0x49, 0x68, 0x44, 0xb3, 0x44, 0x65, - 0x56, 0x4c, 0xf8, 0xb4, 0x8f, 0x0f, 0x44, 0xd9, 0x4b, 0x93, 0x94, 0x9e, 0xb6, 0x81, 0x8f, 0x7a, - 0x29, 0xf4, 0xfd, 0xaa, 0x7a, 0x59, 0x22, 0xd4, 0xc9, 0x5c, 0xc4, 0xfa, 0x5c, 0xc1, 0x07, 0x8b, - 0x67, 0xd5, 0x8b, 0xd7, 0xf0, 0x01, 0x99, 0xe5, 0x03, 0xd9, 0xe6, 0x3d, 0x86, 0x77, 0x60, 0x71, - 0xa5, 0x99, 0x13, 0x19, 0xf7, 0xb5, 0x94, 0x67, 0xc5, 0xe3, 0x4a, 0xfe, 0xa0, 0xeb, 0x0f, 0x59, - 0xa7, 0x56, 0xc1, 0xc4, 0xa6, 0x49, 0xf0, 0x11, 0xa9, 0x04, 0x07, 0x21, 0x8f, 0x18, 0x5e, 0x94, - 0xfc, 0xa5, 0x6d, 0x07, 0x85, 0x6c, 0x08, 0x8d, 0x0e, 0xfa, 0x13, 0xb2, 0x90, 0xd9, 0x50, 0x18, - 0xb1, 0xae, 0x38, 0x88, 0x47, 0xbb, 0x54, 0xe5, 0xf7, 0x3b, 0x63, 0x79, 0x30, 0x58, 0x5c, 0x22, - 0xf3, 0xe6, 0x1d, 0x49, 0xa1, 0x31, 0x4d, 0x82, 0x7b, 0x06, 0x79, 0xa6, 0x10, 0xce, 0xaf, 0xbc, - 0x95, 0xd3, 0x6a, 0x8d, 0x5f, 0x2b, 0x4c, 0xff, 0x54, 0x22, 0xdf, 0x1d, 0x83, 0x9f, 0x48, 0xa1, - 0xa8, 0xaf, 0x5e, 0xcb, 0x18, 0x0a, 0x55, 0x2f, 0x21, 0x28, 0xbf, 0x70, 0x61, 0x20, 0x50, 0xf5, - 0xec, 0x12, 0xeb, 0x17, 0xeb, 0x76, 0xcd, 0xbb, 0xa9, 0xea, 0x17, 0xae, 0x14, 0xfe, 0x5b, 0x83, - 0x61, 0x9c, 0x6d, 0xbd, 0x50, 0x8d, 0x86, 0xb2, 0xce, 0x3c, 0x8b, 0xf8, 0x0d, 0x1f, 0x93, 0x8a, - 0x2e, 0xd4, 0x58, 0xe3, 0x16, 0x57, 0x56, 0xf3, 0x56, 0x79, 0xeb, 0x83, 0x29, 0xf7, 0x46, 0x0b, - 0xdc, 0x1f, 0x4b, 0xf1, 0xf5, 0x42, 0x29, 0x4e, 0x45, 0xc6, 0x66, 0x79, 0x9d, 0x9c, 0x1d, 0xdf, - 0x43, 0xb7, 0xb5, 0xd1, 0x3a, 0xcf, 0xf6, 0x70, 0xeb, 0x60, 0x09, 0xa9, 0xf8, 0x4d, 0x7f, 0xe3, - 0xd8, 0x4e, 0x2e, 0x1d, 0x76, 0x93, 0xfd, 0x4b, 0x64, 0x21, 0x69, 0x0e, 0x76, 0x3a, 0xc2, 0xe4, - 0x3f, 0x4b, 0x84, 0x07, 0x84, 0x24, 0x04, 0x03, 0x82, 0x2b, 0x45, 0xe3, 0xe4, 0xa5, 0x74, 0xd0, - 0xd7, 0x6d, 0x61, 0xdc, 0xc3, 0xc6, 0xd9, 0xc2, 0x60, 0x91, 0x94, 0x02, 0x5b, 0x45, 0x4a, 0x41, - 0x87, 0x9e, 0xb7, 0xd5, 0xc3, 0xb2, 0x69, 0xb3, 0xe9, 0x7f, 0x1c, 0xdb, 0x1e, 0xaa, 0x16, 0xca, - 0x4a, 0xdf, 0xcb, 0x44, 0x25, 0xff, 0x45, 0xde, 0x1a, 0x4b, 0x21, 0x25, 0x67, 0x74, 0xec, 0x35, - 0xdd, 0x44, 0x33, 0x43, 0x53, 0x3c, 0xaa, 0xc4, 0x44, 0x41, 0x6b, 0x20, 0x79, 0x5c, 0x76, 0x32, - 0xb4, 0x74, 0x6d, 0xc2, 0xfa, 0x8f, 0xcf, 0x75, 0xd9, 0xcb, 0x12, 0x93, 0xf6, 0x63, 0x26, 0xd5, - 0x7e, 0xd0, 0xb7, 0xec, 0x23, 0xa0, 0x1d, 0x34, 0xe9, 0x42, 0xb8, 0xcb, 0x24, 0x4f, 0x66, 0x45, - 0x57, 0x49, 0x03, 0xb9, 0xf5, 0x43, 0xb5, 0x1d, 0x08, 0x6d, 0x44, 0xc0, 0xc3, 0x93, 0x1f, 0x84, - 0x3d, 0x72, 0xf1, 0xa5, 0x72, 0xa9, 0xb6, 0x7d, 0x10, 0x45, 0xba, 0x6d, 0x3f, 0xbd, 0xbc, 0xe0, - 0xd9, 0xa5, 0x32, 0xe6, 0x89, 0x1f, 0x4a, 0xd6, 0x41, 0x44, 0x2c, 0x78, 0x66, 0x45, 0xdf, 0x99, - 0x30, 0x05, 0x88, 0xd4, 0x33, 0xa6, 0x87, 0x05, 0xeb, 0x82, 0x5d, 0x52, 0x99, 0x6e, 0xe1, 0x13, - 0x31, 0x63, 0xc6, 0x67, 0x64, 0x06, 0x0b, 0x29, 0x4a, 0xcd, 0xaf, 0xdc, 0xc9, 0x99, 0xda, 0x97, - 0x8e, 0x23, 0x9e, 0x56, 0xb7, 0xf2, 0xcf, 0x3a, 0x99, 0x41, 0x26, 0xf8, 0xb3, 0x43, 0x2a, 0x7a, - 0x6c, 0x82, 0x1b, 0x45, 0xb4, 0x67, 0xe6, 0xb8, 0xfa, 0xcd, 0x69, 0x44, 0x0d, 0xaa, 0xdf, 0xf9, - 0xd5, 0x3f, 0xfe, 0xf7, 0xdb, 0x92, 0x0b, 0x97, 0xdd, 0x63, 0x3a, 0xdc, 0xad, 0x97, 0x4e, 0xe0, - 0xf0, 0x07, 0x87, 0xcc, 0xa0, 0x8b, 0xb0, 0x56, 0x38, 0x2a, 0xd6, 0x6c, 0x37, 0xff, 0x9b, 0xd7, - 0x57, 0x0c, 0x74, 0x1d, 0x6d, 0x5d, 0x83, 0xd5, 0x9c, 0xb6, 0x3e, 0xda, 0x57, 0xdf, 0xee, 0x91, - 0xce, 0xf6, 0x08, 0xfe, 0xed, 0x90, 0x33, 0xe9, 0xbc, 0xc0, 0xed, 0xe9, 0x33, 0xaa, 0x5d, 0x78, - 0x65, 0x48, 0xd0, 0x7b, 0xe8, 0xd3, 0x1d, 0x58, 0x2f, 0xe4, 0xd3, 0xbe, 0x19, 0x63, 0x13, 0xdf, - 0x7e, 0xaf, 0x12, 0xa2, 0x1a, 0x8f, 0x82, 0x09, 0x49, 0x8d, 0xba, 0xf5, 0x37, 0x73, 0x4a, 0x2a, - 0x19, 0x7a, 0x1b, 0x0d, 0xbf, 0x01, 0xd7, 0x73, 0x1b, 0x3e, 0x10, 0x2c, 0x72, 0x8f, 0xcc, 0xf4, - 0x3c, 0x82, 0xaf, 0x1c, 0xb2, 0x98, 0x9d, 0x8d, 0x61, 0xa3, 0x70, 0x38, 0xc7, 0xc7, 0xee, 0xfa, - 0xe6, 0xab, 0xa8, 0x30, 0x39, 0x29, 0xee, 0x5a, 0xfc, 0xbd, 0x1f, 0x28, 0x3f, 0xd0, 0xb5, 0xcc, - 0x1c, 0x58, 0xd0, 0xb5, 0x49, 0xe3, 0x6c, 0x41, 0xd7, 0x26, 0x8e, 0xbc, 0x53, 0xb8, 0xa6, 0x7f, - 0x50, 0xdb, 0x8f, 0x8c, 0x1f, 0x7f, 0x71, 0x48, 0x45, 0x4f, 0x16, 0xc5, 0x2a, 0x56, 0x66, 0xfc, - 0x2d, 0x56, 0xb1, 0xb2, 0x83, 0x0c, 0x5d, 0x45, 0x17, 0xae, 0x40, 0xb3, 0x50, 0x76, 0x04, 0xfc, - 0x51, 0x59, 0x8e, 0xed, 0x61, 0x41, 0xcb, 0xd3, 0x23, 0x51, 0xbd, 0x50, 0x1f, 0x4a, 0xef, 0xa0, - 0xad, 0x37, 0x61, 0x2d, 0xb7, 0xad, 0xd8, 0xb8, 0xba, 0x47, 0x66, 0xce, 0x1a, 0xc1, 0xef, 0x1c, - 0x52, 0x56, 0xef, 0x31, 0x5c, 0x2f, 0x64, 0x73, 0x32, 0x96, 0xd5, 0x0b, 0x8c, 0x16, 0xfd, 0x3d, - 0x26, 0xe9, 0x2d, 0xb4, 0x79, 0x15, 0xae, 0xe5, 0xb6, 0x59, 0x30, 0xe9, 0x1e, 0xe1, 0xe3, 0x3e, - 0x82, 0xa7, 0x0e, 0x21, 0x49, 0xd3, 0x07, 0xef, 0x15, 0xb4, 0x3a, 0x3b, 0x22, 0xd6, 0x0b, 0x37, - 0x7c, 0x74, 0x07, 0xad, 0xdf, 0x82, 0x8d, 0x02, 0xd6, 0xdb, 0xdf, 0x63, 0x95, 0x13, 0xf1, 0xf0, - 0x39, 0x82, 0xbf, 0x3a, 0x64, 0xce, 0x4e, 0x9e, 0xf0, 0x6e, 0x31, 0xc4, 0x66, 0xe6, 0xd5, 0xdc, - 0x29, 0x30, 0x62, 0x74, 0x1b, 0x9d, 0x58, 0x87, 0x5b, 0xf9, 0x21, 0xae, 0x25, 0xdd, 0xa3, 0x78, - 0x0c, 0x1e, 0xc1, 0xdf, 0x94, 0xfd, 0x76, 0x4c, 0x7b, 0xb7, 0x38, 0xe4, 0xe3, 0xc1, 0xb9, 0x7e, - 0x6b, 0x3a, 0x61, 0x73, 0x61, 0xd7, 0xd0, 0x9b, 0x15, 0xb8, 0x52, 0xec, 0x12, 0x30, 0x01, 0xff, - 0x72, 0xc8, 0x7c, 0x6a, 0x82, 0x80, 0xf5, 0xe9, 0xd0, 0x14, 0xfb, 0x71, 0x7b, 0x6a, 0x79, 0xe3, - 0xca, 0x5d, 0x74, 0xe5, 0x36, 0xbc, 0x37, 0x05, 0xba, 0x84, 0x7b, 0xa4, 0x7b, 0xfd, 0x91, 0xea, - 0x9e, 0x66, 0xcd, 0x78, 0x01, 0x37, 0x0b, 0xda, 0x94, 0x1a, 0x5d, 0xea, 0xb9, 0x7f, 0x1d, 0x44, - 0xa9, 0xa9, 0x6e, 0xb6, 0x12, 0x74, 0x8f, 0x82, 0xce, 0x08, 0xfe, 0xae, 0x3a, 0x0c, 0xfc, 0xf5, - 0x78, 0xad, 0x68, 0x29, 0x8a, 0x13, 0x70, 0x63, 0x0a, 0x49, 0x13, 0xfa, 0x5d, 0x34, 0xfe, 0x7d, - 0xb8, 0x5b, 0xa4, 0x2c, 0x25, 0x31, 0x77, 0x8f, 0xd2, 0xa3, 0xd4, 0x08, 0xbe, 0x71, 0x08, 0x1c, - 0x9f, 0x40, 0xe0, 0x6e, 0x11, 0x03, 0x5f, 0x3a, 0xf9, 0xd4, 0xef, 0xbd, 0xaa, 0x1a, 0xe3, 0xf4, - 0x87, 0xe8, 0xf4, 0x36, 0x6c, 0xe6, 0x74, 0x1a, 0x7f, 0x2c, 0x1c, 0xee, 0x77, 0x52, 0xba, 0xe2, - 0xca, 0xfc, 0xcc, 0x21, 0x0b, 0x99, 0x39, 0x07, 0xa6, 0xee, 0x5e, 0xe3, 0x7c, 0x6e, 0xbc, 0x82, - 0x06, 0xe3, 0xe2, 0x07, 0xe8, 0xe2, 0x26, 0xdc, 0x99, 0xaa, 0x01, 0x16, 0xb6, 0x03, 0x16, 0xa3, - 0x4d, 0xef, 0xe9, 0xf3, 0x86, 0xf3, 0xe5, 0xf3, 0x86, 0xf3, 0xdf, 0xe7, 0x0d, 0xe7, 0xd7, 0x2f, - 0x1a, 0xa7, 0xbe, 0x7c, 0xd1, 0x38, 0xf5, 0xd5, 0x8b, 0xc6, 0xa9, 0x9f, 0xaf, 0xa5, 0xfe, 0x93, - 0x72, 0xd2, 0x29, 0x5f, 0xa4, 0xff, 0x77, 0x36, 0xec, 0x33, 0xd1, 0xaa, 0xe0, 0xff, 0xcf, 0xde, - 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa9, 0x67, 0x94, 0x1f, 0x36, 0x1d, 0x00, 0x00, + // 2071 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0x4f, 0x6f, 0x1b, 0xc7, + 0x15, 0xf7, 0xd2, 0x14, 0x25, 0x8e, 0x2c, 0xd5, 0x9e, 0xba, 0x2e, 0xcb, 0x2a, 0xb4, 0x3a, 0x70, + 0x5a, 0x35, 0x89, 0xb9, 0xb6, 0xe2, 0xc8, 0xb2, 0xe2, 0xc8, 0xd6, 0x1f, 0x2b, 0x51, 0x1a, 0xc5, + 0xce, 0xaa, 0xc9, 0x21, 0x3d, 0x08, 0xcb, 0xe5, 0x88, 0x5a, 0x84, 0xdc, 0xa1, 0x77, 0x86, 0x76, + 0x58, 0x82, 0x87, 0xf6, 0x13, 0x14, 0xed, 0xe7, 0x28, 0x0a, 0xb4, 0x45, 0x7b, 0x2a, 0x7a, 0x2b, + 0x0c, 0xf4, 0x12, 0xa0, 0x28, 0x90, 0xe6, 0xe0, 0x16, 0x76, 0xef, 0xfe, 0x0a, 0xc1, 0xbc, 0x99, + 0xd9, 0x3f, 0x14, 0x25, 0xec, 0x52, 0x27, 0xed, 0xbc, 0x79, 0xef, 0xcd, 0xfb, 0xf3, 0x9b, 0x37, + 0xef, 0x51, 0xe8, 0xaa, 0xe7, 0x86, 0x4d, 0xef, 0xc8, 0xf5, 0x03, 0x3b, 0xfe, 0x7a, 0xdc, 0xa3, + 0x61, 0xbf, 0xde, 0x0d, 0x99, 0x60, 0xf8, 0xf5, 0x6d, 0xea, 0xd1, 0x40, 0x84, 0x6e, 0x7b, 0xcb, + 0x0d, 0x9b, 0xef, 0xbb, 0x1d, 0x5a, 0x8f, 0x18, 0xe3, 0xaf, 0xea, 0xe5, 0x16, 0x6b, 0x31, 0x90, + 0xb0, 0xe5, 0x97, 0x12, 0xae, 0x2e, 0xb4, 0x18, 0x6b, 0xb5, 0xa9, 0xed, 0x76, 0x7d, 0xdb, 0x0d, + 0x02, 0x26, 0x5c, 0xe1, 0xb3, 0x80, 0xeb, 0xdd, 0x37, 0x3c, 0xc6, 0x3b, 0x8c, 0xdb, 0x0d, 0x97, + 0x53, 0x75, 0xa6, 0xfd, 0xe4, 0x66, 0x83, 0x0a, 0xf7, 0xa6, 0xdd, 0x75, 0x5b, 0x7e, 0x00, 0xcc, + 0x9a, 0x77, 0x71, 0x9c, 0x9d, 0x5d, 0x37, 0x74, 0x3b, 0xfc, 0x34, 0x8e, 0x27, 0x4c, 0xf8, 0x41, + 0x4b, 0x73, 0xd4, 0xc6, 0x71, 0xc8, 0xaf, 0xd3, 0xf6, 0x7b, 0x9c, 0x86, 0x7a, 0x7f, 0x6c, 0xac, + 0x3a, 0xae, 0xf0, 0x8e, 0x34, 0xc3, 0x6b, 0xe3, 0x18, 0x38, 0x15, 0x7a, 0xfb, 0xda, 0xf8, 0xed, + 0x76, 0xfb, 0x80, 0x1d, 0x1e, 0x46, 0xa7, 0xfc, 0x68, 0xac, 0x95, 0xac, 0x17, 0x78, 0x7e, 0xfb, + 0x34, 0x57, 0x39, 0x0d, 0x9f, 0x44, 0x4a, 0x16, 0xc6, 0x71, 0x88, 0x2f, 0xd5, 0x2e, 0xb9, 0x8c, + 0xf0, 0x27, 0x32, 0xdc, 0x8f, 0x20, 0x7e, 0x0e, 0x7d, 0xdc, 0xa3, 0x5c, 0x90, 0x06, 0xfa, 0x6e, + 0x8a, 0xca, 0xbb, 0x2c, 0xe0, 0x14, 0xff, 0x0c, 0x95, 0x54, 0x9c, 0x2b, 0xd6, 0xa2, 0xb5, 0x34, + 0xbb, 0x7c, 0xbd, 0x9e, 0x09, 0x11, 0x75, 0xa5, 0x66, 0xb3, 0xf8, 0xec, 0xf9, 0xd5, 0x73, 0x8e, + 0x56, 0x41, 0xde, 0x44, 0x97, 0xe0, 0x8c, 0x4f, 0xa4, 0xa8, 0x3e, 0x18, 0x5f, 0x41, 0x25, 0x29, + 0xb6, 0xdb, 0x84, 0x13, 0xca, 0x8e, 0x5e, 0x91, 0x65, 0x54, 0x89, 0x99, 0xb7, 0x58, 0x20, 0x68, + 0x20, 0xc6, 0xcb, 0x14, 0x23, 0x99, 0x5d, 0xf4, 0x83, 0x31, 0x32, 0xda, 0x95, 0x0a, 0x9a, 0xf6, + 0x14, 0x49, 0x9f, 0x64, 0x96, 0x18, 0xa3, 0xe2, 0x91, 0xcb, 0x8f, 0x2a, 0x05, 0x20, 0xc3, 0x37, + 0xb9, 0x6e, 0x6c, 0xfd, 0x94, 0xd3, 0xd0, 0x9c, 0x5b, 0x41, 0xd3, 0x6e, 0xb3, 0x19, 0x52, 0xce, + 0x8d, 0x0a, 0xbd, 0x24, 0x0b, 0xa8, 0x1a, 0x9f, 0x0c, 0x21, 0xd8, 0x0d, 0x0e, 0x99, 0x09, 0xee, + 0x8b, 0x02, 0xfa, 0xe1, 0xd8, 0x6d, 0x6d, 0xda, 0x2f, 0xd0, 0x45, 0xe9, 0xc1, 0x46, 0xcf, 0x93, + 0xa0, 0x7f, 0x14, 0xfa, 0x1e, 0x55, 0x07, 0x6c, 0xda, 0x32, 0x80, 0xdf, 0x3c, 0xbf, 0xfa, 0x93, + 0x96, 0x2f, 0x8e, 0x7a, 0x8d, 0xba, 0xc7, 0x3a, 0xb6, 0xbe, 0x38, 0xea, 0xcf, 0x75, 0xde, 0xfc, + 0xc2, 0x16, 0xfd, 0x2e, 0xe5, 0xf5, 0x2d, 0xe6, 0x07, 0xce, 0x31, 0x45, 0xb8, 0x86, 0x90, 0xeb, + 0x09, 0xff, 0x09, 0xdd, 0xa7, 0x82, 0x57, 0x0a, 0x8b, 0xe7, 0x97, 0x8a, 0x4e, 0x82, 0x82, 0x17, + 0xd1, 0xac, 0x94, 0xe1, 0x1f, 0xf7, 0x3a, 0x0d, 0x1a, 0x56, 0xce, 0x43, 0x44, 0x93, 0x24, 0x7c, + 0x0d, 0xcd, 0x01, 0xd0, 0xa9, 0xe1, 0x29, 0x02, 0x4f, 0x9a, 0x88, 0xdf, 0x40, 0x17, 0x25, 0x9c, + 0x1f, 0x4a, 0x34, 0x1b, 0xc6, 0x29, 0x60, 0x3c, 0x46, 0xc7, 0x3f, 0x46, 0xf3, 0x1a, 0xd4, 0x86, + 0xb3, 0x04, 0x9c, 0x23, 0x54, 0xa9, 0xb3, 0xed, 0x72, 0x21, 0xa3, 0xb6, 0xc7, 0x9a, 0xfe, 0xa1, + 0x4f, 0x9b, 0x95, 0x69, 0xa5, 0x73, 0x94, 0x1e, 0xa7, 0xe0, 0x33, 0xb8, 0xf6, 0x0e, 0xe5, 0xbd, + 0xb6, 0x88, 0xf0, 0xfd, 0x2b, 0xcb, 0xa4, 0x60, 0x64, 0x5b, 0xa7, 0xa0, 0x81, 0x2e, 0x49, 0x8d, + 0xa9, 0x4d, 0x8d, 0xf9, 0x5b, 0x19, 0x31, 0x9f, 0x56, 0x7c, 0x5c, 0x1d, 0x79, 0x55, 0xd4, 0x57, + 0x0f, 0x60, 0x60, 0x4c, 0xc3, 0x97, 0xd1, 0x14, 0x7b, 0x1a, 0xd0, 0x50, 0x63, 0x4a, 0x2d, 0xf0, + 0x2e, 0x9a, 0xe1, 0xc2, 0x15, 0x3d, 0x4e, 0x55, 0xd2, 0xe6, 0x33, 0xdf, 0xbd, 0x7d, 0x10, 0x73, + 0x22, 0x71, 0xbc, 0x87, 0xca, 0x72, 0xf7, 0xe7, 0x12, 0x25, 0x95, 0xf3, 0xa0, 0xcb, 0xce, 0xa8, + 0x6b, 0x4b, 0xcb, 0x39, 0xb1, 0x06, 0xfc, 0x21, 0x9a, 0xf6, 0xda, 0x2e, 0x97, 0x86, 0x15, 0x41, + 0xd9, 0x8d, 0x1c, 0xca, 0xb6, 0xa4, 0xa4, 0x63, 0x14, 0xc8, 0x9b, 0xcc, 0x59, 0x28, 0x36, 0xfb, + 0x00, 0x95, 0xb2, 0xa3, 0x57, 0x98, 0xa0, 0x0b, 0x81, 0xdb, 0xa1, 0xf2, 0x0e, 0xbb, 0x7e, 0xc0, + 0x01, 0x1e, 0x65, 0x27, 0x45, 0x93, 0xe0, 0xf8, 0x82, 0xf6, 0x9f, 0xb2, 0xb0, 0xc9, 0x23, 0xbe, + 0x69, 0xe0, 0x3b, 0x46, 0x97, 0x10, 0x0e, 0x98, 0xa0, 0x31, 0xe3, 0x0c, 0x30, 0xa6, 0x89, 0x78, + 0x09, 0x7d, 0x87, 0x05, 0xed, 0xfe, 0xbe, 0x70, 0x43, 0x41, 0x43, 0x69, 0x6e, 0xa5, 0xbc, 0x68, + 0x2d, 0xcd, 0x38, 0xa3, 0x64, 0x5c, 0x47, 0x58, 0x92, 0x36, 0xdd, 0xb6, 0x1b, 0x78, 0x74, 0x23, + 0xf0, 0x8e, 0x58, 0xc8, 0x2b, 0x08, 0x98, 0xc7, 0xec, 0xe0, 0x3d, 0x34, 0x13, 0xba, 0xa1, 0x2f, + 0x7c, 0xca, 0x2b, 0xb3, 0x10, 0xb4, 0x9b, 0x39, 0x82, 0xe6, 0x48, 0xd1, 0xbe, 0x13, 0xa9, 0x90, + 0xf7, 0xa7, 0xd3, 0x6b, 0x0b, 0x1f, 0xa2, 0xf9, 0x30, 0x68, 0xf7, 0x2b, 0x17, 0xe0, 0xe8, 0x11, + 0x2a, 0x79, 0x5b, 0x57, 0x75, 0x03, 0x38, 0x0d, 0xf6, 0x05, 0x05, 0x08, 0xfe, 0x91, 0xcf, 0x65, + 0x31, 0x94, 0x15, 0x21, 0x26, 0x90, 0xba, 0x41, 0xe9, 0x9e, 0xbc, 0xdf, 0x89, 0xda, 0x07, 0xf7, + 0x3d, 0x2a, 0xba, 0x66, 0x49, 0x96, 0xd0, 0x45, 0xc5, 0xbf, 0x4f, 0x45, 0x02, 0xd3, 0x9c, 0x8a, + 0x88, 0x57, 0x2d, 0xc8, 0x1a, 0xba, 0x62, 0x38, 0x75, 0x41, 0x30, 0xfc, 0x8b, 0x68, 0x36, 0x2a, + 0x12, 0x91, 0x54, 0x92, 0x44, 0x6e, 0xa1, 0xcb, 0xda, 0x15, 0x55, 0x22, 0x8c, 0xa4, 0xf4, 0x45, + 0x51, 0x22, 0xb9, 0x98, 0x40, 0xbe, 0x29, 0x18, 0xb1, 0x3d, 0x55, 0xac, 0x8c, 0xd8, 0x35, 0x34, + 0x27, 0xfc, 0x0e, 0xe5, 0xc2, 0xed, 0x74, 0xb7, 0xd9, 0xd3, 0x40, 0x8b, 0xa6, 0x89, 0xd2, 0xac, + 0x88, 0xf0, 0x69, 0x17, 0x1e, 0x88, 0xa2, 0x93, 0x24, 0x49, 0x3d, 0x9e, 0x86, 0x8f, 0x7c, 0x29, + 0xd4, 0xfd, 0x2a, 0x3b, 0x69, 0x22, 0xae, 0xa2, 0x99, 0x90, 0x76, 0x99, 0x84, 0x0f, 0x14, 0xcf, + 0xb2, 0x13, 0xad, 0xf1, 0x07, 0x68, 0x9a, 0xf5, 0x84, 0xc7, 0x3a, 0x14, 0xee, 0xc0, 0xfc, 0x72, + 0x3d, 0x23, 0x32, 0x1e, 0x2a, 0x29, 0xc7, 0x88, 0x47, 0x95, 0xfc, 0x51, 0xdb, 0xed, 0xd3, 0x66, + 0xa5, 0x04, 0x89, 0x4d, 0x92, 0xf0, 0x47, 0xa8, 0xe4, 0xb7, 0x02, 0x16, 0x52, 0xb8, 0x28, 0xd9, + 0x4b, 0xdb, 0x2e, 0x08, 0x99, 0x10, 0x6a, 0x1d, 0xe4, 0xa7, 0x68, 0x2e, 0xb5, 0x21, 0x31, 0x62, + 0x5c, 0xb1, 0x00, 0x8f, 0x66, 0x29, 0xcb, 0xef, 0xf7, 0x46, 0xf2, 0xa0, 0xb1, 0xb8, 0x88, 0x66, + 0xf5, 0x3b, 0x92, 0x40, 0x63, 0x92, 0x84, 0x77, 0x34, 0xf2, 0x74, 0x21, 0x9c, 0x5d, 0x7e, 0x2b, + 0xa3, 0xd5, 0x0a, 0xbf, 0x46, 0x98, 0xfc, 0xb9, 0x80, 0xbe, 0x3f, 0x02, 0x3f, 0x9e, 0x40, 0x51, + 0x57, 0xbe, 0x96, 0x11, 0x14, 0xca, 0x4e, 0x4c, 0x90, 0x7e, 0xc1, 0x42, 0x43, 0xa0, 0xec, 0x98, + 0x25, 0xd4, 0x2f, 0xda, 0x6e, 0xeb, 0x77, 0x53, 0xd6, 0x2f, 0x58, 0x49, 0xfc, 0x37, 0x7a, 0xfd, + 0x28, 0xdb, 0x6a, 0x21, 0x1b, 0x0d, 0x69, 0x9d, 0x7e, 0x16, 0xe1, 0x1b, 0x7f, 0x8c, 0x4a, 0xaa, + 0x50, 0x43, 0x8d, 0x9b, 0x5f, 0x5e, 0xc9, 0x5a, 0xe5, 0x8d, 0x0f, 0xba, 0xdc, 0x6b, 0x2d, 0xf8, + 0xe1, 0x48, 0x8a, 0x6f, 0xe7, 0x4a, 0x71, 0x22, 0x32, 0x26, 0xcb, 0xeb, 0xe8, 0xe2, 0xe8, 0x1e, + 0xb8, 0xad, 0x8c, 0x56, 0x79, 0x36, 0x87, 0x1b, 0x07, 0x0b, 0x40, 0x85, 0x6f, 0xf2, 0x5b, 0xcb, + 0x74, 0x72, 0xc9, 0xb0, 0xeb, 0xec, 0x5f, 0x43, 0x73, 0x71, 0x73, 0xb0, 0xdb, 0xe4, 0x3a, 0xff, + 0x69, 0x22, 0x7e, 0x84, 0x50, 0x4c, 0xd0, 0x20, 0xb8, 0x91, 0x37, 0x4e, 0x4e, 0x42, 0x07, 0x79, + 0xdd, 0x14, 0xc6, 0x7d, 0x68, 0x9c, 0x0d, 0x0c, 0xe6, 0x51, 0xc1, 0x37, 0x55, 0xa4, 0xe0, 0x37, + 0xc9, 0x15, 0x53, 0x3d, 0x0c, 0x9b, 0x32, 0x9b, 0xfc, 0xd7, 0x32, 0xed, 0xa1, 0x6c, 0xa1, 0x8c, + 0xf4, 0x4e, 0x2a, 0x2a, 0xd9, 0x2f, 0xf2, 0xd6, 0x48, 0x0a, 0x09, 0xba, 0xa0, 0x62, 0xaf, 0xe8, + 0x3a, 0x9a, 0x29, 0x9a, 0xe4, 0x91, 0x25, 0x26, 0xf4, 0x1b, 0x3d, 0xc1, 0xa2, 0xb2, 0x93, 0xa2, + 0x25, 0x6b, 0x13, 0xd4, 0x7f, 0x78, 0xae, 0x8b, 0x4e, 0x9a, 0x18, 0xb7, 0x1f, 0x53, 0x89, 0xf6, + 0x83, 0xbc, 0x65, 0x1e, 0x01, 0xe5, 0xa0, 0x4e, 0x17, 0xc0, 0x5d, 0xc4, 0x79, 0xd2, 0x2b, 0xb2, + 0x82, 0x6a, 0xc0, 0xad, 0x1e, 0xaa, 0x6d, 0x9f, 0x2b, 0x23, 0x7c, 0x16, 0x9c, 0xfe, 0x20, 0xec, + 0xa3, 0xab, 0x27, 0xca, 0x25, 0xda, 0xf6, 0x5e, 0x18, 0xaa, 0xb6, 0xfd, 0xfc, 0xd2, 0x9c, 0x63, + 0x96, 0xd2, 0x98, 0xa7, 0x6e, 0x20, 0x68, 0x13, 0x10, 0x31, 0xe7, 0xe8, 0x15, 0x79, 0x67, 0xcc, + 0x14, 0xc0, 0x13, 0xcf, 0x98, 0x1a, 0x16, 0x8c, 0x0b, 0x66, 0x49, 0x44, 0xb2, 0x85, 0x8f, 0xc5, + 0xb4, 0x19, 0x9f, 0xa1, 0x29, 0x28, 0xa4, 0x20, 0x35, 0xbb, 0x7c, 0x3f, 0x63, 0x6a, 0x4f, 0x1c, + 0x47, 0x1c, 0xa5, 0x8e, 0xdc, 0x41, 0xaf, 0x29, 0x9e, 0x0d, 0x4f, 0xbe, 0x5a, 0x62, 0x27, 0x64, + 0x9d, 0xcf, 0xa9, 0xdb, 0xee, 0x27, 0x0c, 0xfe, 0xa5, 0x5c, 0x47, 0x03, 0x92, 0x59, 0x92, 0x35, + 0x1d, 0xf4, 0x31, 0xa2, 0x71, 0xec, 0xc6, 0xcf, 0x2b, 0xcb, 0xff, 0x58, 0x40, 0x53, 0x20, 0x8c, + 0xff, 0x62, 0xa1, 0x92, 0x9a, 0xd6, 0xf0, 0x9d, 0x3c, 0x4e, 0xa5, 0xc6, 0xc7, 0xea, 0xda, 0x24, + 0xa2, 0xfa, 0x32, 0xbd, 0xf3, 0xeb, 0x7f, 0xfd, 0xff, 0x77, 0x05, 0x1b, 0x5f, 0xb7, 0x8f, 0xe9, + 0xb0, 0xb7, 0x4e, 0x1c, 0xfc, 0xf1, 0x1f, 0x2d, 0x34, 0x05, 0x91, 0xc5, 0xab, 0xb9, 0x93, 0x61, + 0xcc, 0xb6, 0xb3, 0x3f, 0xb5, 0x5d, 0xc9, 0x40, 0xd6, 0xc1, 0xd6, 0x55, 0xbc, 0x92, 0xd1, 0xd6, + 0xc7, 0x07, 0xf2, 0xdb, 0x1e, 0x28, 0x90, 0x0d, 0xf1, 0x7f, 0x2c, 0x74, 0x21, 0x09, 0x07, 0x7c, + 0x6f, 0x72, 0x20, 0x29, 0x17, 0xce, 0x8c, 0x44, 0xb2, 0x03, 0x3e, 0xdd, 0xc7, 0xeb, 0xb9, 0x7c, + 0x3a, 0xd0, 0xd3, 0x73, 0xec, 0xdb, 0x1f, 0x64, 0x42, 0x64, 0xbf, 0x93, 0x33, 0x21, 0x89, 0x09, + 0xbb, 0xfa, 0x66, 0x46, 0x49, 0x29, 0x43, 0xee, 0x81, 0xe1, 0x77, 0xf0, 0xed, 0xcc, 0x86, 0xf7, + 0x38, 0x0d, 0xed, 0x81, 0xbe, 0x04, 0x43, 0xfc, 0xb5, 0x85, 0xe6, 0xd3, 0x23, 0x39, 0xde, 0xc8, + 0x1d, 0xce, 0xd1, 0x69, 0xbf, 0xba, 0x79, 0x16, 0x15, 0x3a, 0x27, 0xf9, 0x5d, 0x8b, 0xbe, 0x0f, + 0x7c, 0xe9, 0x07, 0xb8, 0x96, 0x1a, 0x3f, 0x73, 0xba, 0x36, 0x6e, 0x8a, 0xce, 0xe9, 0xda, 0xd8, + 0x49, 0x7b, 0x02, 0xd7, 0xd4, 0xef, 0x78, 0x07, 0xa1, 0xf6, 0xe3, 0xaf, 0x16, 0x2a, 0xa9, 0x81, + 0x26, 0x5f, 0xc5, 0x4a, 0x4d, 0xdd, 0xf9, 0x2a, 0x56, 0x7a, 0x7e, 0x22, 0x2b, 0xe0, 0xc2, 0x0d, + 0x5c, 0xcf, 0x95, 0x1d, 0x8e, 0xff, 0x24, 0x2d, 0x87, 0xae, 0x34, 0xa7, 0xe5, 0xc9, 0x49, 0xac, + 0x9a, 0xab, 0xfd, 0x25, 0xf7, 0xc1, 0xd6, 0x35, 0xbc, 0x9a, 0xd9, 0x56, 0xe8, 0x97, 0xed, 0x81, + 0x1e, 0xef, 0x86, 0xf8, 0xf7, 0x16, 0x2a, 0xca, 0x36, 0x00, 0xdf, 0xce, 0x65, 0x73, 0x3c, 0x0d, + 0x56, 0x73, 0x4c, 0x34, 0xdd, 0x7d, 0x2a, 0xc8, 0x5d, 0xb0, 0x79, 0x05, 0xdf, 0xca, 0x6c, 0x33, + 0xa7, 0xc2, 0x1e, 0x40, 0x4f, 0x31, 0xc4, 0xcf, 0x2c, 0x84, 0xe2, 0x5e, 0x13, 0xbf, 0x97, 0xd3, + 0xea, 0xf4, 0x64, 0x5a, 0xcd, 0xdd, 0x67, 0x92, 0x5d, 0xb0, 0x7e, 0x0b, 0x6f, 0xe4, 0xb0, 0xde, + 0xfc, 0x0c, 0x2c, 0x9d, 0x88, 0x66, 0xde, 0x21, 0xfe, 0x9b, 0x85, 0x66, 0xcc, 0xc0, 0x8b, 0xdf, + 0xcd, 0x87, 0xd8, 0xd4, 0x98, 0x9c, 0x39, 0x05, 0x5a, 0x8c, 0x6c, 0x83, 0x13, 0xeb, 0xf8, 0x6e, + 0x76, 0x88, 0x2b, 0x49, 0x7b, 0x10, 0x4d, 0xdf, 0x43, 0xfc, 0x77, 0x69, 0xbf, 0x99, 0x0e, 0xdf, + 0xcd, 0x0f, 0xf9, 0x68, 0x5e, 0xaf, 0xde, 0x9d, 0x4c, 0x58, 0x5f, 0xd8, 0x55, 0xf0, 0x66, 0x19, + 0xdf, 0xc8, 0x77, 0x09, 0x28, 0xc7, 0xff, 0xb6, 0xd0, 0x6c, 0x62, 0x70, 0xc1, 0xeb, 0x93, 0xa1, + 0x29, 0xf2, 0xe3, 0xde, 0xc4, 0xf2, 0xda, 0x95, 0x07, 0xe0, 0xca, 0x3d, 0xfc, 0xde, 0x04, 0xe8, + 0xe2, 0xf6, 0x40, 0x8d, 0x18, 0x43, 0xd9, 0x3d, 0x4d, 0xeb, 0xa9, 0x06, 0xaf, 0xe5, 0xb4, 0x29, + 0x31, 0x31, 0x55, 0x33, 0xff, 0x28, 0x09, 0x52, 0x13, 0xdd, 0x6c, 0x29, 0x68, 0x0f, 0xfc, 0xe6, + 0x10, 0xff, 0x53, 0x76, 0x18, 0xf0, 0xa3, 0xf5, 0x6a, 0xde, 0x52, 0x14, 0x25, 0xe0, 0xce, 0x04, + 0x92, 0x3a, 0xf4, 0x7b, 0x60, 0xfc, 0xfb, 0xf8, 0x41, 0x9e, 0xb2, 0x14, 0xc7, 0xdc, 0x1e, 0x24, + 0x27, 0xb8, 0x21, 0x7e, 0x65, 0x21, 0x7c, 0x7c, 0xf0, 0xc1, 0x0f, 0xf2, 0x18, 0x78, 0xe2, 0xc0, + 0x55, 0xdd, 0x39, 0xab, 0x1a, 0xed, 0xf4, 0x87, 0xe0, 0xf4, 0x36, 0xde, 0xcc, 0xe8, 0x34, 0xfc, + 0x46, 0xd9, 0x3f, 0x68, 0x26, 0x74, 0x45, 0x95, 0xf9, 0xb9, 0x85, 0xe6, 0x52, 0xe3, 0x15, 0x9e, + 0xb8, 0x7b, 0x8d, 0xf2, 0xb9, 0x71, 0x06, 0x0d, 0xda, 0xc5, 0x0f, 0xc0, 0xc5, 0x4d, 0x7c, 0x7f, + 0xa2, 0x06, 0x98, 0x9b, 0x0e, 0x58, 0xa5, 0xf4, 0xd2, 0xb1, 0x71, 0x0c, 0x6f, 0xe7, 0x32, 0xf1, + 0x84, 0x41, 0xb0, 0xfa, 0xe0, 0x8c, 0x5a, 0x26, 0x06, 0xb1, 0xab, 0x54, 0x1d, 0x1c, 0x86, 0xac, + 0x73, 0x00, 0xc3, 0xa7, 0x3d, 0xd0, 0x33, 0xe8, 0x70, 0xd3, 0x79, 0xf6, 0xa2, 0x66, 0x7d, 0xf5, + 0xa2, 0x66, 0xfd, 0xef, 0x45, 0xcd, 0xfa, 0xcd, 0xcb, 0xda, 0xb9, 0xaf, 0x5e, 0xd6, 0xce, 0x7d, + 0xfd, 0xb2, 0x76, 0xee, 0xf3, 0xd5, 0xc4, 0xbf, 0xac, 0x4e, 0x3b, 0xea, 0xcb, 0xe4, 0x3f, 0x29, + 0xfb, 0x5d, 0xca, 0x1b, 0x25, 0xf8, 0x47, 0xe5, 0xdb, 0xdf, 0x06, 0x00, 0x00, 0xff, 0xff, 0x21, + 0x83, 0x28, 0x4e, 0x9f, 0x1e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1841,6 +1936,8 @@ type QueryClient interface { RarityDistribution(ctx context.Context, in *QueryRarityDistributionRequest, opts ...grpc.CallOption) (*QueryRarityDistributionResponse, error) // Queries a list of QCardContents items. QCardContents(ctx context.Context, in *QueryQCardContentsRequest, opts ...grpc.CallOption) (*QueryQCardContentsResponse, error) + // Queries a list of QAccountFromZealy items. + QAccountFromZealy(ctx context.Context, in *QueryQAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryQAccountFromZealyResponse, error) } type queryClient struct { @@ -2004,6 +2101,15 @@ func (c *queryClient) QCardContents(ctx context.Context, in *QueryQCardContentsR return out, nil } +func (c *queryClient) QAccountFromZealy(ctx context.Context, in *QueryQAccountFromZealyRequest, opts ...grpc.CallOption) (*QueryQAccountFromZealyResponse, error) { + out := new(QueryQAccountFromZealyResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QAccountFromZealy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Parameters queries the parameters of the module. @@ -2040,6 +2146,8 @@ type QueryServer interface { RarityDistribution(context.Context, *QueryRarityDistributionRequest) (*QueryRarityDistributionResponse, error) // Queries a list of QCardContents items. QCardContents(context.Context, *QueryQCardContentsRequest) (*QueryQCardContentsResponse, error) + // Queries a list of QAccountFromZealy items. + QAccountFromZealy(context.Context, *QueryQAccountFromZealyRequest) (*QueryQAccountFromZealyResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -2097,6 +2205,9 @@ func (*UnimplementedQueryServer) RarityDistribution(ctx context.Context, req *Qu func (*UnimplementedQueryServer) QCardContents(ctx context.Context, req *QueryQCardContentsRequest) (*QueryQCardContentsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method QCardContents not implemented") } +func (*UnimplementedQueryServer) QAccountFromZealy(ctx context.Context, req *QueryQAccountFromZealyRequest) (*QueryQAccountFromZealyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QAccountFromZealy not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -2408,6 +2519,24 @@ func _Query_QCardContents_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Query_QAccountFromZealy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryQAccountFromZealyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).QAccountFromZealy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QAccountFromZealy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).QAccountFromZealy(ctx, req.(*QueryQAccountFromZealyRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "DecentralCardGame.cardchain.cardchain.Query", HandlerType: (*QueryServer)(nil), @@ -2480,6 +2609,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "QCardContents", Handler: _Query_QCardContents_Handler, }, + { + MethodName: "QAccountFromZealy", + Handler: _Query_QAccountFromZealy_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/query.proto", @@ -3808,6 +3941,66 @@ func (m *QueryQCardContentsResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } +func (m *QueryQAccountFromZealyRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryQAccountFromZealyRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQAccountFromZealyRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ZealyId) > 0 { + i -= len(m.ZealyId) + copy(dAtA[i:], m.ZealyId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.ZealyId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryQAccountFromZealyResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryQAccountFromZealyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQAccountFromZealyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -4368,6 +4561,32 @@ func (m *QueryQCardContentsResponse) Size() (n int) { return n } +func (m *QueryQAccountFromZealyRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ZealyId) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryQAccountFromZealyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -8213,6 +8432,170 @@ func (m *QueryQCardContentsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryQAccountFromZealyRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryQAccountFromZealyRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQAccountFromZealyRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ZealyId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ZealyId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryQAccountFromZealyResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryQAccountFromZealyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQAccountFromZealyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index 87affe52..a79bd419 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -877,6 +877,60 @@ func local_request_Query_QCardContents_0(ctx context.Context, marshaler runtime. } +func request_Query_QAccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQAccountFromZealyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["zealyId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") + } + + protoReq.ZealyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) + } + + msg, err := client.QAccountFromZealy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_QAccountFromZealy_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQAccountFromZealyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["zealyId"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "zealyId") + } + + protoReq.ZealyId, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "zealyId", err) + } + + msg, err := server.QAccountFromZealy(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -1274,6 +1328,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_QAccountFromZealy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_QAccountFromZealy_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_QAccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1655,6 +1732,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_QAccountFromZealy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_QAccountFromZealy_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_QAccountFromZealy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1692,6 +1789,8 @@ var ( pattern_Query_RarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "rarity_distribution", "setId"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_QCardContents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_card_contents", "cardIds"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_QAccountFromZealy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_account_from_zealy", "zealyId"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -1728,4 +1827,6 @@ var ( forward_Query_RarityDistribution_0 = runtime.ForwardResponseMessage forward_Query_QCardContents_0 = runtime.ForwardResponseMessage + + forward_Query_QAccountFromZealy_0 = runtime.ForwardResponseMessage ) From 58d53d10412148085c7228280e1527ad89f2359d Mon Sep 17 00:00:00 2001 From: lxgr-linux Date: Sun, 2 Jun 2024 13:36:25 +0200 Subject: [PATCH 4/4] feat(#224): removed zealy field in keeper --- x/cardchain/keeper/keeper.go | 631 +++++++++++++++++------------------ 1 file changed, 315 insertions(+), 316 deletions(-) diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 6c265c0f..d770e4cd 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -1,362 +1,361 @@ package keeper import ( - "encoding/json" - "fmt" - ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" - "github.com/cosmos/cosmos-sdk/types/errors" - "sort" - - gtk "github.com/DecentralCardGame/Cardchain/types/generic_type_keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/cardobject" - "github.com/DecentralCardGame/cardobject/keywords" - "github.com/cosmos/cosmos-sdk/codec" - storetypes "github.com/cosmos/cosmos-sdk/store/types" - sdk "github.com/cosmos/cosmos-sdk/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" - "github.com/tendermint/tendermint/libs/log" + "encoding/json" + "fmt" + ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/cosmos/cosmos-sdk/types/errors" + "sort" + + gtk "github.com/DecentralCardGame/Cardchain/types/generic_type_keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/DecentralCardGame/cardobject/cardobject" + "github.com/DecentralCardGame/cardobject/keywords" + "github.com/cosmos/cosmos-sdk/codec" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/tendermint/tendermint/libs/log" ) // Keeper Yeah the keeper type Keeper struct { - cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. - UsersStoreKey storetypes.StoreKey - zealyStoreKey storetypes.StoreKey - InternalStoreKey storetypes.StoreKey - paramstore paramtypes.Subspace - - Cards gtk.GenericTypeKeeper[*types.Card] - Councils gtk.GenericTypeKeeper[*types.Council] - SellOffers gtk.GenericTypeKeeper[*types.SellOffer] - Sets gtk.GenericTypeKeeper[*types.Set] - Matches gtk.GenericTypeKeeper[*types.Match] - Servers gtk.GenericTypeKeeper[*types.Server] - RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] - Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] - Images gtk.GenericTypeKeeper[*types.Image] - Zealy gtk.GenericTypeKeeper[*types.Zealy] - - FeatureFlagModuleInstance ffKeeper.ModuleInstance - BankKeeper types.BankKeeper + cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. + UsersStoreKey storetypes.StoreKey + zealyStoreKey storetypes.StoreKey + InternalStoreKey storetypes.StoreKey + paramstore paramtypes.Subspace + + Cards gtk.GenericTypeKeeper[*types.Card] + Councils gtk.GenericTypeKeeper[*types.Council] + SellOffers gtk.GenericTypeKeeper[*types.SellOffer] + Sets gtk.GenericTypeKeeper[*types.Set] + Matches gtk.GenericTypeKeeper[*types.Match] + Servers gtk.GenericTypeKeeper[*types.Server] + RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] + Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] + Images gtk.GenericTypeKeeper[*types.Image] + + FeatureFlagModuleInstance ffKeeper.ModuleInstance + BankKeeper types.BankKeeper } // NewKeeper Constructor for Keeper func NewKeeper( - cdc codec.BinaryCodec, - usersStoreKey, - cardsStoreKey storetypes.StoreKey, - matchesStorekey storetypes.StoreKey, - setsStoreKey storetypes.StoreKey, - sellOffersStoreKey storetypes.StoreKey, - poolsStoreKey storetypes.StoreKey, - councilsStoreKey storetypes.StoreKey, - runningAveragesStoreKey storetypes.StoreKey, - imagesStorekey storetypes.StoreKey, - serversStoreKey storetypes.StoreKey, - zealyStoreKey storetypes.StoreKey, - internalStoreKey storetypes.StoreKey, - ps paramtypes.Subspace, - - featureFlagKeeper types.FeatureFlagKeeper, - bankKeeper types.BankKeeper, + cdc codec.BinaryCodec, + usersStoreKey, + cardsStoreKey storetypes.StoreKey, + matchesStorekey storetypes.StoreKey, + setsStoreKey storetypes.StoreKey, + sellOffersStoreKey storetypes.StoreKey, + poolsStoreKey storetypes.StoreKey, + councilsStoreKey storetypes.StoreKey, + runningAveragesStoreKey storetypes.StoreKey, + imagesStorekey storetypes.StoreKey, + serversStoreKey storetypes.StoreKey, + zealyStoreKey storetypes.StoreKey, + internalStoreKey storetypes.StoreKey, + ps paramtypes.Subspace, + + featureFlagKeeper types.FeatureFlagKeeper, + bankKeeper types.BankKeeper, ) *Keeper { - // set KeyTable if it has not already been set - if !ps.HasKeyTable() { - ps = ps.WithKeyTable(types.ParamKeyTable()) - } - - return &Keeper{ - cdc: cdc, - UsersStoreKey: usersStoreKey, - zealyStoreKey: zealyStoreKey, - InternalStoreKey: internalStoreKey, - paramstore: ps, - - Cards: gtk.NewGTK[*types.Card](cardsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Card]), - Councils: gtk.NewGTK[*types.Council](councilsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Council]), - SellOffers: gtk.NewGTK[*types.SellOffer](sellOffersStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.SellOffer]), - Sets: gtk.NewGTK[*types.Set](setsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Set]), - Matches: gtk.NewGTK[*types.Match](matchesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Match]), - RunningAverages: gtk.NewKGTK[*types.RunningAverage](runningAveragesStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), - Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), - Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), - Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), - - FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), - BankKeeper: bankKeeper, - } + // set KeyTable if it has not already been set + if !ps.HasKeyTable() { + ps = ps.WithKeyTable(types.ParamKeyTable()) + } + + return &Keeper{ + cdc: cdc, + UsersStoreKey: usersStoreKey, + zealyStoreKey: zealyStoreKey, + InternalStoreKey: internalStoreKey, + paramstore: ps, + + Cards: gtk.NewGTK[*types.Card](cardsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Card]), + Councils: gtk.NewGTK[*types.Council](councilsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Council]), + SellOffers: gtk.NewGTK[*types.SellOffer](sellOffersStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.SellOffer]), + Sets: gtk.NewGTK[*types.Set](setsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Set]), + Matches: gtk.NewGTK[*types.Match](matchesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Match]), + RunningAverages: gtk.NewKGTK[*types.RunningAverage](runningAveragesStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), + Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), + Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), + Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), + + FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), + BankKeeper: bankKeeper, + } } // Logger Tendermint logger for logging in the cosmos log func (k Keeper) Logger(ctx sdk.Context) log.Logger { - return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) + return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) } // TransferSchemeToCard Makes a users cardscheme a card func (k Keeper) TransferSchemeToCard(ctx sdk.Context, cardId uint64, user *User) (err error) { - user.OwnedCardSchemes, err = PopItemFromArr(cardId, user.OwnedCardSchemes) - if err != nil { - return errors.ErrUnauthorized - } + user.OwnedCardSchemes, err = PopItemFromArr(cardId, user.OwnedCardSchemes) + if err != nil { + return errors.ErrUnauthorized + } - user.OwnedPrototypes = append(user.OwnedPrototypes, cardId) - return nil + user.OwnedPrototypes = append(user.OwnedPrototypes, cardId) + return nil } type candidate struct { - id uint64 - votes int64 + id uint64 + votes int64 } // SetLastVotingResults Sets the last voting results func (k Keeper) SetLastVotingResults(ctx sdk.Context, results types.VotingResults) { - store := ctx.KVStore(k.InternalStoreKey) - store.Set([]byte("lastVotingResults"), k.cdc.MustMarshal(&results)) + store := ctx.KVStore(k.InternalStoreKey) + store.Set([]byte("lastVotingResults"), k.cdc.MustMarshal(&results)) } // GetLastVotingResults Returns the current price of the card scheme auction func (k Keeper) GetLastVotingResults(ctx sdk.Context) (results types.VotingResults) { - store := ctx.KVStore(k.InternalStoreKey) - bz := store.Get([]byte("lastVotingResults")) - k.cdc.MustUnmarshal(bz, &results) - return + store := ctx.KVStore(k.InternalStoreKey) + bz := store.Get([]byte("lastVotingResults")) + k.cdc.MustUnmarshal(bz, &results) + return } // NerfBuffCards Nerfes or buffs certain cards // TODO maybe the whole auto balancing stuff should be moved into its own file func (k Keeper) NerfBuffCards(ctx sdk.Context, cardIds []uint64, buff bool) { - if len(cardIds) > 0 { - k.SetLastCardModifiedNow(ctx) - } - - for _, val := range cardIds { - buffCard := k.Cards.Get(ctx, val) - - cardobj, err := keywords.Unmarshal(buffCard.Content) - if err != nil { - k.Logger(ctx).Error("error on card content:", err, "with card", buffCard.Content) - } - - if buffCard.BalanceAnchor { - continue - } - - buffnerfCost := func(cost *cardobject.CastingCost) { - update := *cost - if buff { - update -= 1 - } else { - update += 1 - } - // only apply the buffed/nerfed value if the new value validates without error - if update.ValidateType(nil) == nil { - *cost = update - } - } - - if cardobj.Action != nil { - buffnerfCost(&cardobj.Action.CastingCost) - } - if cardobj.Entity != nil { - buffnerfCost(&cardobj.Entity.CastingCost) - } - if cardobj.Place != nil { - buffnerfCost(&cardobj.Place.CastingCost) - } - if cardobj.Headquarter != nil { - updateHealth := cardobj.Headquarter.Health - updateDelay := cardobj.Headquarter.Delay - if buff { - updateDelay -= 1 - updateHealth += 1 - } else { - updateDelay += 1 - updateHealth -= 1 - } - if updateDelay.ValidateType(nil) == nil { - cardobj.Headquarter.Delay = updateDelay - } - if updateHealth.ValidateType(nil) == nil { - cardobj.Headquarter.Health = updateHealth - } - } - - cardJSON, _ := json.Marshal(cardobj) - buffCard.Content = cardJSON - - if buff { - buffCard.Nerflevel -= 1 - } else { - buffCard.Nerflevel += 1 - } - - k.Cards.Set(ctx, val, buffCard) - } + if len(cardIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } + + for _, val := range cardIds { + buffCard := k.Cards.Get(ctx, val) + + cardobj, err := keywords.Unmarshal(buffCard.Content) + if err != nil { + k.Logger(ctx).Error("error on card content:", err, "with card", buffCard.Content) + } + + if buffCard.BalanceAnchor { + continue + } + + buffnerfCost := func(cost *cardobject.CastingCost) { + update := *cost + if buff { + update -= 1 + } else { + update += 1 + } + // only apply the buffed/nerfed value if the new value validates without error + if update.ValidateType(nil) == nil { + *cost = update + } + } + + if cardobj.Action != nil { + buffnerfCost(&cardobj.Action.CastingCost) + } + if cardobj.Entity != nil { + buffnerfCost(&cardobj.Entity.CastingCost) + } + if cardobj.Place != nil { + buffnerfCost(&cardobj.Place.CastingCost) + } + if cardobj.Headquarter != nil { + updateHealth := cardobj.Headquarter.Health + updateDelay := cardobj.Headquarter.Delay + if buff { + updateDelay -= 1 + updateHealth += 1 + } else { + updateDelay += 1 + updateHealth -= 1 + } + if updateDelay.ValidateType(nil) == nil { + cardobj.Headquarter.Delay = updateDelay + } + if updateHealth.ValidateType(nil) == nil { + cardobj.Headquarter.Health = updateHealth + } + } + + cardJSON, _ := json.Marshal(cardobj) + buffCard.Content = cardJSON + + if buff { + buffCard.Nerflevel -= 1 + } else { + buffCard.Nerflevel += 1 + } + + k.Cards.Set(ctx, val, buffCard) + } } // UpdateBanStatus Bans cards func (k Keeper) UpdateBanStatus(ctx sdk.Context, newBannedIds []uint64) { - var err error - // go through all cards and find already marked cards - iter := k.Cards.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, gottenCard := iter.Value() - if gottenCard.Status == types.Status_bannedVerySoon { - gottenUser, _ := k.GetUserFromString(ctx, gottenCard.Owner) - - // remove the card from the Cards store - var emptyCard types.Card - k.Cards.Set(ctx, idx, &emptyCard) - - // remove the card from the ownedCards of the owner - gottenUser.OwnedPrototypes, err = PopItemFromArr(idx, gottenUser.OwnedPrototypes) - if err == nil { - k.SetUserFromUser(ctx, gottenUser) - } else { - k.Logger(ctx).Error(fmt.Sprintf("trying to delete card id: %d of owner %s but does not exist", idx, gottenUser.Addr)) - } - } else if gottenCard.Status == types.Status_bannedSoon { - gottenCard.Status = types.Status_bannedVerySoon - k.Cards.Set(ctx, idx, gottenCard) - } - } - - // mark freshly banned cards - for _, id := range newBannedIds { - banCard := k.Cards.Get(ctx, id) - banCard.Status = types.Status_bannedSoon - k.Cards.Set(ctx, id, banCard) - } - - if len(newBannedIds) > 0 { - k.SetLastCardModifiedNow(ctx) - } + var err error + // go through all cards and find already marked cards + iter := k.Cards.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, gottenCard := iter.Value() + if gottenCard.Status == types.Status_bannedVerySoon { + gottenUser, _ := k.GetUserFromString(ctx, gottenCard.Owner) + + // remove the card from the Cards store + var emptyCard types.Card + k.Cards.Set(ctx, idx, &emptyCard) + + // remove the card from the ownedCards of the owner + gottenUser.OwnedPrototypes, err = PopItemFromArr(idx, gottenUser.OwnedPrototypes) + if err == nil { + k.SetUserFromUser(ctx, gottenUser) + } else { + k.Logger(ctx).Error(fmt.Sprintf("trying to delete card id: %d of owner %s but does not exist", idx, gottenUser.Addr)) + } + } else if gottenCard.Status == types.Status_bannedSoon { + gottenCard.Status = types.Status_bannedVerySoon + k.Cards.Set(ctx, idx, gottenCard) + } + } + + // mark freshly banned cards + for _, id := range newBannedIds { + banCard := k.Cards.Get(ctx, id) + banCard.Status = types.Status_bannedSoon + k.Cards.Set(ctx, id, banCard) + } + + if len(newBannedIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } } // GetOPandUPCards Gets OP and UP cards func (k Keeper) GetOPandUPCards(ctx sdk.Context) (buffbois []uint64, nerfbois []uint64, fairbois []uint64, banbois []uint64) { - var OPcandidates []candidate - var UPcandidates []candidate - var IAcandidates []candidate - - //var votingResults VotingResults - votingResults := types.NewVotingResults() - - var uUP float64 = 0 - var uOP float64 = 0 - - // go through all cards and collect candidates - iter := k.Cards.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - id, gottenCard := iter.Value() - - nettoOP := int64(gottenCard.OverpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.UnderpoweredVotes) - nettoUP := int64(gottenCard.UnderpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes) - nettoIA := int64(gottenCard.InappropriateVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes - gottenCard.UnderpoweredVotes) - - votingResults.TotalFairEnoughVotes += gottenCard.FairEnoughVotes - votingResults.TotalOverpoweredVotes += gottenCard.OverpoweredVotes - votingResults.TotalUnderpoweredVotes += gottenCard.UnderpoweredVotes - votingResults.TotalInappropriateVotes += gottenCard.InappropriateVotes - votingResults.TotalVotes += gottenCard.FairEnoughVotes + gottenCard.OverpoweredVotes + gottenCard.UnderpoweredVotes + gottenCard.InappropriateVotes - - // all candidates are added to the results log - if nettoIA > 0 || nettoOP > 0 || nettoUP > 0 { - votingResults.CardResults = append(votingResults.CardResults, &types.VotingResult{ - CardId: id, - FairEnoughVotes: gottenCard.FairEnoughVotes, - OverpoweredVotes: gottenCard.OverpoweredVotes, - UnderpoweredVotes: gottenCard.UnderpoweredVotes, - InappropriateVotes: gottenCard.InappropriateVotes, - Result: "fair_enough", - }) - - // sort candidates into the specific arrays - if nettoIA > 1 { - IAcandidates = append(IAcandidates, candidate{id: id, votes: nettoIA}) - } else if nettoOP > 0 { - uOP += float64(nettoOP) - OPcandidates = append(OPcandidates, candidate{id: id, votes: nettoOP}) - } else if nettoUP > 0 { - uUP += float64(nettoUP) - UPcandidates = append(UPcandidates, candidate{id: id, votes: nettoUP}) - } - } - } - - // go through all OP candidates and calculate the cutoff value and collect all above this value - if len(OPcandidates) > 0 { - // µ is the average, so it must be divided by n, but we can do this only after all cards are counted - uOP /= float64(len(OPcandidates)) - - sort.Slice(OPcandidates, func(i, j int) bool { - return OPcandidates[i].votes < OPcandidates[j].votes - }) - - var giniOPsum float64 - for i := 1; i <= len(OPcandidates); i++ { - giniOPsum += float64(OPcandidates[i-1].votes) * float64(2*i-len(OPcandidates)-1) - } - - giniOP := giniOPsum / float64(len(OPcandidates)*len(OPcandidates)) / uOP - cutvalue := giniOP * float64(OPcandidates[len(OPcandidates)-1].votes) - - for i := 0; i < len(OPcandidates); i++ { - if float64(OPcandidates[i].votes) > cutvalue { - nerfbois = append(nerfbois, OPcandidates[i].id) - } else { - fairbois = append(fairbois, OPcandidates[i].id) - } - } - } - // go through all UP candidates and calculate the cutoff value and collect all above this value - if len(UPcandidates) > 0 { - uUP /= float64(len(UPcandidates)) - - sort.Slice(UPcandidates, func(i, j int) bool { - return UPcandidates[i].votes < UPcandidates[j].votes - }) - - var giniUPsum float64 - for i := 1; i <= len(UPcandidates); i++ { - giniUPsum += float64(UPcandidates[i-1].votes) * float64(2*i-len(UPcandidates)-1) - } - - giniUP := giniUPsum / float64(len(UPcandidates)*len(UPcandidates)) / uUP - cutvalue := giniUP * float64(UPcandidates[len(UPcandidates)-1].votes) - - for i := 0; i < len(UPcandidates); i++ { - if float64(UPcandidates[i].votes) > cutvalue { - buffbois = append(buffbois, UPcandidates[i].id) - } else { - fairbois = append(fairbois, UPcandidates[i].id) - } - } - } - // go through all IA candidates and collect them (there is no cutoff here) - if len(IAcandidates) > 0 { - for i := 0; i < len(IAcandidates); i++ { - banbois = append(banbois, IAcandidates[i].id) - } - } - - // add the result to the voting log - allBois := [][]uint64{buffbois, nerfbois, banbois} - boisCodes := []string{"buff", "nerf", "ban"} - - for i := 0; i < len(votingResults.CardResults); i++ { - for idx, boisCode := range boisCodes { - for _, bois := range allBois[idx] { - if votingResults.CardResults[i].CardId == bois { - votingResults.CardResults[i].Result = boisCode - } - } - } - } - - // and save the log - k.SetLastVotingResults(ctx, votingResults) - - return + var OPcandidates []candidate + var UPcandidates []candidate + var IAcandidates []candidate + + //var votingResults VotingResults + votingResults := types.NewVotingResults() + + var uUP float64 = 0 + var uOP float64 = 0 + + // go through all cards and collect candidates + iter := k.Cards.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + id, gottenCard := iter.Value() + + nettoOP := int64(gottenCard.OverpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.UnderpoweredVotes) + nettoUP := int64(gottenCard.UnderpoweredVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes) + nettoIA := int64(gottenCard.InappropriateVotes - gottenCard.FairEnoughVotes - gottenCard.OverpoweredVotes - gottenCard.UnderpoweredVotes) + + votingResults.TotalFairEnoughVotes += gottenCard.FairEnoughVotes + votingResults.TotalOverpoweredVotes += gottenCard.OverpoweredVotes + votingResults.TotalUnderpoweredVotes += gottenCard.UnderpoweredVotes + votingResults.TotalInappropriateVotes += gottenCard.InappropriateVotes + votingResults.TotalVotes += gottenCard.FairEnoughVotes + gottenCard.OverpoweredVotes + gottenCard.UnderpoweredVotes + gottenCard.InappropriateVotes + + // all candidates are added to the results log + if nettoIA > 0 || nettoOP > 0 || nettoUP > 0 { + votingResults.CardResults = append(votingResults.CardResults, &types.VotingResult{ + CardId: id, + FairEnoughVotes: gottenCard.FairEnoughVotes, + OverpoweredVotes: gottenCard.OverpoweredVotes, + UnderpoweredVotes: gottenCard.UnderpoweredVotes, + InappropriateVotes: gottenCard.InappropriateVotes, + Result: "fair_enough", + }) + + // sort candidates into the specific arrays + if nettoIA > 1 { + IAcandidates = append(IAcandidates, candidate{id: id, votes: nettoIA}) + } else if nettoOP > 0 { + uOP += float64(nettoOP) + OPcandidates = append(OPcandidates, candidate{id: id, votes: nettoOP}) + } else if nettoUP > 0 { + uUP += float64(nettoUP) + UPcandidates = append(UPcandidates, candidate{id: id, votes: nettoUP}) + } + } + } + + // go through all OP candidates and calculate the cutoff value and collect all above this value + if len(OPcandidates) > 0 { + // µ is the average, so it must be divided by n, but we can do this only after all cards are counted + uOP /= float64(len(OPcandidates)) + + sort.Slice(OPcandidates, func(i, j int) bool { + return OPcandidates[i].votes < OPcandidates[j].votes + }) + + var giniOPsum float64 + for i := 1; i <= len(OPcandidates); i++ { + giniOPsum += float64(OPcandidates[i-1].votes) * float64(2*i-len(OPcandidates)-1) + } + + giniOP := giniOPsum / float64(len(OPcandidates)*len(OPcandidates)) / uOP + cutvalue := giniOP * float64(OPcandidates[len(OPcandidates)-1].votes) + + for i := 0; i < len(OPcandidates); i++ { + if float64(OPcandidates[i].votes) > cutvalue { + nerfbois = append(nerfbois, OPcandidates[i].id) + } else { + fairbois = append(fairbois, OPcandidates[i].id) + } + } + } + // go through all UP candidates and calculate the cutoff value and collect all above this value + if len(UPcandidates) > 0 { + uUP /= float64(len(UPcandidates)) + + sort.Slice(UPcandidates, func(i, j int) bool { + return UPcandidates[i].votes < UPcandidates[j].votes + }) + + var giniUPsum float64 + for i := 1; i <= len(UPcandidates); i++ { + giniUPsum += float64(UPcandidates[i-1].votes) * float64(2*i-len(UPcandidates)-1) + } + + giniUP := giniUPsum / float64(len(UPcandidates)*len(UPcandidates)) / uUP + cutvalue := giniUP * float64(UPcandidates[len(UPcandidates)-1].votes) + + for i := 0; i < len(UPcandidates); i++ { + if float64(UPcandidates[i].votes) > cutvalue { + buffbois = append(buffbois, UPcandidates[i].id) + } else { + fairbois = append(fairbois, UPcandidates[i].id) + } + } + } + // go through all IA candidates and collect them (there is no cutoff here) + if len(IAcandidates) > 0 { + for i := 0; i < len(IAcandidates); i++ { + banbois = append(banbois, IAcandidates[i].id) + } + } + + // add the result to the voting log + allBois := [][]uint64{buffbois, nerfbois, banbois} + boisCodes := []string{"buff", "nerf", "ban"} + + for i := 0; i < len(votingResults.CardResults); i++ { + for idx, boisCode := range boisCodes { + for _, bois := range allBois[idx] { + if votingResults.CardResults[i].CardId == bois { + votingResults.CardResults[i].Result = boisCode + } + } + } + } + + // and save the log + k.SetLastVotingResults(ctx, votingResults) + + return }